Archive: ExecWait: Bypass Executed Wrapper and Capture Actual Setup?


Exec: Bypass Executed Wrapper and Capture Actual Setup?
Hi,
what I'm trying to achieve is this: As you probably know, Firefox uses NSIS to install, though, the actual installer is wrapped into a 7z sfx module that extracts the installer in $TEMP, execute it and then removes the files from $TEMP and terminates. This wrapper always returns 0, even if the user has canceled the installation.
In my setup, I download firefox, install it, and continue the installation depended that firefox is already successfully installed. I prefer to show firefox installation window to the end users, so they have the choise to select installation's options, rather than execute the firefox installer silently with -ms parameter. The problem here is this, if for some reason, the end users cancel firefox installation, I'm not able to capture it, because the wrapper returns 0 anyway.
I'm thinking of 2 works around of this issue. The 1st is after firefox installer execution to read the registry and find if firefox installed/updated, if not, then halt my setup and pop up a warning. This one I can achieve easily.
The 2nd is to exec the wrapper and start a loop over the actual firefox installer window while it is running, and grab its output once the window is closed. This is what actually I'm trying to achieve.
As mentioned, this window is a NSIS installer, so when it closes it returns errorlevel. So, how I would be able to capture this output from my NSIS installer?
Suggestions are welcome plz.


For this specific case, I don't know any switches you can pass the wrapper so it'd wait for the internal setup. But as you know what the wrapper is, you can unwrap it yourself using 7z.exe and then execute the internal setup using ExecWait. For other cases, there's unattended.


But as you know what the wrapper is, you can unwrap it yourself using 7z.exe and then execute the internal setup using ExecWait.
Hi kichik,
Always glad to see you around :-)
I'm afraid the work around you mentioned is the obvious one, that's why I haven't think about it :-)

BTW 1 Plz let me know what you suggest as more accurate work around, this one or the registry thing that I mentioned above?

BTW 2 I have another desperate query here http://forums.winamp.com/showthread....hreadid=262083 , could you take a look if you don't mind?

regards

Unpacking the internal setup is much safer and easier to do. Instead of looping through the registry, you simply ExecWait.