在Visual Studio 2013中创建应用程序设置


90

我已经有一个准备构建的项目。目前,我正在使用Visual Studio 2013。

但是,我不知道如何在Visual Studio 2013中创建MSI设置,但是对于Visual Studio 2010,有很多教程讨论如何在Visual Studio 2010中创建设置。

  • 这是否意味着我需要安装Visual Studio 2010才能为我的项目创建应用程序设置?

  • 在Visual Studio 2013中创建应用程序设置的最简单方法是什么?


2
尝试Windows Installer XML(WIX),它是非常可定制和可扩展的,您也可以将其与CI构建集成。2012年删除了应用程序安装项目,如果您仍然需要快速且肮脏的安装程序,则可以一次使用随附的Installshield SE。在2013
Mgetz

VS 2012及之后没有像2010
那样的

1
单击一次先生@Mgetz怎么样?以及如何使用一次点击?

@Kaoru我从来没有让Clickonce在任何版本的VS中都能可靠地工作,所以我不会有太大帮助。但从理论上讲,它将起作用。
Mgetz 2013年

2
Clickonce具有一些相当奇怪的特性:您必须从原始安装目录中执行同一安装的新版本,才能进行自动更新。此外,似乎您必须使用clickonce .exe随身携带附件文件夹。我所做的就是将Clickonce安装内容包装在带有Winrar的SFX归档文件中,始终从temp目录执行它,并实质上创建了“单击次数甚至少于一次安装程序”。
Traubenfuchs

Answers:


131

Microsoft已经倾听了在Visual Studio中支持安装程序(MSI)的呼声,并发布了Visual Studio Installer项目扩展。您现在可以在VS2013中创建安装程序,从visualstudiogallery 此处下载扩展

visual-studio-installer-projects-extension


1
新的重要信息。Microsoft应该改善其相关文章KB2900817
satoc

@peer在VS 2012中不是解决方案吗?备择方案?VS2012中的完整源代码示例?
Kiquenet

@kiquenet不,vs2012不支持。大多数项目的所有工作都已升级到vs2013,并向后兼容vs2012。
彼得

4
不要打扰阅读文章...它只是告诉您执行以下操作:转到“工具”->“扩展和更新”。选择在线选项卡。搜索“ Visual Studio安装程序项目扩展”
囚犯零2013年

我有一个VS 2010解决方案,其中有一个安装项目,当使用VS 2010构建该解决方案时,将创建一个msi文件。现在我们只有VS 2013,我无法更改/迁移安装项目。我应该怎么做才能创建msi文件?
Jirong Hu

10

从Visual Studio 2012开始,Microsoft不再提供内置的部署程序包。如果要使用此软件包,则需要使用VS2010。

在2013年,您有几种选择:

  • InstallShield
  • 威克斯
  • 自己滚

在我的项目中,我从头开始创建了自己的安装程序,由于我不使用Windows Installer,因此即使在旧机器上,它也具有超快的优势。


您@ ming-slogar是否有任何示例应用程序要与我们共享?
Highmastdon 2014年

@Highmastdon:我基本上只是用本地C ++创建了一个安装程序启动程序(配置为无需预先安装C ++运行时库就可以运行),该程序检查已安装的.NET并启动了WPF GUI安装程序。WPF安装程序允许用户选择一堆选项,然后复制文件并编写注册表项。我没有“示例”应用程序-我在正在处理的项目中使用安装程序,但是如果需要,我可以尝试提取示例。
Ming Slogar 2014年

我真的很想看一个完整的例子。想分享吗?不是代码本身,而是概念和您的经验中得到的东西?像如何嵌入要安装的项目中,如何自动化常见的事情(复制文件列表,规则:覆盖/不覆盖等)。另外,我正在使用NSIS atm,但是我对它的脚本语言,丑陋的现代 UI和非常慢的设计(仍然处于XP的石器时代)感到厌倦。
Sinatr 2014年

@Sinatr为了嵌入程序集,我大量使用了资源文件-在C ++和C#中。要复制文件,实际上我很懒,并且手动编写了每个文件操作(例如,使用File.WriteAllBytesFile.WriteAllText,具体取决于文件类型)。我没有处理覆盖现有文件的问题-我的所有程序集都以我的应用程序名称作为前缀(例如AppName.Controls.dll,AppName.Images.dll),因此重复文件的机会确实很小。如果您想处理所有可能的情况,则必须执行Windows Installer的操作-这违反了自定义的目的。
Ming Slogar 2014年

7
@Kiquenet我在这里将自定义安装程序的代码上传到:drive.google.com/…。由于缺少依赖性(我从一个在线项目中将其删除),它不会生成,但是您至少可以看到我是如何创建安装程序的。
Ming Slogar,2014年

3

Visual Studio 2013现在支持安装项目。Microsoft已经发布了Visual Studio扩展来生成安装项目。

Visual Studio安装程序项目扩展


@Hamid,您好:完成MSI窗口设置安装后,我的原始文件(设计和编码)也显示在安装位置。我已经使用Visual Studio 2010开发了此应用程序。安装程序已成功创建,但是在安装了MSI之后,此问题就会发生。请帮我。提前致谢。
dilipkumar1007

试图了解您的问题。您已经使用Visual Studio 2010创建了一个安装项目,并且不能与Visual Studio 2013一起使用?
哈米德·沙希德

2

Microsoft建议使用“ Visual Studio的InstallShield限量版” 来代替已停产的“ Deployment and Setup Project”-但它不是很好,并且没有其他人建议使用它。但是对于简单的设置,如果继续使用商业第三方产品不是问题,则可以使用它。

替代方法是使用Windows Installer XML(WiX),但是您必须手动完成许多本身由安装程序完成的工作。


我完全同意@Kiquenet-您可以尝试从wix.tramontana.co.hu
habakuk 2014年

我将2015LE安装在VS 2010内,并且可以在VS 2010内创建一个IS安装项目。现在如何在Jenkins中调用此项目?Jenkins的InstallShield插件询问ISCmdBld.exe的路径,我在2015LE中找不到该路径。
Jirong Hu


1

除了Install Shield和WiX,还有Inno Setup。尽管我自己还没有尝试过,但是我已经听到了一些好消息。


1

我会告诉我如何解决几乎类似的问题。我使用VS 2013开发了一个应用程序,并尝试创建向导以解决此问题。后来我安装了高级VS并尝试失败。

最后,我使用了“ ClickOnce”,它运行良好。

所以我也相信,“ CLICKONCE”会为您提供帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.