2014-12-02 104 views
0

在卸载MSI期间,注册表项值无法删除。WIX安装程序在卸载过程中无法删除注册表项

下面是将值添加到注册表的代码示例。 我正在使用NeverOverwrite =“yes”永久=“是”组件的选项,因为注册表值在升级过程中不应重写。

<Component Id="DFService_Registry" Guid="B4F1008F-1CF2-4170-94A5-2466AB15E145" Win64="yes" Directory="DFServicesDir" NeverOverwrite ="yes" Permanent="yes"> 

     <Condition><![CDATA[INSTALL_DFSERVICES=1 AND (NOT OLDER_VERSION_FOUND)]]></Condition> 
     <!--Win64="yes"--> 
     <RegistryKey Root="HKLM" Key='SOFTWARE\VALUEMOMENTUM\DEALFOUNDRY\DealFoundryServices' Action="createAndRemoveOnUninstall"> 
     <RegistryValue Type="string" Name="DfServicesInstalled" Value="Yes"> 
      <![CDATA[NOT OLDER_VERSION_FOUND]]> 
     </RegistryValue> 
     <RegistryValue Type="string" Name="DfServicesWebApplicationName" Value="[DFSERVICES_WEBAPPLICATIONNAME]"> 
      <![CDATA[NOT OLDER_VERSION_FOUND]]> 
     </RegistryValue> 
     <RegistryValue Type="string" Name="DfServicesPortNumber" Value="[DFSERVICES_PORTNUMBER]"> 
      <![CDATA[NOT OLDER_VERSION_FOUND]]> 
     </RegistryValue> 
     <RegistryValue Type="string" Name="DfServicesInstallDir" Value="[INSTALLDFSERVICES_DIR]"> 
      <![CDATA[NOT OLDER_VERSION_FOUND]]> 
     </RegistryValue> 
     </RegistryKey> 

    </Component> 

请帮帮我。

回答

1

通过设置permanent =“yes”,注册表项在卸载过程中不会被删除。使用永久=“否”。

+0

或者只是完全删除永久属性,因为默认行为将删除卸载的注册表项 – BryanJ 2014-12-02 15:45:07

+0

我做了更改但仍然没有删除键。 – user720151 2014-12-03 06:59:52

相关问题