最近、Microsoft は、Visual Studio 2012 Update 1 で Windows XP のサポートを終了するという決定を撤回しました。製品マネージャーから、提供されている Visual Studio 2012 コンパイラの使用に移行できると言われました。
- Windows XP のお客様は引き続きサポートいたします。
- Windows XP SP3 以外の追加の前提条件は導入していません (一部の顧客とはその旨の契約を結んでいるため)。
VC2012 XP ツール セットを使用するようにソリューションを変換しようとしましたが、コードの観点からすべてがうまく機能するようになりました。しかし、私たちの WiX インストーラー プロジェクトは、現在 VC2012 ランタイム マージ モジュールを含めようとしており、これらは Windows インストーラー 4.5 しかサポートしていないという事実について不満を述べていました。このバージョンの Windows インストーラーは Windows XP SP3 では利用できませんでした。そのため、お客様が当社の製品をインストールできるようにするには、Windows インストーラー 4.5 再頒布可能パッケージをインストールする必要があります。
この問題を回避しながら、Windows Installer 3.0 をサポートする方法でこれらのマージ モジュールを引き続き使用することは可能ですか?
したがって、現在設定しています:
<Package InstallerVersion="300" />
しかし、マージ モジュールでは次のように設定する必要があるようです。
<Package InstallerVersion="405" />
つまり、そのままでは Windows XP SP3 をサポートできないということです。
WiX からのエラーは次のとおりです。
警告 LGHT1104: マージ モジュール 'Microsoft_VC110_ATL' には、製品のインストーラー バージョン 300 よりも大きい 405 のインストーラー バージョンがあります。マージ先の製品よりも新しいインストーラー バージョンのモジュールをマージすると、結果の msi で無効な値になる可能性があります. このマージ モジュールを製品にマージするには、Package/@InstallerVersion 属性を 405 以上に設定する必要があります。