Saya harus menambahkan: Anda tidak harus menempatkan dll Anda ke \ system32 \ toh! Ubah kode Anda, modifikasi pemasang Anda ... temukan rumah untuk bit Anda yang TIDAK berada di bawah c: \ windows \
Sebagai contoh, installer Anda menempatkan dll Anda ke:
\program files\<your app dir>\
or
\program files\common files\<your app name>\
( Catatan : Cara Anda benar-benar melakukan ini adalah dengan menggunakan lingkungan var:% ProgramFiles% atau% ProgramFiles (x86)% untuk menemukan di mana File Program .... Anda tidak menganggap itu c: \ program file \ .. ..)
dan kemudian menetapkan tag registri:
HKLM\software\<your app name>
-- dllLocation
Kode yang menggunakan dll Anda membaca registri, lalu secara dinamis menautkan ke dll di lokasi itu.
Di atas adalah cara cerdas untuk melakukannya.
Anda tidak pernah menginstal dll, atau pihak ketiga dll ke \ system32 \ atau \ syswow64. Jika Anda harus memuat secara statis, Anda meletakkan dll Anda di dir exe Anda (di mana mereka akan ditemukan). Jika Anda tidak dapat memprediksi dir exe (mis. Exe lain akan memanggil dll Anda), Anda mungkin harus meletakkan dir dll Anda ke jalur pencarian (hindari ini jika sama sekali poss!)
system32 dan syswow64 untuk file yang disediakan Windows ... bukan untuk siapa pun file lain . Satu-satunya alasan orang memiliki kebiasaan buruk menaruh barang di sana adalah karena selalu ada di jalur pencarian, dan banyak aplikasi / modul menggunakan tautan statis. (Jadi, jika Anda benar-benar melakukannya, dosa sebenarnya adalah tautan statis - ini adalah dosa dalam kode asli dan kode terkelola - selalu selalu selalu terhubung secara dinamis!)