2009-01-15 80 views
1

我正在嘗試使用Wix寫入註冊表。在wix中寫入註冊表 - 用示例wxs文件說明的問題

它未能顯示錯誤 「錯誤代碼是2727」

運行此示例遵循以下步驟。

你需要在C文本文件:\ testinstall.txt

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

蠟燭sample.wxs 光sample.wixobj

當我添加腳本 它未能找到相關

的Sample.msi將創建

所有我需要的是有一個腳本,將創建一個密鑰,並寫入 註冊表的一些值。

sample.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> 

回答

2

您使用的WiX的V2?不要使用兩個註冊表項創建註冊表值,只需將它合併到一行即可。

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

這通常容易得多。如果你真的想嵌套它們,那麼我建議離開父註冊表項的Registry/@ Action屬性,這樣它實際上不會在MSI中結束。只是組織子元素。

注意語法在WiX v3中有點不同。