如何讓打包的C++安裝程式以管理員身份在Win7下執行
阿新 • • 發佈:2019-02-02
問題描述:
使用VS2010開發的C++專案,使用inno打包後的安裝程式,安裝在系統盤後,在桌面建立的快捷方式必須右鍵以管理員身份才能正常執行,否則雙擊執行程式出現異常。
解決方法:
在VS2010解決方案資源管理器中右鍵啟動專案->屬性,彈出 個工程屬性頁,定位到連結器->清單檔案->UAC執行級別選擇requireAdministrator (/level='requireAdministrator')
,單擊應用、確定,關閉工程屬性頁。
編譯生成新的可執行檔案,重新打包,安裝後的程式,雙擊桌面快捷方式即可正常執行。
後續問題補充:
對於已經安裝VS的Win7環境,上述問題已經解決,但若打包程式的Win7安裝環境尚未安裝VS2010,可能會出現Win32下缺少如下dll檔案的問題
此時的解決方案是使用inno setup打包安裝程式時,直接將這三個dll在程式安裝時拷貝到system32下即可
以下為iss檔案的改動
此時使用inno setup compiler重新編譯iss檔案,生成的可執行檔案就可以在為安裝缺少以上dll的win7系統中運行了。
注意inno下System32正確的destDir是sysnative,否則dll檔案會在安裝時sysWOW64目錄中去,即使destDir寫做{win}\System32\,
dll也不會再安裝時正確拷貝到System32下。