我正在使用 wix 创建安装程序,但在写入注册表时遇到问题。这是我的 RegistryValue 元素:
<Component Id="CMP_odbcreg" Guid="{115B002E-F4C9-48CD-8E1C-E8803B16AE69}">
<RegistryValue Id="rg_psql"
Root="HKLM"
Key="SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers"
Name="PostgreSQL"
Value="Installed"
Type="string"
KeyPath="yes"
Action="write"/>
</Component>
没有任何内容被写入注册表。该组件在我的主要安装功能中,因此它应该始终写入注册表。我查看了我的日志文件,发现了这个:
MSI (s) (60:1C) [00:00:07:080]: Doing action: WriteRegistryValues
MSI (s) (60:1C) [00:00:07:080]: Note: 1: 2205 2: 3: ActionText
Action 0:00:07: WriteRegistryValues. Writing system registry values
Action start 0:00:07: WriteRegistryValues.
WriteRegistryValues: Key: Writing system registry values, Name: , Value:
Action ended 0:00:07: WriteRegistryValues. Return value 1.
我不知道我的解释是否正确,但似乎根本没有将任何内容写入注册表。除了 CMP_odbcreg 之外,我还有几个使用 heat 生成的其他组件,其中包含应执行的 RegistryValue 元素。我检查了我的 Windows 注册表并确认没有写入任何值。
我有一个 wix 手册,其中包含写入注册表的示例。我尝试将其复制并粘贴到我的安装程序中,并将其添加到主要安装功能中。那也没用
请帮忙!