Wix和.NET Framework(先决条件)

时间:2009-01-09 11:37:57

标签: .net wix prerequisites

如果尚未在客户端计算机上安装所需的.NET Framework,我如何让我的Wix软件包下载?我已经有条件检查已安装的.NET版本,但我不确定如何在未找到时下载并安装它。

ClickOnce通过检查属性页面中的先决条件自动执行此操作。由于其他一些要求,我只需要在Wix中完成它。

谢谢!

5 个答案:

答案 0 :(得分:37)

更新 2017年8月: 这个非常好的答案现在看来已经过时了。还请阅读“线程”中的其他答案,了解一些不同的“bootstrapper选项”。


Wix创建的MSI包无法做到这一点。 Windows Installer相当有限,不允许一个MSI文件(您的安装程序)调用另一个MSI文件(.NET Framework安装程序)。

您必须创建一个所谓的引导程序(setup.exe文件),它可以检查指定的先决条件,根据需要下载并安装它们,然后启动MSI安装程序。

创建引导程序的一种方法是使用Visual Studio或MSBuild任务GenerateBootstrapper。这是一个提供更多细节的链接:

  

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

如果您只想向用户提供单个安装程序,则可能需要创建包含setup.exe文件和MSI包的自充气安装包。你可以使用随Windows附带的iexpress来做到这一点。

这是另一个提供示例的链接:http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx

答案 1 :(得分:11)

Wix将包含自己的名为burn的引导程序。看看:http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

答案 2 :(得分:9)

DotNetInstaller也被许多开发人员推荐为优秀且可靠的引导程序。

更新:更新了DotNetInstaller的网址,2017年8月。

答案 3 :(得分:7)

现在支持从WiX 3.6开始。文档仍然是粗略的,但对于初学者,请查看How To: Install the .NET Framework Using Burn

答案 4 :(得分:7)

在使用bootstrapper的wix 3.6中,你需要添加.net 4.0作为必要时下载的先决条件..

a)将文件WixNetFxExtension.dll的引用添加到Bootstrapper /托管引导程序应用程序项目中

b)将以下内容添加为链中的第一项..

<PackageGroupRef Id="NetFx40Web"/>

真的就是这样!

此处的详细信息:wixnetfxextension documentation