How to extract wrapped .msi files from setup.exe's?
Hello,
I apologize if the reason I'm having such a hard time finding the answer to this question is because it's so blaringly obvious. I'm comming from the Novell Zenworks world, and am relatively new to .msi. I've noted that many people seem to refer to doing it, but I cannot seem to find any FAQ or other article on exactly *how*.
Anyway, I have Installshield Admin Studio 6, and I'm trying to make a package for a program called unSealer (http://www.sealedmedia.com.) It is a .exe ("smUnsealer3_3_10_1_en.exe") But it is quite obviously nothing more than an .msi file in an installshield-created .exe wrapper.
I want to be able to just get at the raw .msi file, so I can make silent installs, transforms if I need them, etc. But I just cannot seem to find the way how. I have tried searching my c:\winnt\installer directory for any msi that might come from it after it was installed, but with no luck.
I don't want to just recapture the installation, cause I understand all why doing that is bad. It's almost like I've got no choice though :(
Basically, could someone please please point a poor Novell-type person to what this mystical way of getting at an .msi from a .exe wrapper is?
Thanks very much!
I apologize if the reason I'm having such a hard time finding the answer to this question is because it's so blaringly obvious. I'm comming from the Novell Zenworks world, and am relatively new to .msi. I've noted that many people seem to refer to doing it, but I cannot seem to find any FAQ or other article on exactly *how*.
Anyway, I have Installshield Admin Studio 6, and I'm trying to make a package for a program called unSealer (http://www.sealedmedia.com.) It is a .exe ("smUnsealer3_3_10_1_en.exe") But it is quite obviously nothing more than an .msi file in an installshield-created .exe wrapper.
I want to be able to just get at the raw .msi file, so I can make silent installs, transforms if I need them, etc. But I just cannot seem to find the way how. I have tried searching my c:\winnt\installer directory for any msi that might come from it after it was installed, but with no luck.
I don't want to just recapture the installation, cause I understand all why doing that is bad. It's almost like I've got no choice though :(
Basically, could someone please please point a poor Novell-type person to what this mystical way of getting at an .msi from a .exe wrapper is?
Thanks very much!
0 Comments
[ + ] Show comments
Answers (11)
Please log in to answer
Posted by:
VikingLoki
19 years ago
You have the tool. Just open the .exe with InstallShield. Somewhere in there is a "Convert to MSI" option. Sorry, I'm a Wise guy so I'm not quite sure of the specifics of InstallShield. I do know InstallShield can do it though, and I'm jealous.
Other options are:
Opening the .exe with WinZip (or other compatible utility) often works.
You can also execute the install and check your temp directory. it will be in an obscurely named directory, check date/time stamps to pinpoint it.
Other options are:
Opening the .exe with WinZip (or other compatible utility) often works.
You can also execute the install and check your temp directory. it will be in an obscurely named directory, check date/time stamps to pinpoint it.
Posted by:
qmohos
19 years ago
Ah, thanks very much! This has gotten me much closer at least. I was able to extract the files, as you say, using winzip, and now I have a new setup.exe, come cab files, a .iss file, etc.
The .msi file still elludes me unfortunately, but, I was able to run the above new setup.exe with a -s switch, which will at the end of the day get me to where I need to be.
In more forward looking terms, I'm still kind of concerned that I cannot touch the raw .msi file.
I'm aware that Installshield supposedly has a feature that will unwrap things like this, but the little documentation I can find on it, seems to say that it should automatically detect that these are already wrapped msi files when attempting to repackage, and switch into a sort of 'unwrapping mode'. No such luck with this one, however. Also, trying to open the .exe with Installshield editor is not possible at least directly, as .exe is not one of its permissible file types.
Anyway though, thank you so much for your help!
The .msi file still elludes me unfortunately, but, I was able to run the above new setup.exe with a -s switch, which will at the end of the day get me to where I need to be.
In more forward looking terms, I'm still kind of concerned that I cannot touch the raw .msi file.
I'm aware that Installshield supposedly has a feature that will unwrap things like this, but the little documentation I can find on it, seems to say that it should automatically detect that these are already wrapped msi files when attempting to repackage, and switch into a sort of 'unwrapping mode'. No such luck with this one, however. Also, trying to open the .exe with Installshield editor is not possible at least directly, as .exe is not one of its permissible file types.
Anyway though, thank you so much for your help!
Posted by:
plangton
19 years ago
Hi qmohos,
I too did the jump from Zenworks to MSI packaging, its a bit of a leap really isn't it?
To asnwer your question, the app you were talking about sounds like it wasn't an MSI at all. If you are sure it was, the best way to get the msi/mst and associated files is to run the setup.exe and leave it at the first window. It will probably extract all the files to a temporary directory. This is where ProcessExplorer by www.sysinternals.com is a lifesaver, run this, and you will see a list of running processes in heirarchical order. You'll either see a setup.exe by itself, or a setup.exe that has spawned a msiexec process or another process. Double click on it and it will tell you the path, browse to that path and you should see your MSI files in there.
Hope that makes some kind of sense.
Rgds
Paul
I too did the jump from Zenworks to MSI packaging, its a bit of a leap really isn't it?
To asnwer your question, the app you were talking about sounds like it wasn't an MSI at all. If you are sure it was, the best way to get the msi/mst and associated files is to run the setup.exe and leave it at the first window. It will probably extract all the files to a temporary directory. This is where ProcessExplorer by www.sysinternals.com is a lifesaver, run this, and you will see a list of running processes in heirarchical order. You'll either see a setup.exe by itself, or a setup.exe that has spawned a msiexec process or another process. Double click on it and it will tell you the path, browse to that path and you should see your MSI files in there.
Hope that makes some kind of sense.
Rgds
Paul
Posted by:
Bladerun
19 years ago
If your running IS AdminStudio 6, then your best bet is to use Create Package Wizard. Point it to the Setup.exe and IS will analyze it and realize what it is, and spit out an msi accordingly.
IS 6.0 repackager will automatically recognize installshield created applications, and can take a legacy IS created package and convert it to a basic MSI.
IS 6.0 repackager will automatically recognize installshield created applications, and can take a legacy IS created package and convert it to a basic MSI.
Posted by:
JohnnyRichards
19 years ago
Posted by:
jonasm
19 years ago
Posted by:
qmohos
19 years ago
Thanks Paul (and everyone else)!
Yes, you were indeed correct. It turned out not to really be a wrapped .msi at all, but simply a legacy installshield package. I have realized that I have been conflating anything where I saw installshield on it, that it must automatically be an .msi. I see that is not the case now, and that was a good breakthrough for me ;)
My other big problem was that I had not originally realized that the raw setup.exe was a zipped package, itself containing the 'real' installshield setup. Extracting that revealed another setup.exe an .iss file, etc. That pointed to other clues and useful articles from here. I'm going to make it a habit now of attempt to 'unzip' every package I come accross now, before trying to decide what it is.
Finally, running the package creation wizard on that second embedded setup.exe did indeed invoke the setup intent scan wizard, and getting a good basic .msi was then a snap.
Well, I feel like I've gained a few small levels here. Once again, thank you kindly for all your help everybody!
Yes, you were indeed correct. It turned out not to really be a wrapped .msi at all, but simply a legacy installshield package. I have realized that I have been conflating anything where I saw installshield on it, that it must automatically be an .msi. I see that is not the case now, and that was a good breakthrough for me ;)
My other big problem was that I had not originally realized that the raw setup.exe was a zipped package, itself containing the 'real' installshield setup. Extracting that revealed another setup.exe an .iss file, etc. That pointed to other clues and useful articles from here. I'm going to make it a habit now of attempt to 'unzip' every package I come accross now, before trying to decide what it is.
Finally, running the package creation wizard on that second embedded setup.exe did indeed invoke the setup intent scan wizard, and getting a good basic .msi was then a snap.
Well, I feel like I've gained a few small levels here. Once again, thank you kindly for all your help everybody!
Posted by:
totoymola
19 years ago
Posted by:
xythex
19 years ago
Posted by:
MSIMaker
19 years ago
Sometimes when I want to see commandline options for Setup.exe or if I want it to extract its files to the Temp folder I will open a cmd prompt and drop the setup.exe in there with the option /?
The other option which most ppl don't know is just /
The / tells setup.exe to display its commandline options verbosely.
The other option which most ppl don't know is just /
The / tells setup.exe to display its commandline options verbosely.
Posted by:
totoymola
19 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.