我已經在qt中製作了一個小軟件,它只有一個可執行文件和幾個dll。我希望有人幫助我理解如何更新exe和dll而不必更換整個exe文件和dll,而是將所做的更改寫入現有的exe或dll。軟件更新過程
Q
軟件更新過程
1
A
回答
1
可以釋放補丁文件包含用戶現有的.exe
和.dll
文件,他們現在需要使用這些文件的版本之間的差異。
當然,您的構建過程仍會生成整套二進制文件,但generating and distributing patch files意味着您的部署更少。
儘管這樣做並不常見,但對於最終用戶來說這更爲複雜,並且(除非您的發行量很大),沒有很高的實際利益。
注1爲什麼這很重要?之間有什麼對你的區別:存在
和
- 舊文件存在
- 舊文件
- 工具鏈只修改變化的字節在現有文件
- 新的文件現在存在,而不是
對於任何實際的目的,我看不出有會是第二受益。
1
如果您對代碼中的特定DLL或EXE進行了更改,則必須重新編譯並重新生成DLL或EXE,然後覆蓋現有的DLL或EXE。我沒有看到你怎麼可能改變現有的exe或DLL,而沒有這樣做。
+0
有diff和補丁工具可用於可執行文件,如bsdiff或(請參閱我的答案)小胡瓜。 – Benoit 2011-05-06 09:11:46
2
你可能對Courgette感興趣,這是Google用來向exe文件傳遞小差異的。
相關問題
- 1. 軟件更新
- 2. 在應用程序中更新定製軟件包的過程
- 3. 通過我的軟件包更新dashboard.config
- 4. 通過ebextensions更新yum-cron軟件包?
- 5. 遠程機器上的軟件更新
- 6. 遠程軟件「自動」更新
- 7. 遠程更新Raspberry Pi軟件'空中'
- 8. 使用C#更新軟件時更新軟件
- 9. 使用軟件更新同步存儲過程
- 10. 差異軟件包,軟件包安裝,軟件包更新
- 11. iTMSTransporter軟件更新問題
- 12. 軟件更新通知
- 13. 軟件更新和UAC
- 14. 更新Cent OS軟件包?
- 15. Force Composer更新軟件包
- 16. 更新Rails軟件包
- 17. iphone軟件更新失敗
- 18. 軟件包更新凍結
- 19. 軟件更新實施
- 20. 軟件更新返回「沒有新的軟件可用」。
- 21. SDLC和軟件過程
- 22. 軟件部署過程
- 23. 新的更新應用軟件Android?
- 24. 數據庫更改軟件更新
- 25. 檢查軟件更新和更新軟件,但不影響數據庫
- 26. 更新客戶端軟件包時未更新的軟件包中出現UnsatisfiedLinkError
- 27. 如何構建可以自行更新的軟件更新軟件?
- 28. 在軟件更新後刷新Backbone應用程序的方法
- 29. 軟件包更新FileOverflow - 文件太大
- 30. 軟件包更新僅在軟件包管理器中顯示
修改現有的exe文件可能會導致AV掃描儀將應用程序標記爲受感染。爲什麼你不想只是替換文件?你必須關閉應用程序來更新或替換exe,那麼你獲得了什麼? – Tony 2011-05-06 09:03:36
「qt中的小軟件」聽起來像是矛盾的。 – n0rd 2011-05-06 09:13:40