当客户端机器上未安装所需的.NET Framework时,我该如何让我的Wix程序包下载它? 我已经有了检查已安装.NET版本的条件,但我不确定如何在找不到时下载和安装它。
ClickOnce通过检查属性页面中的先决条件自动完成此操作。 由于其他要求,我只需要在Wix中完成它。
谢谢!
当客户端机器上未安装所需的.NET Framework时,我该如何让我的Wix程序包下载它? 我已经有了检查已安装.NET版本的条件,但我不确定如何在找不到时下载和安装它。
ClickOnce通过检查属性页面中的先决条件自动完成此操作。 由于其他要求,我只需要在Wix中完成它。
谢谢!
Wix创建的MSI包无法做到这一点。 Windows Installer相当有限,一个MSI文件(您的安装程序)不允许调用另一个MSI文件(.NET Framework安装程序)。
您将需要创建一个所谓的引导程序(setup.exe文件),它可以检查指定的先决条件,根据需要下载和安装它们,然后启动您的MSI安装程序。
创建引导程序的一种方法是使用Visual Studio或MSBuild任务GenerateBootstrapper。这里是一个提供更多细节的链接:
如果您只想为用户提供一个单独的安装程序,则可能希望创建一个自我膨胀的安装包,其中包含设置.exe文件和您的MSI包。您可以使用随Windows一起提供的iexpress来完成此操作。
这里是另一个提供示例的链接:http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx
Wix将包含自己的引导程序称为burn。请查看:http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn
DotNetInstaller被许多开发人员推荐作为一个良好而可靠的启动程序。
更新: 2017年8月更新了DotNetInstaller的网址。
<PackageGroupRef Id="NetFx40Web"/>
就是这样了!
更多信息请参见:wixnetfxextension文档