29

クライアントのマシンに必要な .NET Framework がまだインストールされていない場合、Wix パッケージで必要な .NET Framework をダウンロードするにはどうすればよいですか? インストールされている .NET バージョンを確認する条件は既に設定していますが、見つからない場合にダウンロードしてインストールする方法がわかりません。

ClickOnce は、プロパティ ページの前提条件を確認することで、これを自動的に行います。他の要件があるため、Wixで実行する必要があります。

ありがとう!

4

5 に答える 5

37

2017 年 8 月の更新: この非常に優れた回答は古くなっているように見えます。いくつかの異なる「ブートストラップオプション」については、「スレッド」の他の回答もお読みください。


Wix によって作成された MSI パッケージはそれを行うことができません。Windows インストーラーはかなり制限されており、1 つの MSI ファイル (インストーラー) が別の MSI ファイル (.NET Framework インストーラー) を呼び出すことはできません。

指定された前提条件を確認し、必要に応じてそれらをダウンロードしてインストールし、MSI インストーラーを起動できる、いわゆるブートストラップ (setup.exe ファイル) を作成する必要があります。

ブートストラップを作成する 1 つの方法は、Visual Studio または MSBuild タスクの GenerateBootstrapper を使用することです。詳細を提供するリンクは次のとおりです。

http://wix.mindcapers.com/wiki/Bootstrapper

ユーザーに 1 つのインストーラーのみを提供する場合は、setup.exe ファイルと MSI パッケージの両方を含む自己膨張型インストール パッケージを作成することをお勧めします。Windowsに付属しているiexpressでそれを行うことができます。

例を示す別のリンクを次に示します。 http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx

于 2009-01-09T11:54:31.707 に答える
11

Wix には、burn と呼ばれる独自のブートストラップが含まれます。以下をご覧ください: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

于 2009-09-21T08:10:13.303 に答える
9

DotNetInstallerは、優れた堅実なブートストラッパーとして多くの開発者からも推奨されています。

更新:DotNetInstallerへの更新されたURL、2017年8月。

于 2010-06-15T08:47:38.153 に答える
7

これは、WiX3.6以降でサポートされるようになりました。ドキュメントはまだ大雑把ですが、初心者の方は、 「方法:Burnを使用して.NETFrameworkをインストールする」を参照してください。

于 2012-09-10T20:11:03.753 に答える
7

ブートストラッパーを使用するwix 3.6では、必要に応じてダウンロードする前提条件として.net 4.0を追加する必要があります..

a) ファイル WixNetFxExtension.dll への参照を Bootstrapper / managed Bootstrapper アプリ プロジェクトに追加します。

b) 以下をチェーンの最初のアイテムとして追加します。

<PackageGroupRef Id="NetFx40Web"/>

それは本当にそれです!

詳細はこちら:wixnetfxextensionのドキュメント

于 2013-03-20T14:44:56.810 に答える