這是一個假設性問題(待審查問題),但我相信這可能會導致問題。WiX選擇性修補和C#
C#應用程序包含一個exe文件和一些dll。 Visual Studio/msbuild在每個版本(更新時間戳/ GUID/etc)上稍微不同地構建它們,但每個版本在功能上都是相同的。構建服務器處理每日/發佈版本的一致性和卸載工作。
已經發布v1.0.0使用WiX打包和引導,我修復了一些問題lib_1.dll
和版本v1.0.1。這次我還創建了一個只包含lib_1.dll
的差異的補丁,以減小文件大小。到現在爲止還挺好。
現在有趣的部分。
我做了進一步的修改,但是這一次改爲lib_3.dll
,並且發佈了v1.0.2。我做了另一個補丁,這次只包括lib_3.dll
的差異。因此,現在可以將v1.0.0修補爲v1.0.1,就像v1.0.1到v1.0.2一樣,但是由於每個構建略有不同,v1.0.0到v1.0.1到v1.0.2可能會失敗或最終導致損壞的文件由於不正確的差異。可以想像。
所以問題是:這怎麼解決?有沒有簡單的方法來管理二進制文件,所以只有安裝程序中包含真正的變化?比較二進制文件的某種方式忽略了每次構建更改?或者是其他東西?