Archive: NSIS unstall resources


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


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