2016-06-20 66 views
0

我用Wix編寫了一個安裝程序。一切正常,但我無法刪除卸載上的註冊表項;日誌說Wix工具集。無法在卸載時刪除註冊表鍵

如果不允許組件卸載:{...}因爲另一個客戶端 存在

。代碼是

<ComponentGroup Id="RegistryGroup"> 
    <Component Id="_FB6B829B_467B_4EB8_B90C_9FF64097AD38" Guid="3FBC3951-B566-4EB9-842C-9FB70A8ECDE6" Transitive="no" Directory="TARGETDIR"> 
    <RegistryKey Root="HKCU" Key="Software" ForceCreateOnInstall="no" ForceDeleteOnUninstall="no" /> 
    </Component> 
    <Component Id="_F47C127C_2EAC_4F0C_B742_03FFBCABE8AE" Guid="A5D5FF6A-1EEA-4941-9DC5-573FDCB595A5" Transitive="no" Directory="TARGETDIR"> 
    <RegistryKey Root="HKCU" Key="Software\[Manufacturer]" ForceCreateOnInstall="no" ForceDeleteOnUninstall="yes" /> 
    </Component> 
    <Component Id="_684BCAC8_3162_4C7C_93A3_908CA1485F5C" Guid="92BF7699-68B1-44EE-BDE8-AF7E7CEB0EB0" Transitive="no" Directory="TARGETDIR"> 
    <RegistryKey Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" ForceCreateOnInstall="no" ForceDeleteOnUninstall="yes" /> 
    </Component> 
    <Component Id="_FC3941D7_6617_4313_8257_5C3DE03A9838" Guid="7DCD2392-AC9A-4690-BC99-FEACAA774B08" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="ProductName" Value="[ProductName]" /> 
    </Component> 
    <Component Id="_B86DABB3_7467_428B_9ECF_A6F59DB594E4" Guid="7A61E342-9764-4AA4-86A9-87C7A9C1DB09" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="ProductCode" Value="[ProductCode]" /> 
    </Component> 
    <Component Id="_201EDD75_B6C7_4873_8AF9_06230F421B4F" Guid="52AE095B-FDEE-4923-B78A-F314BC26C6B6" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="Company" Value="[Manufacturer]" /> 
    </Component> 
    <Component Id="_B76910AF_8752_45C2_98BF_80724406E3F9" Guid="81B183E7-67CA-4EF6-848E-55F8299B0A5C" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="ProductVersion" Value="[ProductVersion]" /> 
    </Component> 
    <Component Id="_9BF1C162_A7A6_4B43_9D7C_6BD85C6C4F27" Guid="A571BA72-2216-49F0-AC28-E72C0866E9A3" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="Location" Value="[TARGETDIR]" /> 
    </Component> 
    <Component Id="_B140E686_B49A_4BE4_93B3_DEEB07E5218E" Guid="F8996C3A-48EA-40DD-818B-5DC095B5F46F" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="Author" Value="[ARPCONTACT]" /> 
    </Component> 
    <Component Id="_801F11AF_23B6_4C63_AEE7_05EB877E6543" Guid="0EC7189F-95BE-411E-BE48-A469032923F4" Transitive="no" Directory="TARGETDIR"> 
    <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Name="Website" Value="[ARPHELPLINK]" /> 
    </Component> 
</ComponentGroup> 

怎麼了?

回答

1

您有兩個或多個使用共享相同GUID的組件安裝。您可能以某種方式錯誤地創作了安裝的升級版本,因此每次測試安裝時都會添加更多對與這些註冊表項綁定的GUID的引用。您的產品機器上也可能有多個安裝。

您應該在HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Installer \ S-1-5-18 \ Components {GUID}下有一堆註冊表項請注意,GUID將是一種不同的格式,因爲字節序(我認爲)May help

我建議用乾淨的快照,你可以恢復的情況下,在創作一個破碎的安裝程序並不能安裝在虛擬機在一個乾淨的環境中測試您的安裝最好/卸載/升級安裝程序並使您的機器進入不良狀態。