Sign in to follow this  
Followers 0
ZoSTeR

Rebuilding Inno Setups

99 posts in this topic

The current version of innounp only supports IS versions up to 4.1.8

0

Share this post


Link to post
Share on other sites

There's version 0.08 of InnoUnp which supports Inno Setup versions up to 4.2.1

:-)

0

Share this post


Link to post
Share on other sites

Hey, do you know of anything that will unpack NSIS installers? :)

0

Share this post


Link to post
Share on other sites

@ZoSTeR: thank you VERY, VERY MUCH! :thumbup

After looking for a simple way to install extreme movie manager for a while you came up with my answer!

-I couldn't really repack it, as there was a bunch of unknown runtime DLLs (and nowhere was a list of them to find...)

-You couldn't use AutoIt either as, you would get messageboxes for every tuntime DLL that's already on your system. Not always for the same DLLs, and not always the same messageboxes...

Anyways, it was VERY frustrating to even think about it! Until I found out it's using INNO setup and that I remembered your post.

Now that I unpacked it, I know exactly how to proceed:

-The program files can just copied over (ie: $OEM$\$Progs) or make a sfx with them (including your current DB)

-There are no registry entries

-We also have to remember the start menu shortcuts :rolleyes:

(Or even better - use /SAVEINF so it doesn't install the runtimes, it works great)

-Finally, we can recopy DLLs without overwriting (just the ones missing from the list, and regsvr32 when needed, which is easy to do with a .cmd or vbscript...)

I got the list of runtime DLLs (already!! 41 of them)

ASYCFILT.DLL	(VB Runtimes)
CMCTLIT.DLL (VB Runtimes)
COMCAT.DLL (could be unsafe to install)
ComCtl32.ocx (VB Runtimes)
COMDLG32.OCX (VB Runtimes, not safe to overwrite)
DAO360.DLL (part of MDAC, and let's hope that app doesn't use DAO... scary!)
DOWNLOADCONTROL.OCX (can't find any references to that, must be renamed)
expsrv.DLL (part of MDAC)
MSCMCIT.DLL (VB Runtimes)
Mscomctl.ocx (VB Runtimes)
msexch40.DLL (part of MDAC)
msexcl40.DLL (part of MDAC)
MSFLXGRD.OCX (VB Runtimes)
mshtml.TLB (comes with IE)
MSINET.ocx (old internet xfer control)
msjet40.DLL (part of MDAC)
msjetoledb40.DLL (part of MDAC)
msjtes40.DLL (part of MDAC)
msltus40.DLL (part of MDAC)
mspbde40.DLL (part of MDAC)
msrd2x40.DLL (part of MDAC)
msrd3x40.DLL (part of MDAC)
msrepl40.DLL (part of MDAC)
mstext40.DLL (part of MDAC)
MSVBVM60.DLL (VB Runtimes, could be unsafe to install)
MSWinsck.ocx (old winsock control)
msxbde40.DLL (part of MDAC)
OLEAUT32.DLL (could be unsafe to install)
OLEPRO32.DLL (could be unsafe to install)
RCHTXIT.DLL (VB Runtimes)
RICHED32.DLL (not safe to overwrite)
RICHTX32.ocx (VB Runtimes)
STDOLE2.TLB (could be unsafe to install)
TABCTIT.DLL (VB Runtimes)
TABCTL32.ocx (VB Runtimes)
VB6IT.DLL (VB italian file...)
WININET.DLL (already on any system with IE4+, not safe to overwrite)
winmm.DLL (old multimedia dll)
xpControlAdv01.ocx (can't find any references to that, must be renamed)
xpControlAdv02.ocx (can't find any references to that, must be renamed)
xpControlBase.ocx (can't find any references to that, must be renamed)

(Right now I'm even considering rebuilding it, using the onlyifdoesntexist flag and no confirmoverwrite flags... That should fix it)

Anyways, you made this possible :)

[edit] after going thru all this, when I look at the list of DLLs, it's sad to say that all of it except about a half dozen OCX'es shouldn't be needed on most systems... Lots of very old stuff too (Win 3.1/DAO technology "under the hood" type of app)

0

Share this post


Link to post
Share on other sites

Just in case someone stumbles across this again...

innounp.exe (v0.14) had different switches now, -x will extract all the files and the script

Repacking with a modified script worked well, but I had more changes to do than I thought I would have to (most likely because the original is packed with an older version)

Things I had to change:

I Had to add

DefaultGroupName=eXtreme Movie Manager

at the top of the script to fix the install group name.

Types also gave me some problems. They were comma separated:

Name: "main_program"; Description: "Main Program Files"; Types: custom,compact,full;

The commas have to be replaced by spaces like such:

Name: "main_program"; Description: "Main Program Files"; Types: custom compact full;

Else it won't even compile.

I also had to add a [Types] section before [Components]:

[Types]
Name: "full"; Description: "Full installation"
Name: "compact"; Description: "Compact installation"
Name: "custom"; Description: "Custom installation"; Flags: iscustom

Also, some "dangerous" DLLs (like WININET.DLL, which probably shouldn't be included anyways...) had to have the allowunsafefiles flag added for the project to compile.

DLL wise, I noticed also that the installer overwrites blindly DAO360.DLL with the included version (no version checking, rather unprofesionnal of them). I changed it to onlyifdoesntexist instead. (let's hope it doesn't REALLY rely on DAO for database... scary thought!)

Finally, somehow when I use it with /SP- /VERYSILENT (no need for /LOADINF anymore) it still runs the app after installing. So I had to take out the [Run] section...

(I decided to leave the desktop icon in there and to delete it post-install)

To sum things up, I wouldn't say it was hard to fix by any means, but it sheds some light on a sub par installer. The app itself might be good but the author ought to fix the installer - the runtimes part anyways...

As a reward, I get a functionnal (and unattended) non-broken, non system files overwriting installer. I had been waiting on that for all too long. One less of my few "problem apps" to install on my to-do list :D (at least, most others can be easily captured/repackaged) Inno setup is quite nice after all. I might use it more soon

[edit] After finally including it on a unattended disc. It turns out it will prompt for some of the DLLs (mostly MDAC ones) to keep/replace still. I'll try adding onlyifdoesntexist to all the system DLLs or perhaps taking the obviously useless out (might be a better option after all...) Oh well.

0

Share this post


Link to post
Share on other sites

Hi,

I found this post and decided to test it's knowledge with the latest SpywareBlaster 3.4, that doesn't support anymore silent installs.

I downloaded the latest Inno Setup (5.0.8) and Innounp (016).

It's so easy!! :blink::blink:

I even can choose the install path for the program!

I have only one problem with the Group icons:

I don't want to put them in »Start»Programs»SpywareBlaster

but in a choosen group.

So, inside the script, I go to

[Icons]
Name: "{group}\SpywareBlaster"; Filename: "{app}\spywareblaster.exe";
Name: "{group}\SpywareBlaster AutoUpdate Configuration"; Filename: "{app}\sbautoupdate.exe"; Parameters: "-config";
Name: "{group}\SpywareBlaster Help"; Filename: "{app}\sbhelp.chm";

and add: Name: "{group}\Defense\SpywareBlaster"...........

But after compiling and installing, the group icons appear as:

»Start»Programs»Default»Defense and not as expected »Start»Programs»Defense

What am I doing wrong?

Thanks in advance

0

Share this post


Link to post
Share on other sites

I am testing the knowledge from this thread with the latest Spybot Search & Destroy version 1.4.

I use the latest InnoSetup version 5.1.4.

When I try to compile, it gives an error: "Line 200: Parameter "Types" includes an unknown type".

It is as if Spybot installer was incompatible or more advanced than InnoSetup.

Has anyone any idea?

Thanks

0

Share this post


Link to post
Share on other sites

@JohnS

You should know that when you unpack program it not means that you get all stuff what guys put over there.

In your case, if you open inno help file, you can find that it support next types:

full, custom, and compact. So, blind cause that error.

And remember, programmers not always follow rules.

moo.

0

Share this post


Link to post
Share on other sites

hi im trying to use this method on spyware blaster 3.4 but i get a error on line 13 saying file dosnt excist..

im sure im doing some thing wrong but what..

Source: {app}\spywareblaster.exe; DestDir: {app}
0

Share this post


Link to post
Share on other sites

@JohnS

I don't want to put them in »Start»Programs»SpywareBlaster
open the iss file using ISTool, click on "options" in the toolbar, then select the Program Group tab and add the directory you want to use to the "Default Group Name" box, which should be blank which is why Default is created.

@Lost Soul

If spywareblaster.exe is in the {app} folder which was created when you extracted the setup, make sure the iss file and the {app} folder are in the same directory, that's all I can think of.

Here is the setup I use, the desktop icon creation has been removed, the databases are the latest versions (6/7/05) and an uninstall icon has been added to the group icons.

0

Share this post


Link to post
Share on other sites

i did the same thing remove the programs folder add the last definitions but i still have that nag screen "getting started" when i first start the program. how can i lose that?

0

Share this post


Link to post
Share on other sites

@boooggy

I forgot to mention that in my last post, my exe also has a registry entry added

[HKEY_LOCAL_MACHINE\SOFTWARE\SpywareBlaster\Settings]
"TutShown"=hex:ff,ff

this will stop the tutorial when spywareblaster starts up.

You could add the registry entries for the IE protection as well but it would be a ballache to keep it updated with each new version or database

0

Share this post


Link to post
Share on other sites

i cant seem to get the spywareblastersetup34.exe to extract

0

Share this post


Link to post
Share on other sites
i cant seem to get the spywareblastersetup34.exe to extract
mine or the original?. Do you have inno unpacker installed?
0

Share this post


Link to post
Share on other sites

@Lost Soul

download and install alst innosetup and istool. then unpack innounp to a folder. here u put also the SpywareBlastersetup34.exe. after that u run %systemdrive%\folder name\innounp.exe -x spywareblastersetup34.exe.this will extract the files and install_script.iss. then u open install_script.iss with istool (http://www.istool.org/default.aspx/) and edit it the way u want. then save. last step is to open the install_script.iss with innosetup program and hit compile. that is it.

Edited by boooggy
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.