![]() |
How do I create a simple installer to copy files to multiple directories?
Hello
I would like to know how to create a simple installer using NSIS which will, at launch of setup, ask me to choose (from a Drop down list or radio buttons) which Operating System I am installing it on (or could auto-detect this?). Firstly, I'll explain what I need done. I need 2 files (.exe and .ini) copied to the following directories; On Windows (XP, Server 2003 and everything before);[list=1][*]%WINDIR%\servicepackfiles\i386[*]%WINDIR%\system32\dllcache[*]%WINDIR%\system32[*]%WINDIR%[/list=1]On New Windows! (Vista, Win7, Server 2008 etc. including x64);[list=1][*]%WINDIR%[*]%WINDIR% \servicepackfiles\i386[*]%WINDIR% \system32\dllcache[*]%WINDIR%\SysWOW64 - (NOTE: Probably only on Vista x64)[*]%WINDIR%\winsxs\amd64_microsoft-windows-notepad_31bf3856ad364e35_6.0.6001.18000_none_cb3928ff285d2ca9 - (NOTE: Probably only on Vista x64)[*]%WINDIR%\winsxs\amd64_microsoft-windows-notepadwin_31bf3856ad364e35_6.0.6001.18000_none_9ee86862b36a7eff - (NOTE: Probably only on Vista x64)[*]%WINDIR%\winsxs\x86_microsoft-windows-notepad_31bf3856ad364e35_6.0.6001.18000_none_6f1a8d7b6fffbb73[/list=1]Any advice on how I could do this would be truly appreciated. Thanks in advance, Panarchy |
Hello,
the SetOutPath command is used to specify the destination folder of files and the constants $WINDIR and $SYSDIR contain the windows and system folder of the system you are installing on. Search nsis site for GetWindowsVersion macro that detects the windows version you are running on. Last but not least RTFM! These are baisc features and are well documented. Regards Stefano |
Thanks, I'll research what you have described!
Documentation wasn't simple... |
Okay, well here is what I've worked out so far.
Please tell me what I am doing wrong; Thanks in advance,code: Panarchy |
You only use InstallDir once to set the default installation directory for the Directory page. You aren't even using a Directory page so you shouldn't be using it. Just use SetOutPath on the 4 directories with the 2 File instructions after each. Also, what is /-y? There is no such switch for the File instruction.
This is a much better install. code: Stu |
Sweet!
Nice, smaller, a little harder to understand, but all in all much better then my 1st attempt. Almost perfect! Thanks for your help, now I just need to work out how to make it install differently when installed on Vista, Server 2008 & Windows 7. If you know how I can do so, without creating a separate installer, please tell me! Quote:
Thanks in advance for any extra advice, Panarchy PS: Once again, thank you for what you have posted! |
You should just need to add RequestExecutionLevel user or RequestExecutionLevel admin in there.
Read it up in the manual. Stu |
Thanks, I'll do that.
In the meantime, I'm getting some errors with the unedited script you wrote; code: Please tell me how to fix them. Thanks in advance, Panarchy PS: Where should I put notepad.exe and notepad.ini? |
*bump*
|
For your last two questions:
I assume that your MUI error is that the file 'license.txt' does not exist in your MUI folder. Also, the files notepad.exe and notepad.ini should be in the same folder as your script (unless you specific the full path to the file.) This is explained in the main NSIS help for the FILE command. (a copy of it is found here: http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.1.5) And for usage about WinVer, have a look inside the main header file--WinVer.nsh--found in the includes folder of you NSIS install. For other help, you should consider spending some time browsing your NSIS installation folder (especially look a the DOCS and EXAMPLES folders--there's some good documentation and examples for MUI that will explain each command in detail.) You might also want to take some time reading through the FAQs on the wiki. |
Thanks, will do.
|
Hello
Okay, everything now works pretty much perfectly, however I would like to customise a few things. Any idea how I can change the following text? http://i39.tinypic.com/35hrear.jpg Would really appreciate any suggestions. Thanks in advance, Panarchy |
*bump*
|
There is much you can learn by reading the docs.
!define MUI_LICENSEPAGE_TEXT_BOTTOM `my text` BrandingText `my text` Stu |
Thanks for your reply.
The BrandingText one works, however this one; !define MUI_LICENSEPAGE_TEXT_BOTTOM `my text Doesn't. Please tell me how to get the 2nd one to work. Thanks in advance, Panarchy PS: Thanks for the BrandingText one, really appreciate it.` |
Have you put the define before inserting the page macros?
Stu |
Thanks, that did the job.
Would it also be possible to change the following text?; http://i40.tinypic.com/2j4c7zm.jpg And also to make the font size bigger (much bigger). Alternatively if you can tell me how to create another page in the wizard, one which I can use as a CAUTION page telling the user that it will replace Notepad with Notepad2. Thanks in advance for any extra help, Panarchy PS: Thanks once again for all you've helped me with! |
| All times are GMT. The time now is 17:44. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.