hnmurugan
21st December 2006 09:46 UTC
Re:Onclick Installer
Dear All,
Just wondering whether my below request can be done using NSIS.
I am working in a computer DIY hardware shop and most of the time my job always requires me install same softwares like flash player,java,adobe reader,video lan, realplayer and antiirus softwares.
I am sick of click next buttons and i have to wait for softwares to be installed before start installing other softwares due some softwares don't allow.
But i have seen those application recovery cd's from HP and it will let you choose the softwares and it will install automatically using silent switches.
Is it possible to write a NSIS script that can hdo the same job as application recovery cd does?
Your inputs in this matter is greately appreciated.
Rgds/Hari
Red Wine
21st December 2006 12:35 UTC
It's possible and easy with NSIS.
All you have to do is to associate sections with applications that you wish to install (in my thought one section for every application). Find every application's command line switch for sillent installation and add it like this:
ExecWait '"$EXEDIR\app_setup.exe" silent_parameters'.
Compile and burn the installer and all needed applications to the root of a removable media.
Last but not least execute the installer from that media and from components page select the applications that you want to install according to the target machine and take your coffee time :-)
related:
Instructions
Sections
Pages
Modern UI
hnmurugan
22nd December 2006 01:15 UTC
thanks for your time and effort.I will try this during weekend .
Rgds/Hari
hnmurugan
24th December 2006 19:33 UTC
Dear Red Wine,
I have managed to get my first installer work successfully. Thanks for your help again.Here is my script below
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES"
Section "Java" SEC01
ExecWait '"Java\Java.exe" /qr'
SectionEnd
Section "Flash" SEC02
ExecWait "Flash\Flash.msi"
SectionEnd
Could you please answer below questions?
1.If you notice, section 2 got msi file and it does not execute. How do i call msiexec to execute this?
2.For the status message, it is displaying executing Java\Java.exe. Instead is it possible to replace with installing Java?
3.Another improvement - How do i compile my install file in to setup.exe and extract to $tmp then start the install from temp, after delete it.
Sorry to ask too much.
Rgds
Red Wine
24th December 2006 20:11 UTC
You're welcome!
1.If you notice, section 2 got msi file and it does not execute. How do i call msiexec to execute this?
Use ExecShell open 'path_to_file\Flash.msi'
2.For the status message, it is displaying executing Java\Java.exe. Instead is it possible to replace with installing Java?
See NSIS documentation 4.9.14.3 DetailPrint, 4.9.14.14 SetDetailsPrint etc.
3.Another improvement - How do i compile my install file in to setup.exe and extract to $tmp then start the install from temp, after delete it.
Function .onInit
InitPluginsDir
File /oname=$PLUGINSDIR\Java.exe 'Local_path\java.exe'
...
...
FunctionEnd
Section "Java" SEC01
ExecWait '"$PLUGINSDIR\Java\Java.exe" /qr'
...
...
SectionEnd
$PLUGINSDIR removed once the installer is terminated.
See NSIS documentation 4.2.3 Constants and search the forum for examples.
Also don't forget wiki!
http://nsis.sourceforge.netHappy Holidays!
Red Wine
25th December 2006 08:25 UTC
I was not able to add these corrections to my other post above, so I put them here:
1.If you notice, section 2 got msi file and it does not execute. How do i call msiexec to execute this?
If you want to WAIT for the proccess to terminate before continue then use:
ExecWait 'msiexec.exe /options "path_to_file\file.msi"'
Section "Java" SEC01
ExecWait '"$PLUGINSDIR\Java\Java.exe" /qr'
...
...
SectionEnd
ExecWait '"$PLUGINSDIR\Java.exe" /qr'