Jump to content

Universal Extractor


nitro322

Recommended Posts

nitro when i get money im going to give you $20 for making this program cause i truly needed this. Hey how about making a pack for it to install onto the unattended?

Glad you find it useful. :-)

As Kelsenellenelvian pointed out, the easiest way is with /verysilent. However, Inno Setup offers quite a few options for unattended installs. This page describes all of the options:

http://unattended.sourceforge.net/InnoSetu..._ExitCodes.html

One of the extremely nice things is you can use the /tasks parameter to specify which install options you'd like, if for some reason the defaults don't work for you. The 3 task names are associate, associate\force, and modify.

Edited by nitro322
Link to comment
Share on other sites


But i have a little problem, cant extract Wise Installer package.

It's Acoustica-CD-Label-Maker-Installer.exe version 2.50 trial.

I'll look into it tonight. Could you please post a link to this program?

I found a copy of the program myself, and found the problem. During development of v1.1 I had to change the "mode" used by the GUI in order to make drag-and-drop work correctly. Changing that mode meant substantially modifying the code behind the GUI. Well, I did a lot of testing to make sure that the code changes I made all worked fine, but I forgat that the Wise Installer method selection was a completely separate GUI, and it was still coded for the original mode. That' why it simply didn't respond to any events. Oops.

Anyway, it should all be working again. I bumped the version to 1.2.1 and re-released. The Wise Installer bug fix is the only change from 1.2. New download links are available in the original post.

Link to comment
Share on other sites

I'll look into it tonight. Could you please post a link to this program?

I found a copy of the program myself, and found the problem. During development of v1.1 I had to change the "mode" used by the GUI in order to make drag-and-drop work correctly. Changing that mode meant substantially modifying the code behind the GUI. Well, I did a lot of testing to make sure that the code changes I made all worked fine, but I forgat that the Wise Installer method selection was a completely separate GUI, and it was still coded for the original mode. That' why it simply didn't respond to any events. Oops.

Anyway, it should all be working again. I bumped the version to 1.2.1 and re-released. The Wise Installer bug fix is the only change from 1.2. New download links are available in the original post.

Thank's

Sorry for the link :blushing:

Didn't check this thread yesterday, more than a couple of times.

Link to comment
Share on other sites

Hi, I work as an MSI packager and came across your app today, its seems pretty awsome, however i have noticed a problem when i have tried to extract a few "Setup Launcher" EXE files i was testing your app on.

These Setup Launcher files are EXE files with contain MSI files, basically when i try to extract them i get the prompt saying "initial extraction failed, however it may be possible to extract files from this archine by...." and i do that and i usually get at least one MSI but in alot of cases these Setup Launcher files have more than just a single MSI within them.

For example the Macromedia Captivate 1.0x install contains 2 MSI files ISSheild10.msi and captivate.msi as well as a few other ini files, but when using your extractor i only get the captivate.msi file.

I'm not xactly sure how you are using this "cache" method to capture these MSI files, but 9/10 times when these setup launcher files run they extract their entire contents to _ %temp%\something _ maybe you could get it to parse %temp% to get the other files?

You can get the macromedia captive 1.0x install from here: http://www.adobe.com/go/trycaptivate but the basic problem is present for all the Setup Launcher EXE's i've tryed to extract, it only ever gets me a single MSI file and miss's other ini, txt, exe, msi's

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.

EDIT: I just checked the captivate EXE and Universal Silent Switch Finder 0.1 reports it as being a "Installshield 2003 installer" this might help you

Edited by Thorlek
Link to comment
Share on other sites

i'd like to put in a request for inno unpacking, it's becoming pretty popular.

there's an inno project at sourceforge if you're interested

I think you should at least try the program first it does unpack innosetup files
Link to comment
Share on other sites

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.

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.

You can get the macromedia captive 1.0x install from here: http://www.adobe.com/go/trycaptivate

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.

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.

Edited by nitro322
Link to comment
Share on other sites

Hi, I'm using Universal Extractor for some time now. It works quite good, except for WISE installshield installation packages. Most of time the extract window just hangs.

EDIT:

I found out you are using version 1.03b of i6comp to decompress InstallShield packages dated Jan-10-2002.

However when reading release info of i6comp 1.03b:

(InstallShield v6.x Compression and Maintenance util)
-] Morlac - Jul-20-2000 [-
General exception bugfix -] DarkSoul - Jan-10-2002 [-

Morlac is main developer, however somone else patched this version with a single bugfix. No program improvements in 1.03b

Now the hanging issue. I did not experience this issue with i6comp v0.20 I use on my system. It is able to decompress nearly all InstallShield packages available.

When reading the release info of i6comp v0.20:

(InstallShield v6.x CAB Util)
-] fOSSiL - Jun-16-2000 [-
-] Morlac - Dec-27-2000 [-

A new revision of i6comp. Look also at the changelog:

1. INTRODUCTION
---------------
Under pressure from friends I am updating i5comp, giving birth to
i6comp in the process. This is the second attempt - I'll try to keep
it short.


Changes from i5comp (READ IT ALL):

---------------------- IMPORTANT------------------------------
Read Changes.txt as well. It contains more information as well.
You will miss some of the features if you dont.

1) No more ZDxxx.DLL - compression/decompression (deflate) routines are
statically linked in.

2) No need to Convert to Single-Volume for any operations (see P.3)

3) All IShield engine files are now stuck into data1.cab, so convertion to
single-volume cabinet has been changed. Conversion leaves data1.cab intact
and gathers everything else into data2.cab.
Data1.cab contains all installation and uninstallation files and
is used by Uninstaller, and data2.cab contains all 'user' files.

4) Add command will now replace the files with the same name and path
within the cabinet (i5comp would add them and create duplicates no matter
what).

5) IShield Corp. screwed me over again by using '<' and '>' characters
in the kernel File Group names. These characters will be mapped to
'[' and ']' respectivly when File Group name is used in filesys paths.

6) Some uncompressed and 'uncabineted' files will also appear in listings.
I filtered some of them out, but haven't found a good way to get rid of
the rest of them yet.

7) Code can be ported to any Intel *ix with minimal modifications

I would like to also be able to extract compressed exe-types like:

- UPX

- Aspack (look for AsPackDie 1.4.1)

As InnoSetup developer tells:

Some have asked why I made StripReloc when there are EXE compression programs such as ASPack and UPX that will trim more bytes off of executables than StripReloc ever could.

The reason is there are downsides to using EXE compressors. Most notably:

- Upon startup of a compressed EXE/DLL, all of the code is decompressed from the disk image into memory in one pass, which can cause disk thrashing if the system is low on memory and is forced to access the swap file. In contrast, with uncompressed EXE/DLLs, the OS allocates memory for code pages on demand (i.e. when they are executed).

- Multiple instances of a compressed EXE/DLL create multiple instances of the code in memory. If you have a compressed EXE that contains 1 MB of code (before compression) and the user starts 5 instances of it, approximately 4 MB of memory is wasted. Likewise, if you have a DLL that is 1 MB and it is used by 5 running applications, approximately 4 MB of memory is wasted. With uncompressed EXE/DLLs, code is only stored in memory once and is shared between instances.

- Some older virus scanners flag compressed EXE/DLLs as being virus-infected. (This is this reason I stopped compressing Inno Setup's EXEs.)

bron: http://www.jrsoftware.org/striprlc.php

Edited by hp38guser
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...