Windows 7 Application Compatbility


Uploaded by itfreetraining on 28.04.2011

Transcript:
Welcome to application compatibility, part of the free windows 7 training course from
IT Free training. When you upgrade to windows 7, one very important aspect of upgrading
is to ensure that the software you are using works with windows 7. Microsoft has gone to
a lot of effort to allow windows 7 to run applications that were not originally designed
for windows 7. Before I go into how to make old software
work on windows 7, first I will look at what can potentially cause problems to applications
running on windows 7. In the old days, windows and M S dos applications could write to any
part of the system they wanted to. They could even write over system files that were essential
for the computer to work correctly. The operating systems back then were not designed
to be multi user. If you made a change to a file, often even when operating systems
started supporting more than one user, a changed made by one user would affect all users.
Also when you installed new software there were problems with incompatible system files.
Installers would often update systems files. The problem was that another piece of software
would need a particular version of a system file and would stop working when the system
file was updated. To fix problems like this, Windows Vista introduced
Windows resource protection. This protects system files by ensuring that they are only
updated by a trusted installer. This stops an application updating a system file and
thus potential breaking something else in the process.
Windows Resource Protection also protects the registry. This stops a program from updating
parts of the registry that they should not be. In most cases, this will be H Key local
machine. H Key local machine contains system settings for the computer. This includes device
driver settings and hardware settings. Besides the damage that could be done by updating
the wrong keys, H Key local machine affects all users on the system.
So with Windows Vista, Windows Server 2008 and windows 7, Windows resource protection
prevents access to these areas which protects your system but will also stop your old applications
from working correctly. Microsoft has thought about this and has implemented anther system
that not only protects your files but provides backward compatibility.
Windows provides a virtual registry and file area for system files and the registry. When
applications attempt to read or write to these area they are redirected to another area.
If I open a command prompt, I will be opened to my user profile directory, in this case
admin. If I now perform a d i r with the slash a
switch, this will show files that would normally be hidden, you can see a number of directories
called junctions. In this case, these directories don't physically exist anymore and have been
moved. To make windows 7 compatible with older software which may look for these directories,
when software tries to access say the templates directory, the software is silently and transparently
redirected to the templates directory located in the app data directory. This allows old
software to run without modification. This works well for directories that have
under gone a name change but can still be written to, but does not help for other directories
that are now read only, for example the windows or program files directories. If I go into
the App data directory and then the local directory and finally the virtual store directory.
This is where windows redirects writes from old applications when they try to write to
system areas. If I list the contents of this directory,
you can see a windows directory and a programs directory. These are areas of windows 7 that
are now read only but in older operating systems, programs could write to these areas. If I
go into the programs directory and list the contents, you can see a number of programs
have stored data in here. On this computer I have a program called free
P D F convertor, if I go into this directory, you can see that there is a file called options.
The software at one stage attempted to save this file to the program files directory and
was redirected here. This presents two problems. Firstly if the software was allow to write
to the program files directory, it could potential damage software on the computer.
The second problem is that a change like this would affect all users on the system. By having
an option file like this created in each user profile on the system, this means each user
of that software can configure the software any way they want. The original software does
not have to be modified or upgraded to work effectively in windows 7 and with multiple
users. The same applies to the registry. If I close
the command prompt and open the registry editor. I can see all the 5 hives that make up the
registry. The H Key local machine I talked about earlier is read only in windows 7 to
most programs. It was writeable in earlier version of windows and thus experienced the
same problems as the system files. If I open H Key Users hive and then open a
user. You can see that if I navigate down to software and then classes and finally virtual
store, I can see a folder called machine which contains all the data from software that attempted
to write to H Key local machine. Under here you can see that some software from Nvidia
attempted to write to H Key local machine and was redirected here. By redirecting registry
writes here has the same effect as before with the file redirects. Old software is allow
to work and will also work in a multi user environment.
Virtual file and registry software in windows will hopeful solve your software compatibility
problems without you having to do anything. However, when dealing with old software, you
may have to make some more changes to ensure it works with windows 7.
On my windows 7 computer I have downloaded an application called 20 20 which is used
to perform screen captures. I will quickly install this application on windows 7 since
this it is not the focus of this video. Once installed, when I run the application I will
get an error saying the application stopped working.
Windows will automatically check to see if there has already been a solution found for
the problem. Sometimes Microsoft will recommend an update to windows or a vendor update to
the fix the problem. In this case, no solution could be found.
To get software like this to work, go to the executable or shortcut for the application
and open the properties for it. In the file properties, select the compatibility tab.
The first option allows you to configure which operating system the application will detect
running. The list is quiet long, everything from Windows
95 to windows vista. If you have an application that is hard coded to only run on a certain
operating system, this may allow the program to run.
If the problem is not the running or the installing of the software, you may need to set some
of the other options. Firstly you can limit the colors to 256 if you are having display
problems and also limit the resolution to 640 by 480. This may be required with very
old software. The option disable visual themes will disable
the new visual themes found in windows 7. If you have problems with the title bars and
windows not displaying correctly this may fix the problem.
When you disable desktop composition this effectively disables the Areo interface. You
will find that while this software is running Aero will stop. Once the program has exited,
Aero will start running again. Disabling display scaling on high DPI, disables
font scaling for this application. Some people adjust the size of the font in Windows to
make it easy to read. You may find that some programs will start having problems displaying
adjusted fonts. For example, the text may be cut off as the programs do not scale their
windows according to the large font size. Selecting this option will ensure fonts for
this application are shown at the default size and are not scaled.
The last option will run the application as an administrator. You will find that even
software designed for Windows XP which was designed to multi user may need to write to
parts of the hard disk that they are not supposed to. Hopefully the virtual file and registry
will solve this kind of problem. Selecting this option will give the application
more rights, but of course this is bad practice. Having said this, selecting this option may
get your legacy applications to run. I would however only tick this option as a last resort.
Lastly make sure you take note of the option show settings for all users. The settings
that I am currently editing only apply to the current user. If you want to change the
settings for all users that use this computer, select this option and another set of options
will appear. If I now exit out leaving the option selected
run in windows XP mode, 20 20 will now run correctly. I have found with some old applications
you sometimes only need to run them once with administrator rights. Once you run them once
and they have performed there initial startup, they work correctly after that.
Whenever possible, it is best to upgrade the software to a windows 7 version if one is
available. In the next video, I will look at a more powerful tool called the Application
Compatibility tool kit. This is a collection of tools designed to improvement software
compatibility in windows 7 when you are supporting an enterprise network.