我想使用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来说还是新手......
答案 0 :(得分:5)
尝试
File /oname=c:\DataSubmissionToolFinal.war DataSubmissionToolFinal.war