2014-01-28 145 views
5

下面的組件按預期方式執行所有操作,但無法寫入最後一個註冊表項值。我沒有得到任何錯誤。無法使用WiX安裝程序創建註冊表項值

<Component Id="ProgramMenuDir" Guid="68977683-3F36-45EF-9FF4-7B9461A42D06"> 
<RemoveFolder Id="ProgramMenuDir" On="uninstall" /> 
<RegistryKey Root="HKLM" Key="Software\Wow6432Node\[Manufacturer]\[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes"> 
    <RegistryValue Type="string" Name="APIUrl" Value="http://api.blah/" KeyPath="yes" /> 
    <RegistryValue Type="string" Name="Token" Value="blah" /> 
</RegistryKey> 
<RegistryKey Root="HKLM" Key="Software\Wow6432Node\[Manufacturer]\[ProductName]\Tokens" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" /> 
<RegistryKey Root="HKLM" Key="Software\Wow6432Node\[Manufacturer]\[ProductName]\Tokens\WOvN+Lac+d3wRtY0uBUsAeHTYg4x7j2/NWpftWv/16qaOz3J6TpDQmvjUpQmoCWPSFdMpbrcpi4rJd56aBKkkvSR54RsS5xueaYfPgk1QmQ=" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" /> 
<RegistryValue Root="HKLM" Action="write" Key="Software\Microsoft\Windows\CurrentVersion\Run" Name="[ProductName]" Value="blah" Type="string" /> 
</Component> 

爲什麼不寫,卻沒有錯誤?

回答

11

你只是找錯了地方,如果這是一個32位的安裝程序,那麼你需要檢查以下位置 - HKLM \ SOFTWARE \ Wow6432Node \微軟

請記住,這些是根據等價節點64位計算機上

32位安裝程序:在您安裝架構

HKLM\Software\Wow6432Node\Microsoft 

在32位機器上的32位安裝程序或在64位機器上的64位安裝程序:

HKLM\Software\Microsoft 
+0

謝謝大衛。我意識到存在差異,但不知道在哪裏尋找。這是在我的鼻子下。再次感謝。 –

+0

我面臨同樣的問題,但註冊表項也不在Wow6432下。你能幫我嗎 ? –

相關問題