1

我可以保留 WIX 安装的寄存器值并显示在文本框中吗?因为我在注册表中存储了一些值,然后我卸载了产品。如果我安装 WIX 设置如何检查注册表值是否存在(如果存在),那么我想取回该值从注册表和显示到 WIX 文本框。写入注册表我正在做这样的事情:-

 <Property Id="COUNTRIES">
<RegistrySearch Id="RegistryWrite" Type="raw" Root="HKLM" Key="SOFTWARE\MYTest\Test" Name="COUNTRIES" />
</Property>

  <RegistryKey Root="HKLM" Key="SOFTWARE\MYTest\Test" >
  <RegistryValue Name="COUNTRIES" Value="[COUNTRIES]" Type="string"  />

现在有人可以帮助我如何在第二次安装时从注册表中读取值吗?

4

2 回答 2

1

如果我对您的理解正确,您希望在产品安装之间保留注册表值,但您添加到注册表的内容在卸载时会被删除。正确的?

在这种情况下,将具有 RegistryKey/RegistryValue 元素的组件标记为永久。这将在卸载后保留。

于 2013-06-20T07:50:42.547 回答
0

您可以使用 RegistrySearch 获取注册表(如果存在)的值。例如:

  <Property Id="SQLCLRTYPES">
<RegistrySearch Id="SqlClrTypesSearch" Root="HKLM" Type="raw"
                Key="SOFTWARE\Microsoft\Microsoft SQL Server 2012 Redist\SQL Server System CLR Types\1033\CurrentVersion"
                Name="Version"/>

此外,如果您想保留现有注册表的值,可以使用组件的NeverOverwrite属性来实现它。

于 2013-08-12T03:09:53.240 回答