我已經在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. 遠程更新Raspberry Pi軟件'空中'
- 5. 遠程機器上的軟件更新
- 6. 軟件更新實施
- 7. 軟件更新通知
- 8. iphone軟件更新失敗
- 9. 軟件更新和UAC
- 10. Force Composer更新軟件包
- 11. 軟件更新返回「沒有新的軟件可用」。
- 12. 新的更新應用軟件Android?
- 13. 軟件部署過程
- 14. SDLC和軟件過程
- 15. 更新客戶端軟件包時未更新的軟件包中出現UnsatisfiedLinkError
- 16. 軟件包更新FileOverflow - 文件太大
- 17. 軟件包更新僅在軟件包管理器中顯示
- 18. 更新過程CUBE
- 19. SQL更新過程
- 20. 如何提交軟件包更新?
- 21. 更新軟件包時出錯(0.4)
- 22. Office Addin軟件更新選項
- 23. 如何添加軟件更新訂閱
- 24. Java的Eclipse的軟件更新問題
- 25. 部署Beta軟件更新和Sparkle
- 26. 軟件更新我在Java中
- 27. 使用Docker交付軟件更新
- 28. python卸載和更新軟件包
- 29. debian軟件包更新原子?
- 30. 自動更新軟件的設計
修改現有的exe文件可能會導致AV掃描儀將應用程序標記爲受感染。爲什麼你不想只是替換文件?你必須關閉應用程序來更新或替換exe,那麼你獲得了什麼? – Tony 2011-05-06 09:03:36
「qt中的小軟件」聽起來像是矛盾的。 – n0rd 2011-05-06 09:13:40