使用nsis将jar复制到新文件夹

时间:2013-03-19 08:11:36

标签: java deployment environment-variables nsis

我使用以下脚本创建的设置将其包含的所有文件复制到一个文件夹,我想在lib文件夹中创建一个文件夹Calculator,并将所有jar文件复制到lib文件夹中,这样我的应用程序可以找到我在类路径中指定的jar。如何使用NSIS设置环境变量。请帮忙,因为我是NSIS的新手。

; Name of our application
Name "Calculator"

; The file to write
OutFile "Calculatorv1.0_Setup.exe"

; Set the default Installation Directory
InstallDir "$PROGRAMFILES\Calculator"

; Set the text which prompts the user to enter the installation directory
DirText "Please choose a directory to which you'd like to install this application."

; ----------------------------------------------------------------------------------
; *************************** SECTION FOR INSTALLING *******************************
; ----------------------------------------------------------------------------------

Section "" ; A "useful" name is not needed as we are not installing separate components

; Set output path to the installation directory. Also sets the working
; directory for shortcuts
SetOutPath $INSTDIR\

File G:\IMS\dist\Calculator.exe
File G:\IMS\dist\lib\*.jar

File a.nsi

WriteUninstaller $INSTDIR\Uninstall.exe

; ///////////////// CREATE SHORT CUTS //////////////////////////////////////

CreateDirectory "$SMPROGRAMS\Calculator"


CreateShortCut "$SMPROGRAMS\Calculator\Run Calculator.lnk" "$SYSDIR\javaw.exe" "NSISExampleApplication1"


CreateShortCut "$SMPROGRAMS\Calculator\Uninstall Example Application 1.lnk" "$INSTDIR\Uninstall.exe"

; ///////////////// END CREATING SHORTCUTS //////////////////////////////////

; //////// CREATE REGISTRY KEYS FOR ADD/REMOVE PROGRAMS IN CONTROL PANEL /////////

WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Calculator" "DisplayName"\
"Calculator (remove only)"

WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Calculator" "UninstallString" \
"$INSTDIR\Uninstall.exe"

; //////////////////////// END CREATING REGISTRY KEYS ////////////////////////////

MessageBox MB_OK "Installation was successful."

SectionEnd

; ----------------------------------------------------------------------------------
; ************************** SECTION FOR UNINSTALLING ******************************
; ----------------------------------------------------------------------------------

Section "Uninstall"
; remove all the files and folders
Delete $INSTDIR\Uninstall.exe ; delete self
Delete $INSTDIR\Calculator.exe
Delete $INSTDIR\a.nsi

RMDir $INSTDIR

; now remove all the startmenu links
Delete "$SMPROGRAMS\Calculator\Run Calculator.lnk"
Delete "$SMPROGRAMS\Calculator\Uninstall Calculator.lnk"
RMDIR "$SMPROGRAMS\Calculator"

; Now delete registry keys
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Calculator"
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Calculator"
SectionEnd

1 个答案:

答案 0 :(得分:0)

您可以通过递归添加/r标志来执行此操作:

File /r "G:\IMS\dist\*"

这将保留目录结构,并且jar将安装在lib子目录中。