WiX刻录引导程序会在HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\SOMEGUID
或HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\SOMEGUID
中安装密钥,具体取决于体系结构。我注意到每当我创建一个新版本时SOMEGUID
都会发生变化。我对SOMEGUID
有一些疑问,如果有人能够解释一下,以下任何一个问题的答案将会非常有用:
SOMEGUID
将成为的内容?SOMEGUID
?答案 0 :(得分:1)
每次编译引导程序项目时,都会为其分配一个新标识 - 一个名为BundleId的GUID,您无法更改。在这方面,您创建的每个捆绑都是唯一的。 UpgradeCode属性允许我们链接两个bootstrappers,使它们成为相关的bundle。此关系允许一个捆绑包检测并升级另一个捆绑包的已安装包。
但提供商密钥硬编码背后的理性是什么?就像在MSI中一样,如果两个捆绑包具有相同的产品代码,它将无法正确处理主要/次要升级。
答案 1 :(得分:1)
我正在使用Wix 3.11版本,并使用以下步骤为Bundle包含自定义ProviderKey 1.将WixDependancy.dll的引用添加到Project。 2.为添加为
的dll文件添加额外标记<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
3.然后使用关键字dep将Provide键定义为
<Bundle Name="ABC" ParentName="ParentName" Version="x.x.x." Manufacturer="ABC Company" UpgradeCode="A-a-a-a-a" dep:ProviderKey="b-b-b-b-b">