我有一個Windows應用程序項目 (A.exe時)調用另一個項目 類庫(B.DLL)。安裝項目不替換部件文件
A.exe有一個按鈕(myButton) 從B.dll調用方法Method1。
要安裝應用程序,我創建 安裝項目ASetup.vdproj,其 主要輸出是項目A.
編譯安裝後,安裝 運行沒有任何問題 ,當A.exe時開始和我 單擊myButton,應用程序給出 沒有錯誤。
然後,我改變B.DLL並增加了一個新的方法 方法2。
myButton現在調用Method2從 B.dll而不是Method1。
我增加A.exe時和 ASetup.vdproj的 增量版本的版本,但不增加 B.DLL的版本。
安裝應用程序後,我注意到 我 A.exe時控制面板中的兩個安裝 - >添加/ 刪除程序。
當運行A.exe時,點擊 myButton的我得到一個錯誤,「該 方法方法2中未發現 B.DLL」,這意味着安裝程序 不 安裝過程中替換B.DLL。
我運行卸載,我注意到 文件沒有從磁盤上刪除 。
我的問題是:
爲什麼沒有第二個安裝更新B.DLL? 如果B.dll的版本增加,B.dll將在安裝過程中被替換,但問題是我的當前項目有許多外部程序集,如果它們已被修改或難以控制,則很難控制。基本上,我想要的是所有的程序集文件都在每個安裝中被替換。
我等待大家的反饋。 謝謝大家的關注。
我已經打倒VDPROJ這條道路,在任何時候,你會甲肝幾十這些postbuild腳本來解決的事實,VDPROJ吮吸。現在將VDPROJ轉儲爲另一種工具(WiX或IS 2010 LE),您將擁有更長的使用壽命。 :-)順便說一句,在我的CM專家說,故意運送2個MSI與具有相同文件版本的不同程序集是瘋了。可追溯性至關重要。 – 2010-11-03 13:05:59
@Christopher Painter:這都是非常真實的。 – 2010-11-03 13:09:10
這個「SET Sequence = 1450」命令的意義是什麼?有沒有辦法查看我認爲嵌入MSI某處的「數據庫」? – Qwertie 2013-07-19 22:36:29