The Ancients :如果以下内容
TL;DR(太长,没有读过),请略过这两个链接:
- 对安装和部署项目进行故障排除
- 为什么通过VDPROJ使用Windows Installer
XML(WiX)?
更新 : 2018 年 9月 -由于此“答案”最近被否决,让我尝试添加更多链接以查看答案的意图是否可以更加清楚。不要过于戏剧化,但是:
As deployment specialists we have to warn people when they commit tousing a tool that is bound to fall apart for them down the line when moreadvanced deployment requirements invariably surface。安装程序项目已被撤回几次,然后重新引入Visual
Studio中。始终基于这些项目类型(只是较大的项目)中看到的问题:
1)没有MSBuild支持(没有经过我的广泛测试,而是由其他人进行了广泛的测试),2)
仅在系统上下文中运行的延迟模式自定义操作(不可在GUI中插入),3)总体上高度受限的控件(始终宣传快捷方式,无法配置某些功能,等等)。
。),4)不支持正确的服务安装-而是需要自定义操作,5)捆绑的可用先决条件6)
很少,几乎没有灵活性的基本GUI,7)
似乎无法定义MSI功能(如功能和组件),32/648)
问题自定义操作的位问题等。有关该项目类型及其问题的旧的MSDN页面:对安装和部署项目进行故障排除。
MSI专家Chris Painter和其他人:
- Visual
Studio安装程序项目是否适合复杂的安装程序?- 为什么通过VDPROJ使用Windows Installer
XML(WiX)? (推荐的)我认为项目类型仅适用于简单的.NET应用程序。任何口径的复杂性都会给您带来麻烦。
SQL scripts,IIS,适当的COM /COM+,Users & Groups,Shares,Firewall Rules,CustomGUI,等…商业工具和维克斯对这些事情的高级支持。编译后的MSI文件的内部也是不合标准的(使用自注册,对服务的自定义操作等)。我经常会遇到该工具由于“某些未知原因”而停止工作的情况。突然,它将无法编译。具体示例(已修复)。替代方案 :
- 部署工具的简单列表视图
WiX快速入门提示(如果该工具需要免费)
如何创建Windows
Installer (链接到各种部署工具,MSI优势摘要以及一些趋势部署技术的简要说明)开源WiX工具包具有一个名为
Burn创建此类setup.exe启动器/下载器/引导程序的组件-用于依次运行多个安装和/或安装先决条件(一个非常常见的任务-Visual
Studio项目仅支持一些先决条件)。要使用此刻录功能,必须编写WiX
XML标记代码。商业工具Installshield和Advanced
Installer 提供了用于构建此类setup.exe
文件的GUI功能。
在 Visual Studio安装 是非常有限的,我从来没有使用它。
WiX
(指向尝试为WiX速成课程提供一些链接的答案的链接)是成熟的开放源代码部署解决方案。掌握它需要一些时间,但是它非常好且灵活。诸如
Installshield 或 Advanced Installer之
类的商业解决方案将使您可以更快,更轻松地交付设置,但它们的价格可能很高。
鉴于Visual Studio Installer项目的局限性(和错误),我相信正确的解决方案是使用其他工具:使用
哪种安装产品?InstallShield,WiX,Wise,Advanced
Installer等。如果您根本不需要任何高级的东西,那么您将为否则而苦恼。使用更高级的工具,即使有时可能涉及更多的工作,至少也可以做您需要的事情。
让我知道您想知道的有关此过程的信息,我将尽力提供帮助。我不确定要提供什么软件,目标用户群是什么,预算多少,等等。。。Windows
Installer对于许多公司利益是非常可取的,但是还存在其他部署技术(请参见上面各种说明)使用工具)。



