![](/img/trans.png)
[英]Visual Studio Crystal Reports on 64 and 32 bit installer (advance installer)
[英]Make Installer for Both 64 and 32 bit
我使用WIX
為DLL創建MSI安裝程序。
我想制作一個安裝程序,該程序可以在64位平台上和32位平台上安裝該程序。
我必須定義的注冊表項對於32位和64位是不同的。
如果是64位平台,這是我必須創建密鑰的條目:
H_KEY_LOCALMACHINE\Software\Wow6432Node\Sparx Systems\EAAddins\AdminAddins
如果是32位平台,這是我必須在其中創建密鑰的條目:
H_KEY_LOCALMACHINE\Software\Sparx Systems\EAAddins\AdminAddins
這是在代碼中定義注冊表項的方式:
<Component Id="AdminAddinsRegEntries" Guid="8777A7AB-B147-4850-9F25-65011306E9C6" >
<RegistryKey Root="HKLM" Key="Software\Wow6432Node\Sparx Systems\EAAddins\AdminAddins" Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Value="AdminAddins.MyClass" />
</RegistryKey>
</Component>
如何添加條件以避免兩個不同的安裝程序?
您只需要制作一個32位安裝程序包。 就這樣。 系統通過注冊表重定向器將為您處理單獨的32/64位注冊表視圖的所有詳細信息。
當將32位軟件包安裝在64位系統上時,將由32位進程處理,並且需要進行注冊表重定向。 重定向器將安排將密鑰寫入注冊表的32位視圖中。
您不應該對Wow6432Node
字符串進行硬編碼。 萬一您錯過了這一點,讓我再說一遍。 您不應該對Wow6432Node
字符串進行硬編碼。
因此,總結一下:
Software\\Sparx Systems\\EAAddins\\AdminAddins
作為注冊表項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.