如何使用Wix安装.NET Framework的可再发行组件包?

我有一个常规任务:在我的产品设置期间安装.NET Framework 3.5。

我做了以下事情:

  1. 我创建了一个自定义动作X.
  2. 自定义操作X通过Process.Start()启动可执行文件Y
  3. 可执行文件Y终止msiexec进程并运行.NET Framework安装程序包

这里出现了一些问题:.NET Framework安装程序说Windows Installer Service无法访问并要求终止所有其他安装!

我认为,它的原因是Process.Kill()方法终止进程不正确。 当我通过Kill()终止msiexec进程时,msiserver服务不可停止,但如果我通过单击取消按钮完成设置,则msiserver服务将变为STOPPABLE。

我该如何解决这个问题?

以下是如何引导.NET框架。

1)确保在构建计算机上安装了.NET 3.5和Windows Installer 3.1 boostrappers。 它们应该与VS一起安装。 它们可能在这里找到:C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages \ DotNetFX35。

2)编辑wix项目文件。 – 右键单击​​项目,选择卸载 – 再次右键单击,然后编辑wixproj

3)添加以下项目组:

  Windows Installer 3.1   .NET Framework 3.5  

4)在项目文件的末尾添加以下内容

    

5)现在建立。 生成的setup.exe和msi应该安装框架。

斯科特