Getting older games designed to run on Windows 95/98 and Windows NT to run on Windows XP and Vista is not quite as obvious as it ought to be. indows 95/98 had no real system security built in at all while Windows NT had about five or six different security levels that could be assigned to accounts and games did not require full administrator access to run.
Windows XP provides only two levels of security for logins - adminimstrator and limited. Now quite obviously anyone running Windows XP should have two separate accounts set up on their computer (more if the computer is shared between two or more people). There should be one account with administrator access that is used only for installing and uninstalling software and for other administrative functions on the computer such as defragmenting the hard drive. All of your regular computer use should be done using an account with limited access.
If you do not work your computer usage this way then it is almost guaranteed that your computer is infected with many unwanted viruses, trojans, spyware etc since an administrator account gives them all the access they need to install and hide themselves on your system. If you spend 99.9% of your time using a limited account and never do anything that requires any form of networking access from the account with administrator access then it is extremely unlikely that anything will be able to install itself on your system without your knowledge since administrator access is required for installs.
Moderm computer games written for XP understand the security model used by the operating system and will install their data files to someewhere that a limited account will have write access to regardless of where you tell XP to install the program. Older games written for older operating systems do not understand the XP security model and so will probably install everything into the folder you specify. This can result in a game that worked perfectly okay on your old operating system hanging when you try to run it on XP using a limited account. Sure the ggame will run fine from an administrator account but we don't want to run the game from there as that would defeat the purpose in having any security on the system in the first place.
When I was reinstalling "Age of Empires II" onto my son's computer for him I struck this exact problem and just about all of the places I found when searching for a solution to this claimed that the only solution was to run the game under an administrator account. I never did find a page that gave a better solution than that but I did eventually find out enough about why the problem was happening to work out the better solution for myself.
The reason for these games hanging when you try to run them is that limited accounts have limited access to write to the hard drive. Limited accounts can only write to specific folders on your system. The usual folders where you install programs is not one of those places where limited accounts can write to files (which is one of the reasons you need administrator access to install programs). Therefore when you try to run the game and it tries to write anything to the hard drive iit finds that it doesn't have access to do so and either hangs or crashes.
The obvious solution once you realise this is to install the game to somewhere where it will have access to write to the whatever files it needs to.
If you go into your "My Documents" folder you will see a folder in there called "My Games". If you have installed games that were designed to run on Windows XP then you will find a folder for those games in the "My Games" folder. You will almost certainly have installed the game itself to some other folder on your computer and the install process has taken it upon itself to create a folder at this location and to put all of the files that the game needs to be able to write to into this folder. The reason for this is that this is one of the places where a limited account is able to write to files whereas the place youinstalled the program to is not.
The older games designed to run on operating systems before XP were not designed to split up the program location and data location likke this (even though it would have made more sense if they had done in order to make backing up data easier). The older programs just stored their data in the same folder as all the program files (they might have had separate sub-folders for each but all were basically stored together). If we install the program to the usual place where we install programs the program will therefore not have access to write to the data folders that it needs to be able to write to in order to run - unless you run it from an administrator account.
If we instead install the entire game into the "My Games" folder in the first place then the data files will now be exactky where they need to be in order for the game to be able to run from an account with limited access. Admittedly we now have the program itself in a less than optimal location since it is now in with our data rather than with the rest of our programs but this solution is a far better one than that of using an account with administrator access to run the game. In the normal course of using your computer you will seldom have a need to go into the "My Games" folder since the games will all take care of updating the necessary files in there for you as you play the game. You therefore will not even notice that the program files for the games are there.
Also while I have been talking about computer games in the disscussion to this point a similar solution should also work for any other application software that you need to run on your computer which claims to need to run in an administrator account but which has that requirement primarily due to where it stores its data relative to the program.