我有一个WPF C#桌面应用程序需要在VS2010中部署为MSI(Windows Installer部署,而不是ClickOnce部署)。我的应用程序将在运行时生成SQL CE数据库,操作Excel工作簿,以及从/向COM端口接收/传输数据 - 所以我不知道部署这样的应用程序的适当方式是什么。
我正在查看Windows Installer Deployment Tasks,这对我没有帮助。
有人能告诉我一些资源,说明如何将应用程序部署为MSI安装程序吗?
答案 0 :(得分:3)
如果您不想要ClickOnce,那么您可能需要创建自己的MSI。在这种情况下,您可以使用:
我已经尝试了1和3.虽然WIX有一点学习曲线,但它是一种非常丰富的方式来做你想做的事情。有一些可用的文档和一些非常好的“开箱即用”向导序列来处理您的标准安装方案(许可证,功能选择,依赖项等)。 WIX确实有一些VS集成,效果很好。
您可以在http://wix.sourceforge.net/
了解有关WIX的更多信息注意:的 VS安装项目可以执行自定义操作,并安装依赖项,但您必须使用自定义操作。如果您想参数化自定义操作,那么您需要找到关于该主题的不那么直观的说明。
VS安装项目的另一个限制是安装项目只能由VS(devenv.exe)编译为MSI。这意味着除非您在那里安装Visual Studio,否则无法在构建服务器上编译MSI。这对我来说是一个阻止,所以我切换到WIX并对结果非常满意。
答案 1 :(得分:1)
对于像我这样在高低搜索如何部署MSI之后发现这篇文章的人,你现在需要一个扩展,因为visual studio团队删除了内置的启动项目功能。您现在需要下载Visual Studio Installer Projects扩展。
有关删除的讨论,请参阅this用户语音帖子,here是指向该扩展程序的链接。
对于寻求通过Visual Studio生成MSI的快速解决方案而不是深入了解Wix的人来说非常有用(尽管如果您需要更高级的部署选项,请务必走这条路线)。
答案 2 :(得分:0)
将您的WPF应用程序配置为发布为ClickOnce应用程序。您可以在项目属性的“发布”选项卡中执行此操作。
如果使用“发布向导”(通过单击属性页面上的恰当命名按钮),您可以指定(在第二页上)用户将安装“从CD-ROM或DVD-ROM”。 此选项将在项目输出目录的发布子文件夹中生成setup.exe 文件。您的用户启动此setup.exe程序将安装WPF应用程序。您可以选择包含更新功能(但您不必)。
ClickOnce设置还允许您包含其他文件(例如,您的SQL CE数据库文件)和必要时的先决条件。