向用户询问NSIS中的其他目录位置

向用户询问NSIS中的其他目录位置,nsis,Nsis,我有一个NSIS脚本,它要求用户提供安装目录,但我想让用户在新页面上再提供一个临时目录。有没有一种方法可以让我使用nsDialogs为eg指定一个临时目录来添加一个新页面 C:\temp 并且还允许他们选择不同的目录,然后将所选目录的值存储在变量中如果您只需要一个类似于安装目录页面的对话框,您不需要自己创建对话框:您只需调用MUI_页面_目录两次即可。来自现有设置的示例: !insertmacro MUI_PAGE_DIRECTORY ; <= it will store the sel

我有一个NSIS脚本,它要求用户提供安装目录,但我想让用户在新页面上再提供一个临时目录。有没有一种方法可以让我使用nsDialogs为eg指定一个临时目录来添加一个新页面

C:\temp

并且还允许他们选择不同的目录,然后将所选目录的值存储在变量中

如果您只需要一个类似于安装目录页面的对话框,您不需要自己创建对话框:您只需调用
MUI_页面_目录两次即可。来自现有设置的示例:

!insertmacro MUI_PAGE_DIRECTORY ; <= it will store the selected directory into $INSTDIR

;second directory selection
!define MUI_PAGE_HEADER_SUBTEXT "Choose the folder in which to install the database."
!define MUI_DIRECTORYPAGE_TEXT_TOP "The installer will install the database(s) in the following folder. To install in a differenct folder, click Browse and select another folder. Click Next to continue."
!define MUI_DIRECTORYPAGE_VARIABLE $DbInstDir ; <= the other directory will be stored into that variable
!insertmacro MUI_PAGE_DIRECTORY

在该回调中,测试是否需要显示目录选择。如果没有,调用
中止将跳过该页。

以防您不知道这一点:NSIS安装程序可以创建(或者,如果使用插件,将创建)一个临时文件夹。您可以使用命令对其进行初始化

!define MUI_PAGE_CUSTOMFUNCTION_PRE some_custom_function