7

そのため、少数のデバイス ドライバーをインストールする WiX ベースの MSI を使用しているため、x64 バージョンと x86 バージョンがあります。このパッケージには .NET 3.5 への依存関係もあるため、これを行うためのブートストラップを生成してから MSI を起動します。私の質問は、実行中のプラットフォームを検出して適切な MSI を起動するブートストラップを作成する方法を誰かが知っているかどうかです。私はそのような解決策を探し回っていますが、これまでのところ何も見つかりませんでした。ありがとう!

4

3 に答える 3

3

残念ながら、Windowsインストーラーにはx86とx64用に別々のMSIパッケージが必要です。

WiX v3.6 +では、Burnは、2つのパッケージを1つのインストールに「バンドル」する機能を提供します(Burn実行可能ファイルによって駆動されます)。次のような.wxsファイルを使用して実行できます。

<Bundle ...>
  <BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.RtfLicense' />

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

これは、Burnが実行できるすべてのことのほんの一部に過ぎませんが、2つのアーキテクチャパッケージを単一のインストールエクスペリエンスにバンドルする方法を示しています。

于 2013-03-17T21:43:16.450 に答える
1

msi を起動する前に .Net をインストールする場合は、プラットフォームを検出し、ブートストラップに応答を返す c# で記述された exe を含めることもできます。

プラットフォームを検出するexeを使用し、何を起動するかを決定するために確認していたregキーを作成しました。

C# の例

于 2009-10-09T18:32:52.800 に答える
0

dotNetInstallerは、おそらく使用する必要があるものです。OS、プラットフォーム、および言語の適切な組み合わせが満たされた場合にのみトリガーされるさまざまな「セットアップ」構成を作成できます。また、MSI、前提条件などをセットアップ実行可能ファイルに埋め込んで、ユーザーがダウンロード/実行できるファイルが1つだけになるようにすることもできます。

于 2010-09-03T22:30:29.557 に答える