如何在单独的解决方案中创建Windows MSI?

时间:2017-04-25 10:51:52

标签: visual-studio windows-installer

如何为不同的Visual Studio解决方案中提供的Windows应用程序创建MSI。

1 个答案:

答案 0 :(得分:1)

如果您已安装 installer extension (如果没有,请参阅下面的备注),打开Visual Studio ,然后执行以下(此时,没有打开解决方案):

  1. 如果您使用新解决方案,请选择文件 - >新项目。
    (如果您想将安装程序项目添加到现有解决方案,请右键单击 解决方案资源管理器中的解决方案,并从上下文菜单中选择添加 - >新 项目

  2. 在“新建项目”对话框中,选择“其他项目类型”,,然后选择“Visual Studio Installer”,然后选择“安装向导”(或者您也可以直接选择Windows安装项目或Web安装项目 - 向导的优势在于它会询问您几个项目)

  3. 设置向导中,您可以选择是为Windows应用程序还是为Web应用程序创建设置。在这里,选择 Windows应用程序。
  4. 点击下一步> 。将出现“选择要包含的文件”对话框。
    这一步非常重要,因为您可以在此指定要添加到安装程序包的文件。检查您需要包含的项目 - 对于本地化项目,我建议您添加:“本地复制的项目,运行时实施,本地化资源,内容文件”和“主要输出。”
  5. 再次点击下一步> 以显示最后一页(“创建项目”对话框),然后点击完成
  6. 您现在拥有一个安装项目的解决方案。现在您可以添加现有项目(选择解决方案,右键单击并选择“添加现有项目”)。完成后,右键单击安装项目并选择“添加 - >项目输出”。现在您可以选择要包含在安装项目中的项目。

    如果需要,您还可以通过“添加 - >组装...”添加其他程序集,或者,如果有,还可以添加合并模块。

    备注

    • 您需要安装扩展名“Microsoft Visual Studio 2017安装程序项目”(通过工具 - >扩展和更新,在Visual Studio Marketplace中在线搜索)才能选择安装程序如上所述
    • 您添加的项目可以是不同解决方案的一部分。
    • 设置包的4个最重要的属性是:版本 ProductCode 升级代码和< strong>平台(默认为x86)。版本只是一个数字(例如1.0.1),而其他两个属性是GUID。如果您更改包属性中的版本,则Visual Studio会要求创建新的ProductCode(如果您使用“是”回答问题 - 建议这样做)。这允许Windows安装程序区分不同的软件包并允许升级软件包,因为UpgradeCode没有更改。
    • 此外, RemovePreviousVersions 的默认值为false - 但在大多数情况下,您希望将其更改为true(请记住我之前说过的关于ProductCode和UpgradeCode的内容) :安装新版本时自动删除旧版本。