我要用此脚本执行的操作是将文件复制到已经存在的文件夹中。
但是它可以位于根目录(C :)或程序文件中。
那里是我想要的,但是此脚本不起作用:
${If} ${FileExists} "C:\Cisco Systems\VPN Client\Profiles"
InstallDir "C:\Cisco Systems\VPN Client\Profiles"
${ElseIf} ${FileExists} "$PROGRAMFileS\Cisco Systems\VPN Client\Profiles"
InstallDir "$PROGRAMFileS\Cisco Systems\VPN Client\Profiles"
${EndIf}
有人可以帮我吗?
谢谢
最佳答案
使用StrCpy在.onInit中设置$ instdir:
!include LogicLib.nsh
InstallDir "C:\Something\something" ; Used if neither of the files exist.
Function .onInit
${If} ${FileExists} "C:\Cisco Systems\VPN Client\Profiles"
StrCpy $InstDir "C:\Cisco Systems\VPN Client\Profiles"
${ElseIf} ${FileExists} "$ProgramFiles\Cisco Systems\VPN Client\Profiles"
StrCpy $InstDir "$ProgramFiles\Cisco Systems\VPN Client\Profiles"
${EndIf}
FunctionEnd
关于NSIS-根据FileExists定义InstallDir,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1595381/