Windows WiX:安装和卸载第三方依赖项

Windows WiX:安装和卸载第三方依赖项,windows,visual-studio-2012,wix,installation,Windows,Visual Studio 2012,Wix,Installation,我有一个应用程序,我在VisualStudio 2012中构建,其中一部分在C语言中,其中一部分是C++。应用程序的GUI使用第三方GUI控件 因此,我有三个依赖项需要检查并与我的项目一起安装: 微软VisualC++ +可重新分配< /LI> .NETFramework 4.5 GUI控件 我的项目安装程序当前使用WiX构建。有没有办法让WiX做到以下几点 在安装时检查是否存在(例如)C++可重新分配,如果不存在则安装它 卸载时删除这些组件(显然,如果且仅当它们是在安装时安装的) 如果不是,我

我有一个应用程序,我在VisualStudio 2012中构建,其中一部分在C语言中,其中一部分是C++。应用程序的GUI使用第三方GUI控件

因此,我有三个依赖项需要检查并与我的项目一起安装:

  • 微软VisualC++ +可重新分配< /LI>
  • .NETFramework 4.5
  • GUI控件
  • 我的项目安装程序当前使用WiX构建。有没有办法让WiX做到以下几点

    在安装时检查是否存在(例如)C++可重新分配,如果不存在则安装它
  • 卸载时删除这些组件(显然,如果且仅当它们是在安装时安装的)

  • 如果不是,我的猜测是,答案是创建另一个C#项目,它可以依次运行每个msi,但我希望能够通过WiX完成全部工作-有可能吗?如果是这样的话,是如何实现的?

    WiX将其作为Windows安装工具集的最初目的添加到了一起。它现在有一个引导器/链接器/绑定器/重启管理器/包管理器,有时称为Burn。在VisualStudio中,可以通过WiX引导程序项目模板访问它


    您需要为您的应用程序设置一个WiX安装项目。然后为四个设置定义链序列。VC和.NET应该标记为永久,因为您不知道是否以及何时应该卸载它们。GUI控件可能也有同样的情况。这就剩下了应用程序,在卸载时引导程序将卸载它。

    您可以创建一个引导程序来安装应用程序及其先决条件

    WiX工具集为您提供了所有必要的工具来创建包含不同包的包,其中之一就是您自己的MSI

    看看Burn和WiX工具集文档。“如何”指南显示了准确实现所需的方法,例如,有一个教程介绍了如何实现

    也许这就是你要找的。或者看看定制的托管引导程序应用程序。例如,高级Visual Studio 2012安装程序是一个WiX MBA。但请注意,在我看来,MBA是一项艰巨的工作