goto section page goto youngmonkey main page make contact, e-mail

Software Installation: Things To Know
Advertising Space Available

Author:dhomas trenn
Published by:Amiga Informer magazine (US)
Date:January 1999

How many times have you installed a new application, only to discover that other programs no longer work? How much of your hard disk is occupied by unused applications and support files? Ideally, every computer software application should come with safe install and un-install functionality; but, the sad reality is that this does not happen very often.

There is a lot to be said for having a good understanding of what is going on within your Amiga. There is no reason for most Amigans not to have a basic comprehension of the workings of their system. This is particularly important when using freely distributable programs (Aminet); but, this can be a problem with commercial releases, too. Programs that do include an installer, generally are very poorly written and blindly spew files throughout your system.

Getting Ready
Before installation, you should always make it a point to browse through the files included with a new application. A good file manager like Directory Opus, can make this task much easier, but it can also be done through the Workbench or from a shell using the C:Dir or C:List commands.

By familiarizing yourself in this way, you will be much better equipped to deal with any problems that might arise later. If you decide not to use the new application, you will know what files to delete afterwards.

Updating Existing Files
A good installation procedure should always confirm that support files (such as libraries, gadgets, etc.) being copied to your system are newer than any existing ones.

Perhaps you have just unarchived a new application into RAM: and you see that it includes the reqtools.library, which you already have installed in SYS:Libs/ for use with other programs. You can compare the versions of each, by using the C:Version command:

C:Version RAM:reqtools.library FULL FILE

C:Version SYS:Libs/reqtools.library FULL FILE

The FILE option is important because Version will return information about an already in use resource if you do not tell it otherwise. The FULL option is not necessary; but, it may tell you more about the file.

Make it a habit to back up any files that will be overwritten, just in case a newer version is not compatible with other programs. It is better to be safe than sorry.

Doing It Yourself
If you really want to be on top of things, you could ignore supplied installers and do the installation yourself. For this approach, SnoopDos (Aminet: util/moni/SnoopDos.lha) may be a valuable tool. With SnoopDos on the watch, you will be told what an application is looking for and where it expects to find it. For the most part though, it is obvious what goes where.

If you like to be really organized, keep in mind that .library files do not have to go in SYS:Libs/. You can just as easily add a directory to the LIBS: assignment and put them in an application's directory. Something like this in your user-startup will work:

C:Assign LIBS: WORK:Applications/Example/libs ADD

The ADD option adds the new path without removing the existing path. You can do similar for any assignment, so if a program uses its own fonts, put them in a fonts/ directory within the program's directory and add this to your user-startup:

C:Assign FONTS: WORK:Applications/Example/fonts ADD

"WORK:Applications/Example/" is just being used as an example here, the path could be to any directory on any volume.

Enforcing The Law
After installing a new application, have you noticed that other programs seem to be crashing while performing functions that used to work okay? If this is a problem, it is likely that the new application is trashing memory or causing other havoc with system resources.

The best watchdog for these problems is a program called Enforcer (Aminet: dev/debug/enforcer.lha). It is generally considered a programmer's tool, but anyone can benefit from its use. Before testing a new application, start Enforcer like this:

Enforcer STACKLINES=0 FILE=CON:0/0/640/150/Enforcer/Auto/Close

Now, if Enforcer detects a problem, it will open a window on Workbench and give you some information like this:
  LONG-WRITE to 00000102                  PC: 085FF746
  USP:  088847C8 SR: 0014 FLSW: 00810200 TCB: 088836F0
  Data: 00000000 DDDD1111 DDDD2222 DDDD3333 085FF6E2...
  Addr: AAAA0000 AAAA1111 AAAA2222 AAAA3333 AAAA4444...
  ----> 085FF746 - "LawBreaker" Hunk 0000 Offset 00000086
  ----> $085ff746: MOVE.L    D0,$0102.W
  Name: "LawBreaker"   Hunk 0000 Offset 00000086

Do not worry about what it all means, you need only be concerned by the Name: line, which tells you what program caused the problem; in this case, "LawBreaker". If the first line indicates a WRITE operation, as this one does, you can expect trouble. If it is a READ operation, things are not as bad; but, not great either.

It is a good rule of thumb to avoid using programs that generate Enforcer hits. If you have no choice, be sure to reboot your computer after doing so.

Cleaning Up
Many programs create various data files once started. If you are getting rid of an application, it is not always enough to just delete the files you see in the distribution. It is a good idea to peruse your hard disk on a regular basis to delete unnecessary files. The common locations for these config files are in S: and ENVARC: so check there first. You might be surprised at how much junk you can find wasting away. If you are not sure about deleting a file, move it elsewhere temporarly to see if anything is badly affected.

Keeping your system under control and well organized can go a long way to making your life easier. So, get to know your Amiga, as you would a good friend.