VS2022利用WiX Toolset打包winform程序安装包(5)

《添加桌面和菜单栏快捷方式》

目录

一、创建桌面快捷方式

Guid码的生成

引用icon图标

二、添加菜单栏快捷方式 

三、添加卸载快捷方式

四、快捷方式代码示例


一、创建桌面快捷方式

1.定义桌面文件夹的目录,在Product.wxs文件的部分定义这个目录;


    
        
        
    

2.在部分,添加一个新的元素来定义应用程序快捷方式;


    

Name 属性是快捷方式的名称;

Target 属性是快捷方式要启动的目标文件;

Icon 属性是快捷方式的图标(如果有的话);

Directory 属性设置为 DesktopFolder,以便将快捷方式放在桌面上。

Guid码的生成

1.【工具】——【创建GUID】;

VS2022利用WiX Toolset打包winform程序安装包(5)_第1张图片

2.有六种GUID格式选择,这里我选择第四种的;

VS2022利用WiX Toolset打包winform程序安装包(5)_第2张图片

3.新建GUID,然后复制,把它粘贴到对应地方即可。

引用icon图标

ps:可以先在项目的资源文件中添加icon图标,然后在product中引用。

步骤如下:

(1)打开winform项目,【项目】——【(项目名称)属性】,找到【资源】,然后【添加资源】,选择【添加现有文件】;

VS2022利用WiX Toolset打包winform程序安装包(5)_第3张图片

(2)icon图标添加完毕后,打开Product.wxs文件,在元素中引用;


(3)最后在 元素中的修改Icon="Icon名字"对应上Icon的id。

3.在安装清单元素中引用这个组件,以确保它会被安装;


    
    

4.此时运行构建WiX项目就会出现以下错误;

 ICE验证错误参考:ICE 参考 - Win32 apps | Microsoft Learn

这个错误ICE43表示组件(DesktopShortcutComponent)包含了非广告(non-advertised)的快捷方式。WiX 默认要求组件的 KeyPath 使用注册表项(Registry Key)而不是文件。

解决方法:

部分,元素中添加一个RegistryValue元素。


    

    
    

Root 设置为 HKCU(HKEY_CURRENT_USER,当前用户的注册表根键),

Key 设置为注册表项的路径(你可以根据你的需要自定义这个路径),

Name 设置为 Installed,

Type 设置为 integer,

Value 设置为 1,

KeyPath 设置为 yes,以指定这个注册表项作为组件的 KeyPath。

5.解决了ICE43的错误后重新生成WiX项目,其余两个错误没有出现了,该项目就构建成功了。

WiX项目生成文件如下,点击.msi即可安装;

VS2022利用WiX Toolset打包winform程序安装包(5)_第4张图片

(左边为桌面快捷方式设置的图标,中间为项目设置的图标,右边为控制面板设置的图标)

修改中间和右边的图标可查看:【修改控制面板里的应用程序图标 

二、添加菜单栏快捷方式 

 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安装即可。 

 VS2022利用WiX Toolset打包winform程序安装包(5)_第5张图片

效果如下图: 

上面为控制面板程序图标,中间为桌面快捷方式图标,下面为菜单栏快捷方式图标。

(图标还是尽量保持一致最好)

VS2022利用WiX Toolset打包winform程序安装包(5)_第6张图片

 

三、添加卸载快捷方式

1.在部分,添加一个新的元素来定义卸载程序快捷方式;

新建GUID:【Guid码的生成】



	
	
			

2.在安装清单元素中引用这个组件,以确保它会被安装;

		
			
            
						
		

3.在安装的文件夹下就可以找到对应卸载方式了。

VS2022利用WiX Toolset打包winform程序安装包(5)_第7张图片

 

四、快捷方式代码示例



	
		

		
		

		
			
			
			
			
			
		
		
		
		
			
			
		
		
					
		
		 
		
		
		
		
	
	

	
		
		
			
			
			 
			
				
			
			
									
				
			
					
	
			
	
		
			
			
				
			
			
			
			
								
			

			
			
				
				
				
			
			
			
			
					
				
										
			

			
			
				
						
			

		
	

参考:Wix 安装部署教程(四) 添加安装文件及快捷方式

上一篇:VS2022利用WiX Toolset打包winform程序安装包(4)修改控制面板里的应用程序图标

你可能感兴趣的:(VS2022,WiXToolset,visual,studio,windows,xml)