32位wix安装程序注册常规和哇目录的密钥,但它只删除wix中的常规目录

时间:2014-06-04 21:56:20

标签: wix

我的安装程序是一个32位程序,当我将它安装到64位Windows 7时,它会写入注册表中的64和wow目录。但是,当我删除程序时,wow目录键仍然保留在那里,因此DotNetInstaller仍然将其标记为已安装,尽管它不是。这是注册表键部分:

  <Component Id="ClientRegKey" Guid="{9239B7BA-71FA-4703-A597-355522505E7D}">
    <RegistryKey Id="Registry_Client" Root="HKLM" Key="Software\Client\Client11"
                Action="createAndRemoveOnUninstall" >
      <RegistryValue   KeyPath="yes" Name="Installed" Type="integer" Value="1" Win64="yes"/>
    </RegistryKey>
  </Component>

1 个答案:

答案 0 :(得分:0)

在您的注册表值元素中,您为什么这样做 提到win64 = true?这甚至是一个有效的属性,我在文档中没有看到它。

http://wixtoolset.org/documentation/manual/v3/xsd/wix/registryvalue.html

我认为该属性导致安装程序在常规节点中创建注册表项。默认情况下,Windows 7上的x86安装程序将仅在Wow节点中创建注册表项。请删除该属性,我认为没问题。

从文档中看,似乎不推荐使用action属性,看看它也是如此。

相关问题