1

エクスプローラーで使用されることになったdllをインストールするインストーラーがあります。そのdllを変更または上書きするには、エクスプローラーを再起動する必要がありますが、これは醜いです。

Wix ProductVersionをインクリメントしますが(たとえば4.0から4.1に)、そのdllに関連するファイルを変更しない場合(dllのバージョンは変更されません)、MSI/Wixにそのdllの変更を試みさせたくありません。最後のMSIと現在実行されているMSIの間で変更されたファイルのみをインストールするようにMSI/Wixに指示する方法はありますか?

現在、私のmsiはRestart Managerを介してExplorerを再起動することになります。これは、Explorerが使用中のファイル(dll)を保持しており、そのファイルに意味のある変更がない場合でもWixが変更したいためです。

ありがとう

4

2 に答える 2

1

WiXインストーラーのアップグレードを実装する方法に関するBrianGillespieの回答はあり ますか?RemoveExistingProducts(後のスケジューリングについてInstallFinalize)これを解決しますか?

于 2012-11-16T00:49:16.517 に答える
0

アップグレードを使用しますか? MikeBazの提案に従って、スケジュールを設定RemoveExistingProductsしてみてください。この場合、新しいバージョンがインストールされてから古いバージョンがアンインストールされるため、バージョンが変更されていなければ、DLL は変更されないままです。InstallFinalize

RemoveExistingProductsが の前にスケジュールされている場合InstallInitialize、古いバージョンが完全にアンインストールされてから、新しいバージョンがインストールされます。この場合、古いバージョンをアンインストールするときに DLL を削除し、新しいバージョンで再度 (再) インストールする必要があります。

于 2012-11-16T07:31:39.590 に答える