2012-08-03 2 views
0

시스템 디렉토리에 C++ win32 dll을 복사하는 C# MSI 설치 프로그램을 만들었습니다. 윈도우 7, 윈도우 서버 2008 R2 및 윈도우 서버 2003 R2에 잘 설치됩니다.Windows Server 2003 R2에서 MSI 제거로 win32 DLL이 제거되지 않음

그러나, 제거는 다른 행동 묘사 - 윈도우 7을 : 제거는 C++ DLL 제거 - 윈도우 서버 2008 R2에를 : 제거는 C++ DLL 을 제거 - 윈도우 서버 2003 R2에 다음 C를 제거하지 않았다 제거 ++ DLL

이전 버전 제거를 true로 설정하면 C++ dll을 설치 프로그램에서 새 버전으로 대체해야합니다. 그러나 Windows Server 2003 R2에서는 대체되지 않습니다.

이전에 본 사람이 있습니까? 여기 놀이

답변

1

두 가지를 알려 주시기 바랍니다 :

먼저, SystemFolder (SYSTEM32 \ syswow64로)에 DLL을 설치하는 경우 설치 제거해서는 안됩니다. Microsoft Best Practices는 여기에 설치된 파일이 영구적이어야 함을 나타냅니다.

ICE09

둘째, 당신은 Default File Versioning 규칙을 알고 있어야합니다. 설치 및 업그레이드하는 동안 MSI는 파일 버전을보고이를 사용하여 파일을 덮어 쓸지 여부를 결정합니다. DLL을 재구성하고 파일을 적절히 버전 화하지 않으면 예상 한 결과를 얻지 못할 수 있습니다.

관련 문제