4

私のアプリケーションには、12 個の DLL ファイルと.NET 4.0 クライアント プロファイルとSQL Server Compactが必要です。

WiX Toolkit 3.7 とVisual Studio 2012を使用して、.NET 4.0 と SQL Server Compact をインストールするBurnブートストラップを作成し、次にすべての DLL ファイルを含む MSI ファイルなどを作成しました。 Wix に関するスタック オーバーフロー。新しくインストールした Windows 7 マシンでインストール プロセスをテストしています。:)

ただし、インストーラー プロセスの 1 つの側面について混乱しています...

私の MSI ファイルはプライマリ インストーラーとして実行され、.NET 4.0 CP または SQL Server Compact がターゲット マシンにない場合にのみ、ブートストラップが起動して不足しているパッケージをインストールすると考えていました。

現在、動作している状況では、MSI ファイルが非表示になっていて、自分のBootstrapper.exeファイルだけがあり、インストール中に表示されるダイアログはブートストラップ ダイアログだけです。これは正しいですか、それとも悪い方法で何かをしていますか?

Bootstrapper のビルド出力を MSI に変更したので、すばらしい MSI ファイルが 1 つ残っています。product.wxs元のプロジェクト出力 (MSI ファイル) がファイルに埋め込まれているという事実を考慮するBootstrapper.msiと、元の product.wxs プロジェクトからすべての UI 要素を削除する必要がありますか?

もしそうなら、ブートストラップ UI をカスタマイズできると思います。

4

1 に答える 1

10

ブートストラップの概念を間違って理解していました。Bootstrapper は、MSI ファイルやその他の前提条件を含むすべてのパッケージをチェーンしています。したがって、常にブートストラップを実行する必要があります。前提条件が既にインストールされている場合、ブートストラップはそれらをスキップし、MSI インストーラーのみをインストールします。

ブートストラップの主な目的は、単一のユーザー エクスペリエンスを提供することです。そのため、独自の MBA (マネージド ブートストラップ アプリケーション) を作成して、さまざまなインストーラー ページを表示し、ユーザーからの入力を必要に応じて取得する必要があります。

ただし、他の簡単な解決策を探す場合は、ダイアログを表示するために、その MSI パッケージのDisplayInternalUI属性を yes に設定する必要があります。ただし、この場合、インストールが完了するまでブートストラップ ウィンドウも表示されます。このオプションを使用する場合、デフォルトの MBA を変更するためのいくつかの提案をします。

注: MSI ダイアログ自体にライセンス契約があると見なされます。

HyperLinklicense を使用して、ライセンスURLを空に設定します。以下の Bal 拡張機能を使用する場合。インストールと閉じるボタンのあるプレーンなインストーラー ページが表示されます。

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
    <bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes" LicenseUrl="" LogoFile="logo.jpg" />
</BootstrapperApplicationRef>
于 2013-06-11T11:42:50.393 に答える