Jump to content

Universal Extractor


nitro322

Recommended Posts

Hey, thanks for this software.. it's already helped me out several times.

I've been trying to extract the latest version of AMD's CPU drivers, which use some kind of Inno setup.. pretty much all the methods included in your tool for extracting it produced different results, some close, but none of them entirely right.. could you look into this?

Link to comment
Share on other sites


I've been trying to extract the latest version of AMD's CPU drivers, which use some kind of Inno setup.. pretty much all the methods included in your tool for extracting it produced different results, some close, but none of them entirely right.. could you look into this?

Sure, can you please provide a download link?

Link to comment
Share on other sites

This util is really neat. :)

There seems to be a little typo in the source on line 163?

GUICtrlSetData($dircontcont, $filedir & '\' & $filename)

Shouldn't it be

GUICtrlSetData($dircont, $filedir & '\' & $filename)

?

Link to comment
Share on other sites

I've been trying to extract the latest version of AMD's CPU drivers, which use some kind of Inno setup.. pretty much all the methods included in your tool for extracting it produced different results, some close, but none of them entirely right.. could you look into this?

Sure, can you please provide a download link?

Sure: http://www.amd.com/us-en/assets/content_ty...amdcpusetup.exe (I'm not sure if they like hotlinking, but their website is too confusing)

Link to comment
Share on other sites

Universal Extractor 1.4 has been released. As previously stated, the two primary goals of this release were to make it more "portable" and to add support for internationalization. I also added a few tweaks and fixed a few bugs to try to speed up installer extraction.

Warning: Adding support for internationalization required a substantial number of changes to the code, which may have introduced some new bugs. If 1.3.1 is working fine for you, it may be a good idea to stick with it for a little while until 1.4 is more thoroughly tested. If, however, you are a not a native English speaker, typically run applications from a portable USB drive, or just live for bleeding-edge software, then I do recommend upgrading to 1.4.

Anyone interested in translating UniExtract to another language should follow the instructions in English.ini. If you do this, please send me the completed translation file so I can include it in the next version of UniExtract (as well as probably make it available for download directly from my site). This way everyone can benefit from your work.

I've updated the first post to include direct download links for the new version, as well as the complete ChangeLog.

I have finished UniExtractor 1.4 Simplified Chinese version

The Simplified Chinese Language File has been sent to your mailbox.

Thanks! I also received a German file as well, so I'll add them to the website.

There seems to be a little typo in the source on line 163?

GUICtrlSetData($dircontcont, $filedir & '\' & $filename)

Shouldn't it be

GUICtrlSetData($dircont, $filedir & '\' & $filename)

?

Yeah, looks like you're right. I'll have to check it out later tonight when I'm back in Windows, but I definitely don't think that $dircontont is a valid variable. :) Thanks for reporting it.

Sure: http://www.amd.com/us-en/assets/content_ty...amdcpusetup.exe (I'm not sure if they like hotlinking, but their website is too confusing)

Thanks. I'll check it out tonight.

Edited by nitro322
Link to comment
Share on other sites

1.4 Problem...

If I disable history, it writes history=0 to the ini file (or I change it manually). The error I then get when trying to run anything:

Line 0: (File"D:\SharedApps\UniExtract\UniExtract.exe"):

GUICtrlSetData($dircontcont, $filedir & '\' & $filename)

GUICtrlSetData(^ ERROR

Error: Variable used without being declared.

Please let me know if I can provide any other details. I saw the someone's post earlier, it seems to be tied to disabling history for me.

BTW, I was looking through the todo and I saw some integration into the windows registry. I don't need or want history (or registry entries). I love the fact that it mostly just works, and I use the non-installing zip file for a fully standalone installation. Typically, I add a shortcut to the SendTo instead of using shell integration.

Thanks for the great software!

Link to comment
Share on other sites

1.4 Problem...

If I disable history, it writes history=0 to the ini file (or I change it manually). The error I then get when trying to run anything:

Line 0: (File"D:\SharedApps\UniExtract\UniExtract.exe"):

GUICtrlSetData($dircontcont, $filedir & '\' & $filename)

GUICtrlSetData(^ ERROR

Error: Variable used without being declared.

Please let me know if I can provide any other details. I saw the someone's post earlier, it seems to be tied to disabling history for me.

BTW, I was looking through the todo and I saw some integration into the windows registry. I don't need or want history (or registry entries). I love the fact that it mostly just works, and I use the non-installing zip file for a fully standalone installation. Typically, I add a shortcut to the SendTo instead of using shell integration.

Thanks for the great software!

Exactly the same here, together with usage method and thoughts... As if I wrote the post! :)

Additionally, if you start UniExtract directly, it doesn't let you save options if you haven't selected a file.

And an observation: without the Lang/English.ini file, it displays only question marks in the gui. I suggest it has some (English?) built in strings for fallback - who knows what could happen on a user's computer and you would get many unnecessary support questions.

GL

Link to comment
Share on other sites

BTW, I was looking through the todo and I saw some integration into the windows registry. I don't need or want history (or registry entries).

I was the same way, so did a little modification to the source (Also includes code mentioned above)

I wanted the debug info to go to the temp folder instead of the root of the system drive, so:

Line 34

$debugdir = $sysdrive

to

$debugdir = @TempDir; to temp it goes!

And to not save history by default I changed:

Line 169

GUICtrlSetState($historyopt, $GUI_CHECKED)

To

GUICtrlSetState($historyopt, $GUI_UNCHECKED); Unchecked by default

@nitro322, I hope you don't mind me posting my modifications here. :)

Edited by d4vr0s
Link to comment
Share on other sites

Brief update:

I've been working on some issues that have been reported, as well as working on improving multilingual support. I plan on releasing version 1.4.1 soon, hopefully before I leave town for Thanksgiving.

I've also received a few language files, which I had meant to post sooner (to prevent anyone from doing duplicate work), but I've been delayed working on the previously mentioned issues. Here's what I currently have:

Simplified Chinese

German (actually 3 separate submissions for this one)

French

I saw a couple previous posts about adding language support - if it's not on this list, feel free to submit it. I'm sure other users would appreciate as well. If it is already on this list, then I appreciate the offer, but there's no need at this time. Once I do make the language files available, though, I'd appreciate a quick double-check to ensure that everything is correct (translated text, GUI display/layout, hotkey support, etc.). As I can only read English, I'm pretty limited in my ability to check the translation files. :(

Line 0: (File"D:\SharedApps\UniExtract\UniExtract.exe"):

GUICtrlSetData($dircontcont, $filedir & '\' & $filename)

GUICtrlSetData(^ ERROR

Error: Variable used without being declared.

This should already be fixed in the dev version. Please check it again when I release 1.4.1 and verify.

BTW, I was looking through the todo and I saw some integration into the windows registry. I don't need or want history (or registry entries). I love the fact that it mostly just works, and I use the non-installing zip file for a fully standalone installation. Typically, I add a shortcut to the SendTo instead of using shell integration.

Just set history=0 in the INI file (as you've already done) to disable registry writes for the standalone version. The file associate registry entries are only applicable to the installer.

Additionally, if you start UniExtract directly, it doesn't let you save options if you haven't selected a file.

Yes, I'm aware of this. Is that a problem? I've updated 1.4.1 to reinitialize the GUI when a new language is selected, so that it displays the correct language immediately after selection, but it's still not written to the INI file until after a file is selected and execution begins. Given that the whole purpose of UniExtract is to extract files, I don't see why you'd have any need to run it for any other reason. If you do have some issue with this, though, please let me know.

And an observation: without the Lang/English.ini file, it displays only question marks in the gui. I suggest it has some (English?) built in strings for fallback - who knows what could happen on a user's computer and you would get many unnecessary support questions.

This is also a known issue. There are about 130 separate language items defined in the language INI files. It would be rather time-consuming, as well as increase ongoing maintenance time, to hardcode these items. Given that use of Universal Extract already requires a group of files in a particular order (all support binaries under bin\, for example), I don't think it's unreasonable to expect that users leave the lang\ directory intact.

By the way, the ??? is hardocded so that I know if a particular language item is missing. It's a debugging item for me. Users (obviously) should never see it, assuming that all translation files are correct.

I was the same way, so did a little modification to the source

I wanted the debug info to go to the temp folder instead of the root of the system drive, so:

You can do this simply by setting the "Write debug file to" option, or setting debugdir in the INI file. No code changes should be necessary.

And to not save history by default I changed

You can do this by unchecking the "Track archive history option", or setting history=0 in the INI file. No code changes should be necessary.

@nitro322, I hope you don't mind me posting my modifications here. :)

Nope, I certainly don't mind, but honestly I don't see the need. I added support for both of these options to version 1.4 specifically so that users would have an easy way of changing them. If you still feel the need to resort to source code changes, then I must've done something wrong. Can you please explain why the options do not work for you?

Link to comment
Share on other sites

I just posted Universal Extractor 1.4.1. As noted in my previous post, this is primarily a bugfix release for some of the internationalization issues. I think I fixed a couple other issues as well, but can't remember the details of the top of my head. I'll update the first post in this thread to include updated download links and the full ChangeLog.

Also, I'll be out of town for the next few days for Thanksgiving. I'll check the forum when I return to see if there were any issues with this release (hopefully not :)). Have a happy Thanksgiving, and enjoy the new release.

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...