如何通过Wix Toolset v3.11让MSI安装程序显示发布者名称?
解决Wix v3.11 MSI在「设置->应用和功能」显示发布者的问题
我之前也碰到过一模一样的情况——明明在Wix的<Product>里设了Manufacturer,注册表的Publisher值也能查到,但Windows设置界面就是不显示发布者名称。下面是几个亲测有效的解决步骤:
显式指定ARPPUBLISHER属性
虽然你已经在<Product>元素里设置了Manufacturer="My Company Name",但Windows设置界面读取的是MSI中的ARPPUBLISHER属性(对应传统添加/删除程序的发布者信息)。有时候Wix不会自动把Manufacturer映射到这个属性,建议显式声明:<Property Id="ARPPUBLISHER" Value="My Company Name" />这个属性会确保卸载信息里的发布者值被系统准确识别。
对MSI进行数字签名
Windows对未签名的桌面应用,经常会隐藏发布者信息(因为无法验证来源可信度)。你需要用有效的代码签名证书给生成的MSI签名:- 从正规机构获取代码签名证书(比如DigiCert、GlobalSign)
- 使用
signtool.exe执行签名,命令示例:
签名完成后,系统会信任该安装包,发布者名称就能在设置界面正常显示了。signtool sign /f "你的证书文件.pfx" /p "证书密码" /t "http://timestamp.digicert.com" "你的应用安装包.msi"
用Orca验证MSI属性
可以用Windows SDK自带的Orca工具检查MSI数据库里的属性是否正确:- 打开Orca并加载你的MSI文件
- 找到
Property表,确认ARPPUBLISHER和Manufacturer的值都是你的公司名称
另外你提到的商店应用注册表位置确实和传统桌面MSI不同,它们属于UWP应用,存在专门的AppModel路径下,咱们的桌面MSI完全不需要管那个位置,只要做好上面几步,发布者就会正常出现在「设置->应用和功能」的条目里。
内容的提问来源于stack exchange,提问作者Tim S
相关产品推荐
相关产品推荐

