如何使用NSIS复制文件?

时间:2010-04-05 12:46:58

标签: tomcat nsis

我想使用NSIS设置将war文件复制到tomcat web-app目录。我已使用以下脚本

成功安装了tomcat和jdk
!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

没有脚本错误,但war文件未被复制到c驱动器。怎么做?还可以使用NSIS识别JDK和Tomcat安装的路径吗?

对不起,如果这个问题太明显了,我对NSIS来说还是新手......

1 个答案:

答案 0 :(得分:5)

尝试

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