2016-06-20 2 views
0

Wix로 설치 프로그램을 작성했습니다. 모두 작동하지만 제거시 레지스트리 키를 삭제할 수 없습니다. 다른 클라이언트 가Wix Toolset. 제거시 레지스트리 키를 삭제할 수 없습니다.

존재하기 때문에 {...} : 로그는 구성 요소의

불허 제거를 말한다. 코드는

<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는 다음과 같은 이유로 인해 다른 형식이 될 것입니다. endaanness May help

설치 프로그램을 깨끗한 환경에서 테스트 해 보시고 (예 : 깨진 설치 프로그램을 작성하고 설치 프로그램을 제거하거나 설치 프로그램을 업그레이드 할 수 없을 때 되돌릴 수있는 클린 스냅 샷이있는 VM) 것이 좋습니다. 컴퓨터를 나쁜 상태로 만들 수 있습니다.

관련 문제