【发布时间】:2020-08-12 02:50:47
【问题描述】:
我想验证用户选择的安装路径。我不知道如何检查它,所以它看起来像这样:
- 您不能选择带空格的路径(Program Files 除外)
- 点击“安装”时会提示需要更改安装目录的错误
现在我有这个:
Function StrStr
Exch $1 ; st=haystack,old$1, $1=needle
Exch ; st=old$1,haystack
Exch $2 ; st=old$1,old$2, $2=haystack
Push $3
Push $4
Push $5
StrLen $3 $1
StrCpy $4 0
; $1=needle
; $2=haystack
; $3=len(needle)
; $4=cnt
; $5=tmp
loop:
StrCpy $5 $2 $3 $4
StrCmp $5 $1 done
StrCmp $5 "" done
IntOp $4 $4 + 1
Goto loop
done:
StrCpy $1 $2 "" $4
Pop $5
Pop $4
Pop $3
Pop $2
Exch $1
FunctionEnd
Function .onVerifyInstDir
Push "$INSTDIR"
Push " "
Call StrStr
Pop $0
StrCpy $0 $0 1
StrCmp $0 " " 0 +2
Abort
FunctionEnd
当路径中有任何空间时,它拒绝安装。我需要对此进行修改,因此 Program Files 将是该规则的唯一例外。此外,打印错误消息会有所帮助
【问题讨论】:
标签: nsis electron-builder