假设我有两个应用程序 - 应用程序A和应用程序B已经创建并且工作正常。现在我想创建一个新的安装项目,可用于为两个应用程序创建安装文件。这可以创建安装两个应用程序的安装文件吗?另外,我想以这样的方式执行安装 - 一旦安装了App A,那么只应安装App B.
感谢。
答案 0 :(得分:1)
使用VS安装项目,您可以创建一个设置(我假设您的意思是MSI设置,而不是ClickOnce),其中包含来自两个应用程序的“所有内容” - 文件,快捷方式,依赖项等。然后您将只有一个设置将安装并在程序和功能中为您提供一个条目。通常不需要“A必须在B安装之前安装好”,因为单个组合设置是事务性的,就像所有MSI安装一样 - 如果有任何失败则整个安装回滚。
如果A只包含恰好打包为B和其他产品将要使用的MSI的功能,那么有时人们只是将A构建为合并模块并将其包含在B(和其他设置)中,但这取决于为什么有两个设置和业务/工作流程要求。
没有VS支持将单独的MSI文件组合成一个设置并在A成功时调节B.你也可以编写一个运行两个MSI的启动器,但你会看到两组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中被带走了。