title: How to copy file using NSIS?
body: <p>I want to copy war file to tomcat web-app directory using NSIS setup. I have successfully installed tomcat and jdk using following script</p>
  
  <pre><code>!define PRODUCT_NAME "App Deploy"
  !define PRODUCT_VERSION "1.0"
  !define PRODUCT_PUBLISHER "ZippySoft"
  
  SetCompressor lzma
  
  ;!include "UserManagement.nsh"
  
  
  ; MUI 1.67 compatible ------
  !include "MUI.nsh"
  
  ; MUI Settings
  !define MUI_ABORTWARNING
  ;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
  
  ; Welcome page
  !insertmacro MUI_PAGE_WELCOME
  ; Components page
  !insertmacro MUI_PAGE_COMPONENTS
  ; Instfiles page
  !insertmacro MUI_PAGE_INSTFILES
  ; Finish page
  !insertmacro MUI_PAGE_FINISH
  
  ; Language files
  !insertmacro MUI_LANGUAGE "English"
  
  ; Reserve files
  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
  
  ; MUI end ------
  
  Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  OutFile "AppDeploy.exe"
  InstallDir "$PROGRAMFILES\App Deploy"
  ShowInstDetails show
  
  ;Section -SETTINGS
  ;  SetOutPath "$INSTDIR"
  ;  SetOverwrite ifnewer
  ;SectionEnd
  
  ;Section "JDK" SEC01
  ;  File "Prerequisites\jdk-1_5_0_15-windows-i586-p.exe"
  ;  ExecWait "$INSTDIR\jdk-1_5_0_15-windows-i586-p.exe"
  ;SectionEnd
  
  ;System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("name", "value").r0'
  ;StrCmp $0 0 error
  ; ExecWait ProgThatReadsEnv.exe
  ;  Goto done
  ;error:
  ;  MessageBox MB_OK "Can't set environment variable"
  ;done:
  
  ;Section "Tomcat" SEC02
  ;  File "Prerequisites\apache-tomcat-6.0.16.exe"
  ;  ExecWait "$INSTDIR\apache-tomcat-6.0.16.exe"
  ;SectionEnd
  
  Section "Data Submission Tool" SEC03
      File "Prerequisites\DataSubmissionToolFinal.war"
      CopyFiles `$INSTDIR\DataSubmissionToolFinal.war` `c:\DataSubmissionToolFinal.war`
      StrCpy $0 "$INSTDIR\DataSubmissionToolFinal.war" ;Path of copy file from
      StrCpy $1 "c:\DataSubmissionToolFinal.war"   ;Path of copy file to
      StrCpy $2 1 ; only 0 or 1, set 0 to overwrite file if it already exists
      System::Call 'kernel32::CopyFile(t r0, t r1, b r2) l'
      Pop $0 ; pops a bool.  if overwrite is off and there is a file then error will be 1
  SectionEnd
  </code></pre>
  
  <p>There are no script errors but war file is not getting copied to <code>c</code> drive . How to do it? Also is it possible to identify path to JDK and Tomcat installation using NSIS ? </p>
  
  <p>Sorry if the question is too obvious, I am quite new to NSIS.. </p>