2012-10-30 4 views
13

Windows 64bitと32bitの両方を対象としたソフトウェア設定を展開する必要があります。私は各プラットフォーム用に2つの別々のWindowsインストーラデータベース(WiXで作成)を持っていて、私はdotNetInstallerを使用して、両方を単一のインストールブートストラップ実行可能ファイルに結合しています。64ビットと32ビットのWindows Installerパッケージを単一のセットアップとして展開するにはどうすればよいですか?

dotnetInstallerのバージョン1.10を使用していて、auto_close_if_installed=Trueに設定しています。これは、ユーザーからブートストラップを完全に非表示にしたいからです。それでも、dotNetInstallerは、インストーラの実行中にsillプログレスバーのウィンドウを表示することを主張し、実際には自動クローズしません。ユーザーは、アプリケーションが正常にインストールされたことを知らせるダイアログボックスを確認する必要があります。しかし、実際の契約破綻者は、それがWindows 8をサポートしていないことです(まだ)。

dotNetInstallerのそれ以降のバージョンにアップグレードすると、auto_close_if_installedが破損しているようですので、さらに悪化します。

私の質問は、1つの実行可能ファイルに両方の設定を展開するための最新の状態です。 Wix Burnはオプションになりますか?

私は、理想的な世界では、どちらのプラットフォーム用にも個別のインストーラを顧客に提供することがわかります。しかし、彼らはそのような微妙なことを完全に知らされず、ほとんどの人は彼らがどのプラットフォームを使用しているのか知りません。

+2

私はこれまでBurnをこれまで使用してきましたが、それはやりすぎです。私は他の人が何を考えているのか興味を持っています。 – bricelam

+1

@ブリス:事は、バーンも信頼性が高いとは思われません。 Visual Studio Update 1 CTP 3は、それを使用して展開され、Burnのためにコンピュータにインストールできませんでした:[Microsoft Connect 766849](https://connect.microsoft.com/VisualStudio/feedback/details/766849/visual-インストール中にstudio-2012-update-1-ctp-3-crashes) –

+4

InstallCondition = "NOT VersionNT64"とマークされた1つのパッケージと他のInstallCondition = "VersionNT64"を使用して、これを焼くことをお勧めします。 burnを使用すると、単一のexeパッケージを作成することができ、ユーザーは正しいexeパッケージを実行する必要はありません。 – Neil

答えて

21

このシナリオでは、間違いなく「Burn」を使用します。次のようなものがあります。

<Wix> 
    <Bundle...> 
    <BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.HyperlinkLicense' /> 

    <Chain> 
     <MsiPackage InstallCondition='NOT VersionNT64' SourceFile='path\to\x86.msi' /> 
     <MsiPackage InstallCondition='VersionNT64' SourceFile='path\to\x64.msi' /> 
    </Chain> 
    </Bundle> 
</Wix> 

これは、Burnが処理するように設計されたシナリオの1つです。

+2

はい、正確です。それが私がやったことです。私はあなたの答えを将来の他の人の参照のために受け入れます。 –

+1

WiX 3.7では、MsiPackageではCondition属性が使用できないようです。 3.8に入っているものか、これは最近変更されたものなのでしょうか? –

+1

例の入力ミス。 'Condition'は' InstallCondition'だったはずです。 –

0

条件と機能を使って1つのWixで実行できます。

<Feature Id='X86' Level='1'> 
    <ComponentRef Id='X86Feature1' /> 
    <Condition Level="1">NOT VersionNT64</Condition> 
</Feature> 
+3

なぜdownvote? – dvallejo

+0

IDはアップまたはダウンに投票しませんでした。しかしあなたはあなたの質問を慎重に読んだと思いますか?目標は2つのMSIをブートストラッパーと組み合わせることでしたか? – harper

関連する問題