简体   繁体   English

使用 NSIS 我可以在 MUI_PAGE_DIRECTORY 页面之间共享值吗?

[英]With NSIS can I share values between MUI_PAGE_DIRECTORY pages?

I have two MUI_PAGE_DIRECTORY pages.我有两个 MUI_PAGE_DIRECTORY 页面。 The first stores the entered data to the default, $INSTDIR.第一个将输入的数据存储到默认值 $INSTDIR。 What I would like to do is copy the value in $INSTDIR to the defined var $DataDir so that before the second directory page is displayed, $DataDir becomes $INSTDIR\\Data.我想要做的是将 $INSTDIR 中的值复制到定义的 var $DataDir 中,以便在显示第二个目录页面之前,$DataDir 变为 $INSTDIR\\Data。 When the second page is displayed I would like the default value to be $INSTDIR\\Data.当显示第二页时,我希望默认值为 $INSTDIR\\Data。

Is this possible?这可能吗?

What are you trying to achieve?你想达到什么目的?

If you want to install some files into two separate locations use MUI_PAGE_DIRECTORY and custom nsDialogs page (with browse folder button) so user can pick up two directories.如果您想将一些文件安装到两个不同的位置,请使用 MUI_PAGE_DIRECTORY 和自定义 nsDialogs 页面(带有浏览文件夹按钮),以便用户可以选择两个目录。

If your location is always $INSTDIR and second is somewhere inside it ($INSTDIR\\some\\data\\path) then you only need to append your inside path to $INSTDIR - there is no need to show dialog twice and select path twice.如果您的位置始终是 $INSTDIR 而第二个在其中的某个位置 ($INSTDIR\\some\\data\\path),那么您只需要将您的内部路径附加到 $INSTDIR - 无需显示两次对话框并两次选择路径。

InstallDir $ProgramFiles\MyApp

Var DataDir
!include MUI2.nsh
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE InstDirPageLeave
!insertmacro MUI_PAGE_DIRECTORY
!define MUI_DIRECTORYPAGE_VARIABLE $DataDir
!define MUI_DIRECTORYPAGE_TEXT_TOP "Choose Data directory for bla bla bla..."
!define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Data Directory:"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW DataDirShowPage
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English

Function InstDirPageLeave
StrCpy $DataDir "$InstDir\Data"
FunctionEnd

Function DataDirShowPage
!insertmacro MUI_HEADER_TEXT "Foo" "Bar"
FunctionEnd

Section
DetailPrint $InstDir
DetailPrint $DataDir
SectionEnd

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 MUI_PAGE_DIRECTORY默认目录 - MUI_PAGE_DIRECTORY default directory 将MUI_PAGE_DIRECTORY页面字段设为只读? - Making MUI_PAGE_DIRECTORY page field readonly? MUI_PAGE_DIRECTORY 所需空间为 0.0KB - Space required on MUI_PAGE_DIRECTORY is 0.0KB NSIS中的MUI页面顺序 - MUI pages order in NSIS 将 MUI2 用于 NSIS 时,如何修改 MUI_WELCOME_PAGE 中的文本? - How can I modify the text in the MUI_WELCOME_PAGE when using MUI2 for NSIS? nsis 安装程序 autoexits/ 自动关闭,我正在使用 pre 和 show 函数来显示目录 MUI 页面 - nsis installer autoexits/ closes automatically , i am using pre and show functions to show a directory MUI page !define MUI_PAGE_DIRECTORY_VARIABLE不创建变量-NSIS - !define MUI_PAGE_DIRECTORY_VARIABLE does not create variable - NSIS NSIS 问题:当“.onInstSuccess” function 未完成时,我可以禁用“MUI_PAGE_FINISH”页面中的“完成”按钮吗? - NSIS question : Can I disable the “Finish” button in “MUI_PAGE_FINISH” page when the “.onInstSuccess” function not finish? 在 NSIS 对话框页面中添加自定义标签,有条件地在 NSIS MUI 目录页面中显示和隐藏标签,如何获取标签的 id - Adding custom labels in NSIS dialog pages, showing and hiding labels in NSIS MUI Directory pages conditionally, how to get the ids of labels 为什么当我添加自定义 nsDialog 页面时,我的 NSIS 脚本似乎跳过了 MUI_PAGE_INSTFILES 等安装页面? - Why does my NSIS script appear to be skipping over installation pages like MUI_PAGE_INSTFILES when I add custom nsDialog pages?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM