2016-11-17 42 views
-1

MSI包本身是x64,但包中定義的註冊表項(HKLM/SOFTWARE/[Key])是在64位系統中寫入Wow6432Node的。是什麼讓MSI選擇HKLM/SOFTWARE/HKLM/SOFTWARE/Wow6432Node

我使用InstallShield作爲工具。

定義的註冊表項是這樣的: 「HKLM \ SOFTWARE \ [軟件]」

,我有當包裹被部署進程監視器條目:

msiexec.exe RegCreateKey HKLM\SOFTWARE\Wow6432Node\[software] SUCCESS 

什麼想法?

回答

4

你應該說你正在使用哪個工具來構建你的MSI,以及你對註冊表項的定義是什麼樣子,但最明顯的解釋是包含的組件是一個32位組件。它應該被標記爲64位組件以寫入本機64位註冊表。 64位MSI可以寫入32位和64位註冊表位置和文件系統。

+0

我正在使用InstallShield,並且定義的密鑰類似於「HKLM \ SOFTWARE \ [軟件]」。我有兩個包含32位或64位版本組件的軟件包,但它們都寫入「HKLM \ SOFTWARE \ Wow6432Node \ [軟件]」而不是「HKLM \ SOFTWARE \ [軟件]」 –