Visual studio下使用 Wix 打包 C#/WPF 程序的中文安装包
- 1 下载并安装 Wix Toolset
-
- 1.1 下载WIX Toolset
- 1.2 安装
- 1.3 配置系统环境变量path
- 1.4 找不到 WiX 工具 candle.exe
- 2 安装Visual studio 20202,并安装插件
-
- 2.1 下载并安装 Visual Studio
- 2.2 步骤二:安装 Wix v3 扩展插件
- 3 创建安装项目
-
- 3.1 创建 Wix Toolset v3 安装项目
- 3.2 我们来了解下 Product 的属性
- 2.3 打中文安装包
-
- 3.4 修改 Product 属性
-
- 3.4.1 修改Id
- 3.4.2 设置简体中文,修改Id、产品名称、制作厂商
- 3.5 添加引用
-
- 3.5.1 准备一个待打包的项目
- 3.5.2 添加引用待打包的项目
- 4 添加用户界面
- 4.1 引用WixUIExtension.dll
-
- 4.2 使用wix用户界面
- 4.3 修改程序图标与控制面板图标
- 4.4 修改安装成功后显示的提示信息
1 下载并安装 Wix Toolset
1.1 下载WIX Toolset
下载路径:Release WiX Toolset v3.11.2 · wixtoolset/wix3 · GitHub,下载地址:https://wixtoolset.org/releases/v3.11/stable
1.2 安装
下载者两个都可以,建议下载wix311.exe,直接安装。
1.3 配置系统环境变量path
如果下载压缩包,则直接解压,然后将解压路径添加到系统环境变量path里面去
1.4 找不到 WiX 工具 candle.exe
- 问题:编译MyWixSetup时出错,错误信息如下:
未能加载文件或程序集“System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 MyWixSetup candle.exe 0
当我们在使用C#开发程序时,经常会遇到需要引用外部的dll文件来扩展程序的功能或者使用一些第三方库。然而,在引用这些dll文件的过程中,有时候会遇到上面的问题。
这个错误信息通常意味着程序在执行过程中需要引用一个名为“System.Runtime”的dll文件,但是系统找不到这个文件或者它的某一个依赖项。这种情况可能会导致程序无法正常执行,给开发人员带来很大的困扰。
那么,我们该如何解决这个问题呢?首先,我们需要明白这个错误信息背后的原因。通常情况下,这种错误是由于程序所需的dll文件不存在、版本不匹配或者缺少依赖项导致的。因此,我们可以从以下几个方面来排查和解决这个问题:
- 确保所需的dll文件存在
首先,我们需要确认所需的“System.Runtime” dll文件是否存在于我们的项目引用路径中。有时候,我们可能会将dll文件放在错误的路径下或者忘记将它包含在项目中,导致程序无法找到这个文件。因此,我们需要检查项目引用路径和相关配置,确保所需的dll文件被正确引用。
- 启动windows的.Net Framework 3.5.1
打开控制面板 ==> 程序和功能 ==> 启用或关闭windows功能,勾选如下选项
2 安装Visual studio 20202,并安装插件
2.1 下载并安装 Visual Studio
从Visual Studio 官方网站的下载想安装版本的在线安装程序,运行后在线安装
官方网站:https://visualstudio.microsoft.com/zh-hans/downloads/
2.2 步骤二:安装 Wix v3 扩展插件
- 打开Visual Studio 2022,选择 “扩展->管理扩展(…)”,在出现的扩展管理器中输入"Wix",找到Wix v3的扩展插件,点击右边的"安装"按钮进行安装。
等待下载完成后重启Visual Studio,出现VSIX安装界面
选择Modify
等待安装完成,重启Visual Studio
3 创建安装项目
3.1 创建 Wix Toolset v3 安装项目
- 新建项目,打开想打包程序集的解决方案,选中解决方案->右键->添加->新建项目,选择Wix类型的Setup Project for Wix Toolset v3:
配置项目名称和位置
创建后,解决方案下面会多一个MyWixSetup工程,这个工程下面有一个Product.wxs 文件,默认已经打开,这是一个XML文件,也就是工程的配置文件。
3.2 我们来了解下 Product 的属性
属性 | 说明 |
---|---|
Id | 产品的GUID,GUID可以借助VS–>工具—>创建GUID来创建,不要括号 |
Codepage |