ターゲットマシン(32ビットまたは64ビット)に基づいてWIXを使用してファイルを条件付きでインストールするにはどうすればよいですか?
-
06-09-2019 - |
質問
32ビットバージョンと64ビットバージョンを備えたファイルがあります。 32ビットマシンにアプリケーションをインストールする場合は、32ビットバージョンのファイルをインストールしたい場合があります。同様に、64ビットバージョンが64ビットマシンで実行されると、64ビットバージョンがインストールされるはずです。インストーラーがWIXで実行されているマシンのタイプを確認するにはどうすればよいですか?
どうか、1行の回答はありません。特定のWIXタグと、それらをWIXスクリプトに入れる場所を探しています。
解決
あなたは出来る おそらく 条件を使用して、2つの個別のコンポーネントを実行するだけです
VersionNT64
と
Not VersionNT64
ただし、正しい方法は、32および64ビットOSおよび64ビットコンポーネントの個別のインストーラーをコンパイルすることです(そのようにマークする必要があります( Win64="yes"
) - WindowsインストーラーパッケージをIntelとX64の両方に向けたものとしてマークすることさえ可能かどうかはわかりません。私がこれまでに混合アーキテクチャのインストールを行ったことがあるのはNSISです。すべてのWIXインストーラーには、各アーキテクチャ用の個別のインストーラーがあります。
他のヒント
適切な方法は、32(x86)と64(AMD64)の2つのセットアップをコンパイルすることです。次に、これら2つのMSIを単一のMSI内でパッケージ化し、実行時に適切なMSIを実行します。
コンパイルする前に、環境またはプリプロセッサ変数を使用してベースWXSファイルを作成し、必要な属性を入力できます。別のオプションは、特定のインストール用のファイルにさまざまなガイドを含むビルドの前にスクリプトを実行することです。要するに、さまざまなアーキテクチャ用のインストーラーを構築する簡単な方法はないと思いますので、追加のユーティリティを使用する必要があります。