目录
一、创建桌面快捷方式
Guid码的生成
引用icon图标
二、添加菜单栏快捷方式
三、添加卸载快捷方式
四、快捷方式代码示例
1.定义桌面文件夹的目录,在Product.wxs文件的
2.在
Name 属性是快捷方式的名称;
Target 属性是快捷方式要启动的目标文件;
Icon 属性是快捷方式的图标(如果有的话);
Directory 属性设置为 DesktopFolder,以便将快捷方式放在桌面上。
1.【工具】——【创建GUID】;
2.有六种GUID格式选择,这里我选择第四种的;
3.新建GUID,然后复制,把它粘贴到对应地方即可。
ps:可以先在项目的资源文件中添加icon图标,然后在product中引用。
步骤如下:
(1)打开winform项目,【项目】——【(项目名称)属性】,找到【资源】,然后【添加资源】,选择【添加现有文件】;
(2)icon图标添加完毕后,打开Product.wxs文件,在
(3)最后在
3.在安装清单
4.此时运行构建WiX项目就会出现以下错误;
ICE验证错误参考:ICE 参考 - Win32 apps | Microsoft Learn
这个错误ICE43表示组件(DesktopShortcutComponent
)包含了非广告(non-advertised)的快捷方式。WiX 默认要求组件的 KeyPath
使用注册表项(Registry Key)而不是文件。
解决方法:
在
Root 设置为 HKCU(HKEY_CURRENT_USER,当前用户的注册表根键),
Key 设置为注册表项的路径(你可以根据你的需要自定义这个路径),
Name 设置为 Installed,
Type 设置为 integer,
Value 设置为 1,
KeyPath 设置为 yes,以指定这个注册表项作为组件的 KeyPath。
5.解决了ICE43的错误后重新生成WiX项目,其余两个错误没有出现了,该项目就构建成功了。
WiX项目生成文件如下,点击.msi即可安装;
(左边为桌面快捷方式设置的图标,中间为项目设置的图标,右边为控制面板设置的图标)
修改中间和右边的图标可查看:【修改控制面板里的应用程序图标 】
1.定义菜单栏快捷方式的目录,在Product.wxs文件的
2.在
菜单栏快捷方式的GUID码与桌面快捷方式的GUID码不是同一个编码!需要新建GUID!
新建GUID:【Guid码的生成】
Name 属性是快捷方式的名称;
Target 属性是快捷方式要启动的目标文件;
Icon 属性是快捷方式的图标(如果有的话);
Directory 属性设置为 ProgramMenuFolder,以便将快捷方式放在菜单栏上。
要添加一个RegistryValue元素,避免出现ICE错误。
Root 设置为 HKCU(HKEY_CURRENT_USER,当前用户的注册表根键),
Key 设置为注册表项的路径(你可以根据你的需要自定义这个路径),
Name 设置为 Installed,
Type 设置为 integer,
Value 设置为 1,
KeyPath 设置为 yes,以指定这个注册表项作为组件的 KeyPath。
3.在安装清单
4.【 引用icon图标】,为快捷方式创建icon图标;
5.生成WiX项目,成功构建后,点击.msi安装即可。
效果如下图:
上面为控制面板程序图标,中间为桌面快捷方式图标,下面为菜单栏快捷方式图标。
(图标还是尽量保持一致最好)
1.在
新建GUID:【Guid码的生成】
2.在安装清单
3.在安装的文件夹下就可以找到对应卸载方式了。
参考:Wix 安装部署教程(四) 添加安装文件及快捷方式
上一篇:VS2022利用WiX Toolset打包winform程序安装包(4)修改控制面板里的应用程序图标