gpt4 book ai didi

directory - 选择后添加浏览安装目录 "${PRODUCT_NAME}"后的 NSIS 目录页面

转载 作者:行者123 更新时间:2023-12-02 15:41:49 27 4
gpt4 key购买 nike

我有一个带有目录页面的简单 NSIS 脚本,用户可以在其中选择一个目录来安装应用程序。请参见下面的示例,如果该应用程序已安装,它会从注册表或 www 根目录或“程序文件\发布者\产品名称”中获取值。

问题是,当我在目录页面上单击浏览并选择特定目录(例如:c:\test)时,当我关闭浏览对话框时,定义的 PRODUCT_NAME 会自动添加到路径:c:\test\发票管理工作流程。如何避免自动添加产品名称?

!define PRODUCT_NAME "Invoice Management Workflow"

!insertmacro MUI_DEFINES
!insertmacro MUI_PAGE_WELCOME
Page directory DirPre
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_INSTFILES

Function DirPre
; set the INSTDIR to
ReadRegStr $0 HKLM "Software\${PRODUCT_PUBLISHER}\${PRODUCT_NAME}" "InstallDirectory"
${If} $0 != ""
StrCpy $INSTDIR $0
Abort
${Else}
; get the install dir from reg
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\InetStp" "PathWWWRoot"
${If} $0 != ""
StrCpy $INSTDIR $0
${EndIf}
${EndIf}
FunctionEnd

最佳答案

这与 InstallDir 指令有关,引用手册:

Note that the part of this string following the last \ will be used if the user selects 'browse', and may be appended back on to the string at install time (to disable this, end the directory with a \ (which will require the entire parameter to be enclosed with quotes).

所以您可能需要 Installdir "$programfiles\${PRODUCT_PUBLISHER}\${PRODUCT_NAME}\"

关于directory - 选择后添加浏览安装目录 "${PRODUCT_NAME}"后的 NSIS 目录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3254050/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com