- NSIS Discussion
- Installer only installs one item out of twenty!
Archive: Installer only installs one item out of twenty!
cirerita
28th October 2005 19:42 UTC
Installer only runs one item out of twenty!
Hi there,
I'm a 100% newbie, and I'm using HM NIS editor's wizard to create my setup file. I'd like my setup file to install some filters and codecs for HTPC use. However, no matter how many items I list in the wizard's window, I only get the first one to work. That is, the first filter -let's say "aacparser.exe"- is installed, but the second one -"ac3form.exe"- is not.
At the end of the wizard, there's an option saying what will be done once the installer is installed, and if open up the little window I see both .exe files listed.
maybe this is too confusing. I'm attaching the file I created. Is there any way to install both files, not only the first one?
Is it possible to install them silently or is it too tricky?
http://www.canroquet.com/varios/test2.nsi
please use "save as" to download the file.
iceman_k
28th October 2005 20:27 UTC
That is because your script is running only aacparser.exe.
!define MUI_FINISHPAGE_RUN "$INSTDIR\aacparser.exe"
cirerita
28th October 2005 20:40 UTC
thanks for the reply. so, does it mean that I have to manually add a
!define MUI_FINISHPAGE_RUN "$INSTDIR\myappl.exe" entry for each application I want to be installed????
I thought the wizard would take care of that. As I said, at the end of the wizard there's a list with all the applications which, supposedly, will be installed when run you run the setup file.
cirerita
28th October 2005 20:50 UTC
ok, it seems that you cannot add more than one !define MUI_FINISHPAGE_RUN "$INSTDIR entry.
also, I took a close look at the wizard's option at the end and it lets you choose among the listed programs, but it doesn't run all of them, just the one you choose.
so, any idea as to how get it working?
bhaelochon
28th October 2005 21:43 UTC
It looks like you're trying to create a wrapper for several other installation programs. Is that accurate? Will you be including any files that are not their own installation packages?
cirerita
28th October 2005 23:17 UTC
yep, that's right, I'll include some .ax and .dll files, such as vsfilter.dll or DTSWAV.ax. however, these ones seem easier to install. I just use Regdll and they're registered.
yes, I need some kinda of wrapper for those installation packages, but I also need to regdll the .ax and .dll files.
I found a very rudimentary way to install the .exe files, which is using exec "$INSTDIR\appl.exe", but I'm sure there must be a better way.
so, how do you wrap them up?
thanks...
cirerita
29th October 2005 00:17 UTC
ok, I've been using the Execwait command and it seems to work ok. I've to manually add it after each installation package entry, there seems to be no other easier way...
finally, I'd like to register a .reg file which will add some content to the registry. Regdll and Exe don't seem to work. I took a look at the user manual, but all the commands (Regword and so on) seem to be used to manually add the full string data, but I just want to register a pre-made .reg file.
thanks...
iceman_k
29th October 2005 05:24 UTC
I'd like to register a .reg file which will add some content to the registry
Check
this out.
cirerita
29th October 2005 18:09 UTC
thanks. searching the forum I also found this:
Exec 'regedit "$PLUGINSDIR\regentry.reg"'
or
Exec 'regedit \s "$PLUGINSDIR\regentry.reg"' if you want a silent registration.
as I said, my wrapper will install some installation packages (it works using Execwait, though it takes some time to write the script if you have many entries).
so far so good. but when I hit the uninstall button, it uninstalls the .exe packages, not the content installed by those packages.
let's see an example:
Delete "$INSTDIR\aacparser.exe"
Delete "$INSTDIR\ac3xform.exe"
Delete "$INSTDIR\cdda.exe"
Delete "$INSTDIR\cdxa.exe"
is it possible to uninstall also the contents installed by each of these .exe packages???
as an aside, does anyone here know which is the hit counter soft used to count the number of timen a given item has been downloaded? for example, here some users upload files so others can download them, and usually there's a sign saying "your appl. has been downloaded XXX times"...
Vytautas
30th October 2005 10:09 UTC
Since you are not installing the actual 'content' using nsis, you are just wrapping the installers, it cannot be uninstalled using nsis either.
Unless that is you can wrap the unistaller aswell, e.g. the installer file might have an uninstaller script build in by use of command line arguments or you might be be able to run the uninstallers generated by these files.
Vytautas
cirerita
30th October 2005 12:35 UTC
most of those opensource packages have been created using nsis.
how do yo call the uninstallers created by those files.
Delete "$INSTDIR\cdxa.exe"
this deletes "cdxa.exe", but not the "c:\Program Files\cdxa" folder.
any idea?
Vytautas
30th October 2005 21:54 UTC
cirerita could you provide a link to one of those packages so i can have a look at how it sets it self of and where it puts the uninstaller.
Vytautas
cirerita
30th October 2005 23:19 UTC
yep, sure:
http://www.inmatrix.com/zplayer/formats/aac.shtml
here you can grab the aacparser.exe and see how it works. it's an opensource filter; the installation file was created using nsis.
Vytautas
31st October 2005 00:12 UTC
OK, the acc installer install to this location by default: "C:\Program Files\Core AAC Decoder" and there it creates an uninstall.exe
you should try wrapping these uninstallers (probably a better idea would be to get the actuall path from the rgistry first).
Vytautas
cirerita
31st October 2005 00:27 UTC
ok. any idea as to how to wrap the uninstallers? is there any command for wrapping all of them?
Vytautas
31st October 2005 00:32 UTC
Execwait "C:\Program Files\Core AAC Decoder\uninstall.exe" should work.
I think that there was a special switch you could/had to use to get the uninstaller to work ok, but i can't remember what that was or if it's still needed.
Try this and see if that works or not.
Vytautas
cirerita
31st October 2005 00:41 UTC
ok, thanks, I'll try that.