princy
24th January 2006 04:17 UTC
NSIS unstall resources
i'm creating a java application using derby,java connecting Quickbooks.i want the script to install resouces like derby,jvm,qbbridge,xerces parser (and set classpath)automatically during installation so tht client dosen't need to install it.plzz do help me
J.Princy
dandaman32
24th January 2006 05:00 UTC
If those programs use EXE or MSI databases you can usually do a silent (unattended) install.
For an EXE, this varies, but NSIS installers run silently if you pass the /S switch on the command line.
To install an MSI database, you can use this macro:
!macro InstallMSI FILE TEXT
Exch $0
Push $1
Push $OUTDIR
GetTempFileName $1
StrCpy $1 $1 -4
SetOutPath $TEMP
File "/oname=$1.msi" "${FILE}"
Banner::show /NOUNLOAD `${TEXT}`
ExecWait '"$SYSDIR\msiexec.exe" /qn /i "$1.msi"'
Banner::destroy
Delete "$1.msi"
Pop $OUTDIR
Pop $1
Exch $0
!macroend
And to invoke it:
Section
!insertmacro InstallMSI "C:\Path\To\MSI\File\On\Dev\Machine.msi" "Text displayed while installing"
SectionEnd
In this case, the compiler would compress "C:\Path\To\MSI\File\On\Dev\Machine.msi" into the NSIS installer and the MSI file will be extracted at runtime and installed. Note that this function installs the MSI database without showing any UI. To show a full UI, change the "/qn" to "/qf" in the ExecWait line.
You can set class paths with WriteRegStr.
-dandaman32