0
使用Wix 3.11
和Visual Studio 2017
。我的安裝包內置兩次,條件標誌修改UpgradeCode
以允許可以共存的兩個品牌(產品ID是自動生成的)。因此,我希望能夠安裝和/或卸載Brand A
和Brand B
而不會導致這兩者中的任何一個出現問題。他們被認爲是兩種不同的裝置。不過,我想保持我的Wix代碼清潔和簡單。並排安裝中的組件不能正確卸載
此方案的工作原理:
- 裝品牌A.
- 卸載品牌A.
這種情況不起作用:
- 裝品牌A.
- I nstall品牌B.
- 卸載品牌A.條目「A」從控制面板中消失,但文件保持不變。
我可以看到註冊表中的重要值仍然存在。
<DirectoryRef Id="INSTALLLOCATION">
<Component Id="MyExecutables" Guid="12345678-ABCD-1234-5678-111122223333" Win64="$(var.Win64)">
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\$(var.Brand)\Uninstall" Name="InstalledSoftware" Value="1" Type="integer" KeyPath="yes" />
</Component>
</DirectoryRef>
正如你所看到的,Key
是不同品牌的不同,但Guid
是一樣的!我相信這與它有關。也許我需要不同品牌的不同指導?
問:解決此問題的最佳方法是什麼?