1

我正在尝试使用 Wix 写入注册表。

它未能显示错误“错误代码为 2727”

要运行此示例,请按照以下步骤操作。

您需要 c:\testinstall.txt 中的文本文件

它将文件 testinstall.txt 安装在 C:\Program Files\testinstall

蜡烛样品.wxs 灯样品.wixobj

sample.msi 将被创建

当我在脚本中添加此条目时,它失败了。

我只需要一个脚本来创建一个键并将一些值写入注册表。

示例.wxs 代码

2

  <Registry Id="TestKey" 
     Root="HKLM" 
     Key="SOFTWARE\testCorp" 
     Action="createKeyAndRemoveKeyOnUninstall"> 

 <Registry Id="TestValue" 
           Name="TestValue" 
           Action="write" 
           Value="123" 
           Type="string" /> 
 </Registry> 

  </Component>

   </Directory>
  </Directory>
</Directory>

<Feature Id="Feature" Level="1">
 <ComponentRef Id="component0" />
 <ComponentRef Id="ID0EAAA" />
</Feature>

4

1 回答 1

2

您使用的是 WiX v2 吗?无需使用两个注册表项创建注册表值,只需将其全部合并为一行。

<Registry Id="TestKey" Root="HKLM" Key="SOFTWARE\testCorp" Name="TestValue" Value="123" Type="string" Action="write" />

这通常要容易得多。如果你真的想嵌套它们,那么我建议将 Registry/@Action 属性从父注册表项中移除,这样它实际上就不会出现在 MSI 中。只是组织子元素。

请注意,WiX v3 中的语法有点不同。

于 2009-01-15T16:31:45.277 回答