How common is this method? I was wondering as I read this wouldn't your code be
a little (a lot?) fatter than if you used an installer? I always assumed that
the installer was like a virus protein shell that did the work of installing
the code and then is scrapped so that the working mechanism (program/virus rna)
runs nice and lean and allows you to take over the world according to plan.
But back to the App.Open event usage. I like this in concept as a start point
to install as my need for uninstall is limited for now. For the apps I make it
would do the trick. Any support text files I have are very small and I could
easily inbed them in to the program without problems. Hmmm....
The original question on the Installers used was more of an exercise in
learning for the future. Seems every on is using them etc.
The comment on MAC verses Mac was appreciated. Didn't think about it but nice
not to be embarhassed all the time as I learn.
I honestly didn't expect such a large amount of information or discussion
from my question. Never know what will happen on this list. Thanks again. LOL.
cheers
Derek
[EMAIL PROTECTED] wrote:
I'm not sure what other people think about this, but I usually prefer
to place my installing code in the application that is being
installed, and not have a separate installer.
Sounds a bit crazy at first, but it makes the whole thing a lot
simpler for the user, and it makes creating the download files a lot
easier for the developer.
Basically, suppose you have a list of files that need to be placed in
various locations in order for your application to run. When my
programs start, the first thing they do is check to make sure that
those files exist. If they don't, then I write them out there myself
right then and there, right from my application. That way, I get
error checking and installing done all at once. Then, of course, I
provide an easy method of uninstalling the files. This is where my
approach has it's problems, unfortunately. I can see where a
standard system installer is a good idea (and about my previous post
about Mac users liking drag-and-drop installs, that's true, but OSX
does have a very cool installer program, also). Especially on
Windows, a correct uninstall requires that resources in use by other
applications are NOT removed. This is a bit hard to do if your
installer is built into your application and is totally proprietary
and not linked to the system in any way.
As for me, well, RB does such a fine job at making applications self
contained that I have never needed external shared libraries to be
installed. Because of this, my method works just fine for me. All
the files that I have ever needed to "install" for said program are
completely proprietary and are used exclusively by said program.
As for the programming, generally, the App.Open event launches a
thread that handles all startup routines. The thread usually
executes in a blink of an eye, unless a hard drive needs to get fired
up, so there's no need for a status bar. If any install is required,
however, I ask the user if they want my program to start writing
stuff to their hard drive, and if they click yes, I do it and then
show the main window as a signal of completion. Basically, if the
program runs, then the install is complete. Any file that I could
need to write to the hard drive is stored inside the application by
means of dragging whatever resource I need onto the project pane of
the project. From there, it is accessible from within your
executable as a string. To write it to the hard drive, use a
textoutputstream for text files, or a binarystream for binary files,
and just tell which ever stream to write what you're trying to
write. The data type of the data property of the Write method of
both the TextOutputStream and BinaryStream is a string.
And yes, I put the uninstall option in the menus somewhere. On OSX,
I put it in the application menu.
By the way, MAC is short for MAC Address, and Mac is short for
Macintosh. Just thought you'd want to know...
Andrew Keller
_______________________________________________
Unsubscribe or switch delivery mode:
Search the archives of this list here:
---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail Beta.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>