Packing Executable File With all Necessary Dependencies
Hi everybody!
I would like my software to run on many versions of windows without having to use an installer. A couple of years ago when I was quite into VB I had a demo which if I remember correctly was called, Fusion, though don't hold me to this. This software was great, it meant I could compact all the dependencies of my executable file directly within the file itself and so didn't need to worry about creating an installer. I've just recently began to get back into VB and it's almost like starting all over again. I've been searching and searching the net for the fusion software but haven't found a thing. Maybe things have moved on since then but I can't turn anything up searching the internet. Does anybody know of a good software package that can pack dependencies within an EXE file? Thank you for any advice. Kind regards,
Rich.
Re: Packing Executable File With all Necessary Dependencies
The only .Exe the packages dependency files that I know of is a SETUP.EXE which is created by an Installation package.
Re: Packing Executable File With all Necessary Dependencies
The name Fusion rings a bell, but as you cant find it I guess there was more to the name than that.
The important thing to note is that the idea of that kind of software is basically to have an installer that runs every time the program does (and un-installer when it finishes), as such this only slows things down (and uses much more memory).
I would recommend going for a proper installer instead.
Re: Packing Executable File With all Necessary Dependencies
tranquilium,
Fusion was only a stop gap measure for dll hell. The technology is specific to Win98SE (and early releases of Win2K and Windows ME) and wasn't meant to be used widely. That is why you can't find it...
It really won't work in todays software environment, with dll/ocx's being registered to work. It would be more trouble than it was worth expecially if your app crashed before Fusion could restore the registry settings.
Use an installer and be done with it. With Fusion you had to write your code around their API's.
Win2K employs Fusion technology, Windows File Protection (WFP), which prevents overwriting key system files. Windows ME calls this feature System File Protection (SFP).
Re: Packing Executable File With all Necessary Dependencies
i am using a technique to produce a mock standalone app.
this might be of interest to you.
all you need to do is create a splash screen form that loads before your project. put your dependancies into the resource file, and use shell to call regsvr32 and register the dependancies.
i might have some examples somewhere, but it's straitforward, and best of all intrinsic and free.
Re: Packing Executable File With all Necessary Dependencies
That doesn't allow for the fact that you still need some files to be installed for the first screen to work. They should be there for XP, but may not be there for earlier OS's.
A proper install is the only safe way to do it.
Re: Packing Executable File With all Necessary Dependencies
Quote:
Originally Posted by rnd me
i am using a technique to produce a mock standalone app.
this might be of interest to you.
all you need to do is create a splash screen form that loads before your project. put your dependancies into the resource file, and use shell to call regsvr32 and register the dependancies.
i might have some examples somewhere, but it's straitforward, and best of all intrinsic and free.
http://www.vbforums.com/attachment.p...id=47243&stc=1How is that an advantage over Inno and/or the P&D Wizard which are both free?
Re: Packing Executable File With all Necessary Dependencies
rnd me,
Yes, that can be done. But where in your app does it restore and track the original registry settings. After your app is done the regisrty may be screewed for other apps. Expecially if your app folder is deleted or the dll/ocx's your app used are older version of the current one that other apps need.
This really should not be done in this manner without careful thought and protection. While your app is running with the newly registered dlls other apps may stop working altogether...
The methodology you use was only really good for a Win3.1 type environment when nothing needed to be registered..
Re: Packing Executable File With all Necessary Dependencies
Quote:
Originally Posted by si_the_geek
That doesn't allow for the fact that you still need some files to be installed for the first screen to work. They should be there for XP, but may not be there for earlier OS's.
A proper install is the only safe way to do it.
touche! i was assuming that everyone has vb6 runtimes by now. they were shipped with win2000 as well.
does anyone know if the vb6 runtimes are bundled with anything else, like IE, MS office, media player, etc>?
i share your dispassion of installers, especially PDW.
i am working on something now that "morphs" from a user configurable installer to the app, using the same exe. just an extra form and some module stuff...
i plan to distribute with my "just in time" method, hoping they have runtimes, while also offering a setup file as a backup incase of error or a reagan-era PC.
have you toyed with the idea of an installer based upon a .bat file? there are several .bat to .exe converters out there, some for free, and you won't get more compatible than that.
also, look into self-extracting zip exes- i belive you can specify a path ahead of time, and mayby, just mayby, run something upon extraction. or wrap that zip/exe in something else.
please post whatever you figure out, we have the same problem!
Re: Packing Executable File With all Necessary Dependencies
Possibly reading Installation Problems in my signature will help sort some things out.
Re: Packing Executable File With all Necessary Dependencies
Quote:
Originally Posted by rnd me
touche! i was assuming that everyone has vb6 runtimes by now. they were shipped with win2000 as well.
Not here they weren't - I once had a Windows 2000 SP2 install CD, and it did not include VB6 runtimes. I dont think any MS apps install them, but I could be wrong.
Living in hope isn't a professional way to deal with it - many people will get annoyed at having to go thru 2 installations, especially as you are unlikely to fill a CD or make them spend hours downloading just for that extra few MegaBytes. ;)
Re: Packing Executable File With all Necessary Dependencies
Quote:
Originally Posted by randem
rnd me,
This really should not be done in this manner without careful thought and protection. While your app is running with the newly registered dlls other apps may stop working altogether...
it depends on what project you are doing.
it's hard to say without knowing what he is trying to do.
i completely agree you about not replacing DLL willy-nilly.
to be honest, i have only done this with one app, which uses the riched control which many people just don't have.
i don't update anything, just put it there if it's absent. it has worked ok on the 3 or 4 comps i've tested.
obviously, more attention is needed if you want to track versions. that why i have a PD made backup for dinosaurs.
but i only had to use that setup on an old win98 machine.
interesting side note:
as of September 23, 2004
Of Microsoft's approximately 390 million operating system installations around the world, Windows XP Pro constitutes 26.1 percent, Windows XP Home 24.7 percent, IDC said.
The remaining 49.2 percent is composed of Windows 2000 Professional (17.5 percent), Windows 98 (14.9 percent), Windows ME (6.5 percent), Windows 95 (5.4 percent), and Windows NT Workstation (4.9 percent).
http://news.com.com/Microsoft+To+sec...3-5378366.html
what is your project tranquilium?
my beef with PDW is that it reeks amateur, and is a PITA if you only have a couple simple install tasks to perform...
VB Code:
Public Sub regit()
Dim lngReturn As Long
Dim Syspaf As String
Dim ricFile As String
Syspaf = GetSpecialFolderPath(CSIDL_SYSTEM) & "\"
ricFile = Syspaf & "richtx32.ocx"
If Dir(ricFile) = "" Then ' file doesnt exist
LoadandregOcx ricFile, "MyOCX" 'registers ocx
End If ' file don't exist
End Sub