20
2026
01

Visual Studio 2022 把 C# 项目 打包成msi安装包的方法

在 Visual Studio 2022 中,将 C# 项目打包成 MSI 安装包可以通过安装 Microsoft Visual Studio Installer Projects 2022 扩展并创建 Setup Project 来实现。以下是具体步骤:

一、安装必要扩展

  1. 打开 Visual Studio 2022,点击菜单栏的 “扩展” → “管理扩展”

  2. 在搜索框中输入 “Microsoft Visual Studio Installer Projects 2022”,找到后点击 “安装”

  3. 安装完成后,重启 Visual Studio 2022。

二、创建 Setup Project

  1. 在解决方案资源管理器中,右键点击解决方案 → “添加” → “新建项目”

  2. 在搜索框中输入 “Setup Project”,选择 “Setup Project” 模板(位于 “其他项目类型” → “Setup and Deployment” → “Visual Studio Installer” 下)。

  3. 输入项目名称(如 MyAppSetup),选择路径(建议与主项目同级目录),点击 “创建”

三、配置安装内容

  1. 添加主输出文件

    • 右键 “Application Folder” → “Add” → “Project Output”

    • 选择主项目(如 MyApp),输出类型选择 “Primary Output”(或 “发布项”,适用于 .NET 6/8 项目),点击 “确定”

  2. 添加依赖文件

    • 如果项目依赖第三方库或资源文件,右键 “Application Folder” → “Add” → “File”,手动添加 bin\Release 或 bin\Debug 目录下的所有文件。

  3. 创建快捷方式

    • 右键主输出文件(如 Primary Output from MyApp)→ “Create Shortcut”,重命名为快捷方式名称(如 MyApp)。

    • 将快捷方式拖拽至 “User's Desktop”(桌面)和 “User's Programs Menu”(开始菜单)。

  4. 设置图标

    • 将 .ico 图标文件添加到 “Application Folder”(右键 → “Add” → “File”)。

    • 右键快捷方式 → “属性”,在 “Icon” 属性中选择添加的图标文件。

四、配置安装项目属性

  1. 设置产品信息

    • ProductCode:每次打包时生成新的唯一值(避免覆盖安装问题)。

    • ProductName:软件名称(显示在控制面板中)。

    • RemovePreviousVersions:设置为 True(允许覆盖安装旧版本)。

    • UpgradeCode:保持不变(用于版本升级识别)。

    • Version:软件版本号(新版本需大于旧版本)。

    • TargetPlatform:选择 x86 或 x64(根据项目需求)。

    • 右键安装项目 → “属性”,配置以下属性:

  2. 添加卸载快捷方式(可选):

    • 右键 “User's Programs Menu” → “Add” → “File”,选择 C:\Windows\System32\msiexec.exe

    • 重命名为 Uninstall.exe,右键创建快捷方式并拖拽至 “User's Programs Menu”

    • 右键快捷方式 → “属性”,修改 “Arguments” 为 /X {ProductCode}(替换为实际 ProductCode)。

五、生成安装包

  1. 右键安装项目 → “生成”

  2. 生成完成后,在输出目录(通常为 bin\Release 或 bin\Debug)中找到生成的 .msi 文件。

六、高级配置(可选)

  1. 覆盖安装

    • 确保 RemovePreviousVersions=True,且新版本的 ProductCode 不同、UpgradeCode 相同、Version 更高。

  2. 管理员权限

    • 右键项目 → “添加” → “新建项” → “应用程序清单文件”,修改 <requestedExecutionLevel level="requireAdministrator" />

注意事项

  1. .NET 6/8 项目

    • 在添加项目输出时,选择 “发布项” 而非 “主输出”,并确保解决方案生成方式为 Release -- x64(非默认的 Debug -- Any CPU)。

  2. 依赖项

    • 如果项目依赖第三方库,需手动添加到 “Application Folder” 或通过 “Prerequisites” 配置(右键项目 → “属性” → “Prerequisites”)。

通过以上步骤,你可以将 C# 项目打包成专业的 MSI 安装包,支持覆盖安装、快捷方式创建和图标设置等功能。


« 上一篇