2011-01-19 56 views
0

我正在使用CPack NSIS生成器來創建安裝程序。但是,每次我發佈新版本時,我們的用戶都會在不卸載舊版本的情況下運行新的安裝程序(這是可以理解的)。如何使CPack(NSIS)正確升級以進行新安裝?

是否可以讓安裝程序覆蓋所有現有的文件?如果沒有,那麼是否有辦法阻止安裝,如果它已經安裝?

此外,我們的CPack調用被另一個腳本包裹,作爲最後的手段,我可​​以破解/重新配置project.nsi文件,以便它執行上述操作之一?

回答

0

我的解決辦法是單獨維護NSIS文件,原來是沒有多少額外的努力。

4

您必須編輯CPack使用的NSIS模板。你可以在你的cmake安裝文件夾/ Modules/NSIS.template.in中找到它。

還有,某個地方,也許在常規部分的開頭,你可以把: SetOverwrite上

這應該做的伎倆,雖然我沒有嘗試一下的機會。

有關SetOverwrite的參數的詳細信息閱讀NSIS腳本manual