在Visual Studio中为多个应用程序创建安装项目

本文关键字:应用程序 创建 安装 项目 Visual Studio | 更新日期: 2023-09-27 18:01:18

假设我有两个应用程序-应用程序A和应用程序B,这两个应用程序已经创建并且工作良好。现在我想创建一个新的安装项目,该项目可用于为这两个应用程序创建安装文件。这可以创建一个安装文件安装两个应用程序吗?此外,我想执行安装这样一种方式-一旦应用程序a安装,那么只有应用程序B的安装应该开始。

谢谢。

在Visual Studio中为多个应用程序创建安装项目

使用VS安装项目,您可以创建一个安装(我假设您是指MSI安装而不是ClickOnce),其中包含来自两个应用程序的"一切"-文件,快捷方式,依赖项等。然后,您将有一个单一的设置,它将安装并在程序和功能中提供一个条目。通常不需要"a必须在B安装之前安装好",因为单个组合安装是事务性的,就像所有的MSI安装一样——如果有任何失败,那么整个安装就会回滚。

如果A只是包含碰巧打包为MSI的功能,B和其他产品将使用,那么有时人们只是将A构建为合并模块并将其包含到B(和其他设置)中,但这取决于为什么有两个设置和业务/工作流需求。

VS不支持将单独的MSI文件合并到一个设置中,并在a的成功上设置B。你也可以编写一个运行两个MSI的启动器,但你会在Programs&Features中看到两组UI和两个条目,但你并没有说这些是你想要避免的事情。显然,如果B依赖于A,并且在Programns&Features中有两个条目,则用户可能会卸载A并破坏B。

主要问题是,你是否只是想要一个启动器,将安装一些MSI文件,每个文件都有自己的UI和程序和功能的入口,或者你想要一个集成的体验,使多个MSI文件安装和卸载作为一个单一的产品。

除此之外,我知道人们用类似VS的东西构建他们的MSI文件,然后使用WiX Burn引导程序将它们组合成一个产品,其中Programs&Features条目组合了所有的MSI文件。

曾经有一个Bootstrap Manifest Generator工具,它可以让你添加A作为先决条件,所以setup.exe会安装先决条件,包括A,然后安装B,但是这个工具和它的文档很难找到,因为安装项目在VS 2012中被拿走了。