Wixおよび.NET Framework(前提条件)
-
06-07-2019 - |
質問
クライアントのマシンにまだインストールされていない必要な.NET FrameworkをダウンロードするWixパッケージを入手するにはどうすればよいですか?インストール済みの.NETバージョンを確認する条件は既にありますが、見つからない場合にダウンロードしてインストールする方法がわかりません。
ClickOnceは、プロパティページの前提条件を確認することにより、これを自動的に行います。他のいくつかの要件のため、Wixでそれを行う必要があります。
ありがとう!
解決
更新 2017年8月: この非常に良い答えは今では時代遅れに見えます。 「スレッド」の他の回答も読んでください。いくつかの異なる「ブートストラップオプション」について。
Wixによって作成されたMSIパッケージはそれを行うことができません。 Windowsインストーラーはかなり制限されており、1つのMSIファイル(インストーラー)が別のMSIファイル(.NET Frameworkインストーラー)を呼び出すことは許可されていません。
指定された前提条件を確認し、必要に応じてそれらをダウンロードしてインストールし、MSIインストーラーを起動できる、いわゆるブートストラップ(setup.exeファイル)を作成する必要があります。
ブートストラップを作成する1つの方法は、Visual StudioまたはMSBuildタスクGenerateBootstrapperを使用することです。詳細はこちらのリンクをご覧ください:
ユーザーに単一のインストーラーのみを提供する場合は、setup.exeファイルとMSIパッケージの両方を含む自己膨張インストールパッケージを作成することができます。 iexpress 、これはWindowsに付属しています。
例を示す別のリンク: http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx
他のヒント
Wixには、burnと呼ばれる独自のブートストラップが含まれます。ご覧ください: http://robmensching.com/ blog / posts / 2009/7/14 / Lets-talk-about-Burn
DotNetInstaller は、多くの開発者から優れた安定したブートストラップとして推奨されています。
更新:URLをDotNetInstallerに更新、2017年8月。
これはWiX 3.6以降でサポートされるようになりました。ドキュメントはまだ大ざっぱですが、まずは How To:.NET Frameworkを使用してインストールする書き込み。
ブートストラップを使用するwix 3.6では、必要な場合にダウンロードする必要条件として.net 4.0を追加する必要があります。
a)WixNetFxExtension.dllファイルへの参照をBootstrapper / Managed Bootstrapperアプリプロジェクトに追加します
b)チェーンの最初のアイテムとして次を追加します。
<PackageGroupRef Id="NetFx40Web"/>
それは本当にそれです!
詳細情報: wixnetfxextensionのドキュメント