-1
假設我們有msi x.msi,它正在安裝一個xap文件。是否可以覆蓋由其他msi安裝的xap文件?
我們想通過另一個msi覆蓋xap文件(例如使用y.msi)。
是否可以通過其他msi覆蓋?它會有任何問題,因爲它不會有任何關聯的版本號?
如果可能會發生什麼,如果我們卸載x.msi?
是否建議覆蓋由其他msi安裝的文件?
假設我們有msi x.msi,它正在安裝一個xap文件。是否可以覆蓋由其他msi安裝的xap文件?
我們想通過另一個msi覆蓋xap文件(例如使用y.msi)。
是否可以通過其他msi覆蓋?它會有任何問題,因爲它不會有任何關聯的版本號?
如果可能會發生什麼,如果我們卸載x.msi?
是否建議覆蓋由其他msi安裝的文件?
即使是應用程序二進制文件,XAP文件也沒有版本資源,因此Windows安裝程序無法正確版本。因此,你可能會進入DLL地獄,因爲最後一個包會被安裝。
爲了緩解這種情況,可以考慮使用版本構建一個無意義的DLL,並將其用作組件的密鑰文件。這樣MSI將評估基於DLL版本的安裝。這應該可以防止XAP的版本衝突。
確保兩個MSI具有相同的組件標識並且組件標記爲共享。這將適應正確的引用,以便上次卸載將刪除該組件。