[英]NSIS installer MUI_ICON statement ignored
我正在嘗試在Windows 8.1上使用NSIS構建exe文件。 安裝程序必須在用戶級別(而不是管理員)運行,因為這會破壞其他功能。
我無法使用以下語句將正確的圖標分配給exe文件:
!include MUI2.nsh
!define MUI_ICON "path_to_icon.ico file"
除非我還包括以下內容,否則以上內容將無效:
!insertmacro MUI_PAGE_WELCOME
包含MUI_PAGE_WELCOME的不良后果(令人費解的)是無法在用戶執行級別啟動安裝程序(運行安裝程序exe時沒有窗口出現,盡管將鼠標懸停在底部任務欄中的圖標上會顯示空白窗口)。 如果我使用“以管理員身份運行”來調用安裝程序,它將啟動(窗口會顯示並安裝了文件),但會導致啟動的應用程序以“管理”模式運行(不需要)。
對於我的生活,我無法弄清楚MUI_PAGE_WELCOME和MUI_ICON之間的依賴性以及使用前者作為Admin運行exe的需要。
還有其他人遇到過這個問題嗎?
沒有完整的示例,我實際上可以編譯,很難知道這里發生了什么。
我可以告訴您,使用MUI時,您必須插入至少一個MUI_PAGE_ *宏和至少一個MUI_LANGUAGE宏。 這些宏之一基本上只是執行Icon "${MUI_ICON}"
來設置圖標,但這只是實現細節。
要控制UAC提升請求,您應該使用RequestExecutionLevel
屬性。
Outfile "Test.exe"
RequestExecutionLevel user
!include MUI2.nsh
!define MUI_ICON "myicon.ico"
!insertmacro MUI_PAGE_WELCOME ; Commenting out this line has no effect on the icon nor UAC elevation
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English
Section
SectionEnd
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.