私の WiX インストーラー (Wix 3.10、MSI 4.5) はMajorUpgrade
更新に使用します。インストールするファイルはheat.exe
ビルド前に収集されます。現在の (古い) msi ファイルには、ファイル バージョン、製品バージョン、最終書き込み時刻 を持つファイルnlog.dll
(NuGet パッケージに付属) が含まれています。v4.1.0
4.1.0.0
4.1.0
2015-09-01
nlog チームはいくつかの重大な命名の問題に遭遇したため、更新された NuGet パッケージ を公開しました。これには、製品バージョンが に増加した一方で、ファイル バージョンが に減少しv4.1.1
た更新プログラムが含まれています。最終書き込み時間はです。nlog.dll
4.0.0.0
4.1.1
2015-09-14
ロビーがここで行ったように、関連する問題が発生しています: wix メジャー アップグレードでは、すべてのファイルがインストールされません: 新しい msi パッケージをインストールしてメジャー アップグレードを実行すると、現在nlog.dll
(ファイル バージョンによっては新しいものですが、古いものです)ファイルの日付と製品バージョンによると) は削除されていますが、新しいnlog.dll
ものはインストールされていません。
ただし、Schedule="afterInstallExecute"
orSchedule="afterInstallFinalize"
を提案どおりに使用しても、うまくいきません。ロビーの場合のように、新しいファイルを削除して古いファイルをインストールしない代わりに、現在のファイルを上書きせず、その場所にそのまま残します。
簡単に言えば、ファイル/製品/アセンブリのバージョン管理に関係なく、インストーラーに付属のすべてのファイルを単純にインストールしてもらいたいのです。新しいファイルを古いファイルに置き換えることが望ましい場合があります。ファイルのバージョン/日付を無視するようにインストーラー エンジンに指示することはできませんか? そうでない場合、どのような選択肢がありますか?