我有一個在vs2010中創建的.MSI安裝程序項目。這個.MSI包含許多* .msm(合併模塊文件)。有沒有一種方法可以在安裝過程中根據不同的Windows平臺選擇特定的* .msm(例如:xp,win7,vista ..)?從msi msm中排除dll
例如,如果安裝此.MSI的目標平臺是winXP,則我的.MSI將知道要選擇什麼.msm,而不是在安裝期間選擇所有.msm。
順便說一句,有沒有辦法.MSI訪問駐留在.msm中的特定* .dll?再說一次,例如,如果.MSI項目包含.msm,並且.msm包含許多* .dll,那麼在安裝.MSI期間是否可以在.msm中選擇特定的* .dll?
我的主要目的是讓我的.MSI知道什麼.dll/ .msm在安裝我的.MSI期間在不同的Windows平臺下使用。
[合併模塊](http://msdn.microsoft.com/En-US/Library/Windows/Desktop/673de3ff-e58c-4153-9c8d-c3baebba5eb1)用於提供共享的代碼,文件,資源,註冊表條目以及將應用程序設置爲單個複合文件的邏輯。尤其請參閱有關[使用可配置合併模塊](http://msdn.microsoft.com/en-us/Library/Windows/Desktop/aa372408(v = vs.85).aspx) –
的文檔,謝謝Mark。 .MSI如何在安裝過程中選擇特定的* .msm? – user1835184
合併模塊在安裝之前使用單獨的合併工具合併到基本包中。結果是一個包含附加信息的新軟件包。與下面的答案一樣,將合併備選方案建議爲一個大型軟件包的獨立功能,然後使軟件包能夠選擇要安裝的功能。 –