簡體   English   中英

創建一個msi軟件包,在計算機上安裝32位和64位資源

[英]Create an msi package which installs both 32-bit and 64-bit resources on a machine

我需要創建一個MSI包,它可以在一台機器上安裝基於firebreath的插件的32位和64位.dll文件。

我想要實現的是安裝兩個資源並根據瀏覽器使用適合的資源(32位或64位)。 例如,如果我有64位的Windows機器,Chrome 64位和Firefox 32位機器; 我希望能夠從兩個瀏覽器中使用我的插件。

為此,我使用的是Visual Studio 2008和Wix。 到目前為止,我能夠創建一個32位.dll,它被轉換為32位.msi和64位.dll,由於heat.exe而無法轉換為64位.msi錯誤。 我得到類似的內容: https//groups.google.com/forum/#!msg / firebreath-dev / HMGYEgZamUQ / 35WJWfB4zegJ

之前提到的實現將創建2個不同的.msi安裝程序(如果64位msi沒有失敗)。 我想要做的是生成兩個.dll文件(32位.dll和64位.dll),然后將它們打包在一個單獨的.msi安裝程序中,它們同時注冊這兩個文件。

這是可能的,如果是這樣,最好的方法是什么?

Windows Installer不支持此功能。 嚴格來說,.MSI包是特定於平台的。 創建“混合”安裝程序有一些技巧和竅門。 這需要創建一個32位MSI,它可以破壞MSI檢查以將文件安裝到64位位置,並創建自定義操作來創建64位注冊表項。

本書的答案是創建一個32位和64位MSI,然后將它們封裝在一個引導程序中,該引導程序通過程序和功能進行注冊,並安裝2個MSI。 在WiX中,這將使用Burn將2個安裝程序鏈接在一起。

我將在這種情況下做的是主要關注64位安裝程序,而不是創建不同的安裝程序並引導它。
以下是我的方法,如果我錯了,請指出我。

因為Koka想要安裝程序,它將為瀏覽器插件設置東西並根據平台使用瀏覽器。 在這種情況下考慮
1>操作系統是32位因此沒有64位broswer的機會,所以保持安裝程序簡單,設置為32位broswer。
2>現在os是64位。 機會是32/64位瀏覽器,所以使用32位和64位的不同組件創建安裝程序,32位組件將為32位broswer和64位組件設置相同的東西。並將剩余的東西留給操作系統作為32位瀏覽器將始終使用32位firebreath插件。

我相信Regsvr會為所有可用的瀏覽器安裝插件,但在安裝程序中它被認為是不好的做法
這不是一個完整的證據,因為安裝瀏覽器插件時有很多事情需要開發人員在創建安裝程序時注意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM