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

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

谢谢!

有帮助吗?

解决方案

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


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

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

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

  

http://wix.mindcapers的.com /维基/引导程序

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

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

其他提示

Wix将包含自己的名为burn的引导程序。请查看: http://robmensching.com/博客/帖子/ 2009/7/14 /允许通话-约烧

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

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

现在支持从WiX 3.6开始。文档仍然是粗略的,但对于初学者,请查看如何:使用.NET Framework安装烧

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

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

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

<PackageGroupRef Id="NetFx40Web"/>

真的就是这样!

此处的详细信息: wixnetfxextension文档

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top