NSIS中的多个路径。代码无法执行

NSIS中的多个路径。代码无法执行,nsis,Nsis,在安装之前,我需要向用户询问几个路径,但我无法在NSIS中完成。似乎我的代码在MUI中没有被引用: !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_CUSTOMPAGECOMM

在安装之前,我需要向用户询问几个路径,但我无法在NSIS中完成。似乎我的代码在MUI中没有被引用:

!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico""
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_CUSTOMPAGECOMMANDS
!define MUI_DIRECTORYPAGE
!define MUI_CUSTOMFUNCTION_COMPONENTS_LEAVE ComponentPost
!define MUI_CUSTOMFUNCTION_DIRECTORY_SHOW DirectoryShow
!define MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE DirectoryLeave
在编译时,我得到了

  install function "ComponentPost" not referenced - zeroing code (0-2) out

  install function "DirectoryShow" not referenced - zeroing code (2-49) out

  install function "DirectoryLeave" not referenced - zeroing code (49-61) out

显然,这三个函数的代码在我第一次看到时没有执行!定义MUI_CUSTOMPAGECOMMANDS和其他一些命令。NSIS或手册中没有相关参考。它们是什么

如果要将页面目录添加到安装程序中,请使用名为MUI\u page\u Directory的宏(而不是MUI\u DIRECTORYPAGE)

要为此页面添加预/显示/离开功能,请使用

MUI_PAGE_CUSTOMFUNCTION_PRE function
MUI_PAGE_CUSTOMFUNCTION_SHOW function
MUI_PAGE_CUSTOMFUNCTION_LEAVE function
应在插入页面宏之前设置这些定义


我认为最简单的方法是修改现有示例(可以在NSIS\Examples目录中找到),您的脚本根本没有意义

iirc,MUI_uDirectoryPage是MUI 1.x的语法,您仍然可以在nsis wiki上找到它的许多实例