在.msi安装程序中包装C#应用程序
我在Visual Studio 2017中创建了一个C#应用程序。现在我想将我的应用程序作为单个Windows安装程序文件分发。 我希望有一个简单的一键式解决方案(选择我要包含的所有文件 – >瞧!这是安装程序)。 但它似乎并不那么容易:-(
我经常读到Visual Studio支持安装项目。 但这似乎不再是这种情况了,对吧?
第三方工具要么非常复杂(例如Wix,Inno Setup),要么非常昂贵(例如Advanced Installer)。
是否真的没有简单的方法来包装.msi Windows安装程序中的某些文件? Microsoft是否不提供创建此类安装程序的工具?
或者非常昂贵(例如Advanced Installer)。
还有一个免费版本,其中包含用于Advanced Installer的Visual Studio扩展,您可以使用它来构建MSI包。
以下教程介绍了如何使用免费版中的function(“简单”项目类型):
- https://www.advancedinstaller.com/user-guide/tutorial-ai-ext-vs.html
- https://www.advancedinstaller.com/user-guide/tutorial-simple.html
PS我在团队建设高级安装程序上工作。
有一次,Microsoft确实从Visual Studio 1中删除了“Visual Studio Installer Project”支持。 之后他们又心软了,又补充了支持。 我不记得哪个版本没有支持,我认为是2012年和2013年。
这些天(对于VS2017),要获得Visual Studio Installer Project支持,您可以从市场中添加它 :
此扩展提供与Visual Studio 2015 for Visual Studio Installer项目中当前存在的function相同的function。 要使用此扩展,您可以打开“扩展和更新”对话框,选择在线节点,然后搜索“Visual Studio Installer项目扩展”,也可以直接从此页面下载。
但就个人而言,我会选择WIX。 它确实有一个学习曲线,但我认为这是值得做的。
1我个人认为这是非常好的理由。 您必须完全安装Visual Studio才能使它们正常工作,它们并没有真正与MSBuild集成,如果您想要自动化构建,这将使它们变得很痛苦。
VS安装程序项目 :已经有几个很好的答案 – 值得一试。 如其他人所述,您可以使用Microsoft Visual Studio 2017安装程序项目 – 尽可能有限。 我记得它们具有一些先决条件function 。 我对该工具的经验有限。 可以为非常简单的事情工作,但你很快就会发现局限性。
WiX :我个人会使用WiX,因为它也是免费且灵活的 – 它需要一些努力,但是非常有能力。 这是一个WiX快速入门提示答案 (坦白说,这不是我最喜欢的答案,但它已经比平时更受欢迎,所以我没有改变它)。
IsWiX :还有IsWix – 一个帮助创建WiX设置的GUI工具( Chris Painter的工作)。 他的WiX教程和快速的YouTube演示 。
Et Al : 商业工具 ( Installshield , Advanced Installer (参见Bogdan在这个“线程”中的答案), PACE Suite 等 )也很好 – 你的时间成本也是如此。 一旦你加起来就会令人震惊 – 你肯定会用商业工具更快地运行。 如何创建Windows安装程序 (链接到相当全面的工具列表和一些MSI信息)。 更多链接如下。
除此之外,我将链接到一些预先存在的答案,其中包含有关各种工具的信息:
- Windows服务未显示在控制面板下添加删除程序
- 使用什么安装产品? InstallShield,WiX,Wise,Advanced Installer等