Directory 浏览安装目录后的NSIS目录页${产品名称}”;在选择后添加
我有一个带有目录页面的简单NSIS脚本,用户可以在其中选择一个目录来安装应用程序。请参见下面的示例,如果应用程序已安装,则它将从注册表或www root或“program files\publisher\product name”获取值 问题是,当我单击目录页面上的浏览并选择特定目录(例如:c:\test)时,当我关闭浏览对话框时,定义产品名称会自动添加到路径:c:\test\Invoice Management Workflow。如何避免自动添加产品名称“Directory 浏览安装目录后的NSIS目录页${产品名称}”;在选择后添加,directory,installation,nsis,Directory,Installation,Nsis,我有一个带有目录页面的简单NSIS脚本,用户可以在其中选择一个目录来安装应用程序。请参见下面的示例,如果应用程序已安装,则它将从注册表或www root或“program files\publisher\product name”获取值 问题是,当我单击目录页面上的浏览并选择特定目录(例如:c:\test)时,当我关闭浏览对话框时,定义产品名称会自动添加到路径:c:\test\Invoice Management Workflow。如何避免自动添加产品名称“ 这与InstallDir说明有关,引
这与InstallDir说明有关,引自手册: 请注意,此字符串的部分 如果出现以下情况,将使用最后一个\的后面 用户选择“浏览”,可能是 追加回位于的字符串 安装时间(要禁用此功能,请结束 带有\(这将需要 要包含的整个参数 带引号)
所以你可能想要
Installdir“$programfiles\${PRODUCT\u PUBLISHER}\${PRODUCT\u NAME}\”
哇,我彻底搜索了文档和web,但我找不到这个极其晦涩的“功能”。Thanx!
!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