問題描述:
使用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下。