How to copy file using NSIS ?
Posted
by Xinus
on Stack Overflow
See other posts from Stack Overflow
or by Xinus
Published on 2010-04-05T12:46:58Z
Indexed on
2010/04/05
12:53 UTC
Read the original article
Hit count: 620
I want to copy war file to tomcat web-app directory using NSIS setup. I have successfully installed tomcat and jdk using following script
!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
There are no script errors but war file is not getting copied to c
drive . How to do it? Also is it possible to identify path to JDK and Tomcat installation using NSIS ?
Sorry if the question is too obvious, I am quite new to NSIS..
© Stack Overflow or respective owner