0

C++ win32 dll をシステム ディレクトリにコピーする C# MSI インストーラを作成しました。Windows 7、Windows Server 2008 R2、および Windows Server 2003 R2 に正常にインストールされます。

ただし、アンインストールは異なる動作を示します - Windows 7: アンインストールにより C++ dll が削除されました - Windows Server 2008 R2: アンインストールにより C++ DLL が削除されました - Windows Server 2003 R2: アンインストールにより C++ DLL が削除されませんでした

remove prev version が true に設定されている場合、インストーラーによって C++ dll が新しいバージョンに置き換えられることが予想されます。ただし、Windows Server 2003 R2 では置き換えられません。

誰もこれを前に見ましたか?お知らせ下さい

4

1 に答える 1

1

ここでの 2 つのこと:

まず、DLL を SystemFolder (System32\SysWow64) にインストールする場合は、決してアンインストールしないでください。Microsoft のベスト プラクティスでは、ここにインストールされたファイルは永続的である必要があると規定されています。

ICE09

次に、デフォルトのファイル バージョニングルールを理解していることを確認します。インストールおよびアップグレード中に、MSI はファイル バージョンを確認し、それを使用してファイルを上書きするかどうかを決定します。DLL を再構築していて、ファイルのバージョン管理が正しく行われていない場合、期待した結果が得られません。

于 2012-08-03T23:45:08.543 に答える