9

このスクリプトでやりたいことは、既に存在するフォルダーにファイルをコピーすることです。ただし、ルート (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}

誰かが私を助けることができますか?

ありがとうございました

4

1 に答える 1

11

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
于 2009-10-20T20:10:51.807 に答える