2012-10-26 59 views
0

我有一個MSI/WIX安裝程序項目,它包含一個合併模塊,該模塊安裝某些自定義USB硬件的驅動程序。合併模塊升級問題

定期生成新版本的安裝程序,但合併模塊在一段時間內未更改。但是,使用我們的安裝程序執行安裝升級時,安裝程​​序會始終重新安裝驅動程序文件,並且會提示Windows即插即用,重新安裝USB設備的設備驅動程序。

如果合併模塊沒有更改,安裝程序將跳過驅動程序安裝。合併模塊的版本號沒有變化,所以這是我期望發生的事情。

合併模塊的版本號是否被主安裝程序包含在內?在這種情況下,如果安裝程序沒有更改,是否可以讓驅動程序文件獨立?

就目前而言,我們的構建系統從一開始就構建了一切。也許解決方案是將合併模塊作爲二進制依賴項包含在內,並且只有在某些內容發生更改時才重新構建它(以及驅動程序工件)?

+0

您是否自動生成組件GUID(使用*)? – Luca

+0

在主安裝程序項目中,包GUID是使用* yes自動創建的。在合併模塊中,它是固定的。 –

+0

我的意思是合併模塊的* Component *元素的* Guid *屬性。 – Luca

回答

2

合併模塊只是一堆表數據/組件。一旦它合併到MSI中,它就不存在了。它看起來並不像你想象的那樣工作。

相反,重點關注MSI在主要和/或次要升級期間如何處理功能,組件和文件,並從這個角度對其進行攻擊。

+0

沒錯。不是第一次,我發現自己完全不理解WIX/MSI安裝程序的工作方式! –