最近、Microsoftは私が提供のVisual Studio 2012のコンパイラを使用して移動することができる当社のプロダクトマネージャーで言われてきたアップデート1のVisual Studio 2012でWindows XPのサポートをドロップする彼らの決定を撤回:Visual Studio 2012コンパイラでWindowsインストーラ3.0を対象にすることはできますか?
- 私たちは、当社のWindows XPのお客様を引き続きサポートしてください。
- Windows XP SP3を超える追加の前提条件を導入していません(その理由は、一部のお客様と契約しているためです)。
VC2012 XPツールセットを使用するように私たちのソリューションを変換しようとしましたが、今はすべてコードの観点からうまく機能します。しかし、私たちのWiXインストーラプロジェクトは、VC2012ランタイムマージモジュールを追加しようとしていて、Windows Installer 4.5のみをサポートしているという事実を訴えていました。このバージョンのWindowsインストーラはWindows XP SP3では使用できませんでした。したがって、当社製品をインストールするには、Windows Installer 4.5再頒布可能パッケージをインストールする必要があります。
この問題を回避し、Windowsインストーラー3.0をサポートする方法でこれらのマージモジュールを使用することは可能ですか?
<Package InstallerVersion="300" />
をしかし、マージモジュールを設定する私たちを必要として表示されます:
だから我々は、現在設定している私たちは外のWindows XP SP3をサポートしていませんでした意味でしょう
<Package InstallerVersion="405" />
ボックス。 「Microsoft_VC110_ATL」モジュールをマージ高いインストーラを持つモジュールのマージ300の製品のインストールバージョンよりも大きい405のインストーラバージョンを有する:
警告LGHT1104:ここ
はWiXのからのエラーですバージョンにマージされている製品よりも、結果のmsiに無効な値が返される可能性があります。このマージモジュールを製品にマージするには、Package/@ InstallerVersion属性を405以上に設定する必要があります。
Hmm。興味深いアイデアは、私はこれが可能であることを知らなかった。 – Benj
prereq MSIを連鎖させることを強くお勧めします。サードパーティのマージモジュールは、ほとんどの場合常に最高の問題です。 –