추가해야합니다 : dll을 \ system32 \에 넣지 않아야합니다! 코드를 수정하고 설치 프로그램을 수정하십시오. c : \ windows \ 아래에없는 비트의 홈을 찾으십시오.
예를 들어 설치 관리자는 dll을 다음 위치에 넣습니다.
\program files\<your app dir>\
or
\program files\common files\<your app name>\
( 참고 : 실제로 이렇게하는 방법 은 var : % ProgramFiles % 또는 % ProgramFiles (x86) % 환경을 사용하여 Program Files가있는 위치를 찾는 것입니다. c : \ program files \로 가정하지 마십시오. ..)
그런 다음 레지스트리 태그를 설정합니다.
HKLM\software\<your app name>
-- dllLocation
dll을 사용하는 코드는 레지스트리를 읽은 다음 해당 위치의 dll에 동적으로 링크합니다.
위의 방법은 현명한 방법입니다.
dll 또는 타사 dll을 \ system32 \ 또는 \ syswow64에 설치하지 마십시오. 정적으로로드 해야하는 경우 dll을 exe dir (찾을 위치)에 넣습니다. exe dir을 예측할 수없는 경우 (예 : 다른 exe가 dll을 호출 할 예정인 경우) dll dir을 검색 경로에 넣어야 할 수도 있습니다.
system32 및 syswow64는 Windows 제공 파일 용이며 다른 사람 용 파일이 아닙니다 . 사람들이 물건을 넣는 나쁜 습관에 빠진 유일한 이유는 그것이 항상 검색 경로에 있고 많은 앱 / 모듈이 정적 링크를 사용하기 때문입니다. (실제로 죄에 도달하면 진정한 죄는 정적 연결입니다. 이것은 네이티브 코드와 관리 코드의 죄입니다. 항상 항상 동적으로 연결됩니다!)