2010-04-05 9 views
2

Je souhaite copier le fichier war dans le répertoire de l'application Web Tomcat à l'aide de la configuration de NSIS. Je tomcat et jdk installé avec succès en utilisant un script suivantComment copier un fichier en utilisant NSIS?

!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 

Il n'y a pas d'erreurs de script, mais le fichier de guerre ne reçoit pas copié c lecteur. Comment faire? Est-il également possible d'identifier le chemin vers l'installation JDK et Tomcat à l'aide de NSIS?

Désolé si la question est trop évident, je suis tout à fait nouveau pour NSIS ..

Répondre

5

Essayez

File /oname=c:\DataSubmissionToolFinal.war DataSubmissionToolFinal.war 
+0

@ Robert, C'est vrai, je ne sais pas pourquoi besoin OP pour extraire sous C: \ bien que. – YOU

+0

Ces deux chemins sont-ils supposés être sous des guillemets séparés comme File /oname="c:\DataSubmissionToolFinal.war "" DataSubmissionToolFinal.war "?? – fayyazkl

Questions connexes