繁体   English   中英

NSIS安装程序MUI_ICON语句被忽略

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM