Thorlek, on May 4 2006, 09:26 AM, said:
Hi, I work as an MSI packager
Man, I'm sorry.

I did that myself about 3 years ago. I learned a lot of interesting stuff about how Windows works, but it got pretty old after a year or so. Hope you've found some way to keep things interesting.
Thorlek, on May 4 2006, 09:26 AM, said:
i have noticed a problem when i have tried to extract a few "Setup Launcher" EXE files i was testing your app on.
Ok, by Setup Launchers I'm assuming you're referring to the dang bootstrapped InstallShield installers? I know that supprt isn't that great for this, primarily because there's just no good standard way of dealing with them. InstallShield was the bane of my existance in my former packaging life, which was why we had standardized on Wise. I refused to contribute to the circle of pain. So, flash-forward three years and here they are causing trouble again. Sigh.
Ok, time for some details. When UniExtract detects and InstallShield package, it first tries to extract the files using IsXunpack.exe. If that fails, it prompts you about the cache method. I don't recall offhand where exactly I found this switch, but I believe it was in InstallShield's KnowledgeBase or forum. This is the specific command I run:
"\path\to\installer.msi" /b"\path\to\output"
As you stated, that'll generally extract the main program MSI. Now, for my purposes, that's generally good enough. For example, I use it on Sun's Java installer to extract the Java MSI, which I then install using msiexec.exe with my own switches.
However, I do understand that for your purposes you do need to get all of the support files as well, especially the installscript MSI. And this is where the next problem comes into play. The only method I know of getting this (if IsXunpack.exe fails) is to run the installation and try to get the files from %temp%, just as you suggested. Unfortunately, there doesn't seem to be any predictable way to determine the temporary directory that gets created within %temp%. Without being able to predict the path, I have no way of programmatically determining which directory from which to pull the files.
Granted, I've not spent a tremendous amount of time researching this, but I haven't yet come across a good way of doing it. Do you have any suggestions on how I can locate these files in %temp%, assuming that the installer does actually create them (some installers do not)? If so, believe me, I'll be more than happy to take them into consideration.
Thorlek, on May 4 2006, 09:26 AM, said:
Do you happen to have a direct link? Maybe you can e-mail it to me? I don't have any desire to register an account with Adobe just to download a trial program for testing.
Thorlek, on May 4 2006, 09:26 AM, said:
Oh and there is a spelling mistake on the "main" screen when this extraction is taking place, it says "Extracting files from" IstallShield package" there is an "n" missing from InstallShield.
Thanks for the catch. I'll correct it in the next version.
Also, thanks for the feedback in general. Believe me, I know where you're coming from, and I'm more than happy to make this program even more useful for you if possible. I know I would've LOVED to have a utility like this back when I was doing that job. It's actually part of my inspiration for creating and working on this now.
This post has been edited by nitro322: 05 May 2006 - 03:03 PM