By
Brien M. Posey
Wednesday, August 22 2007 09:48 AM
URL:
http://www.zdnetasia.com/builder/program/windows/0,39045553,62030382,00.htm
One of the most critical tasks in preparing a deployment of
Windows Vista is to test the compatibility of your applications. Many
applications that run perfectly under Windows XP simply do not run on Windows
Vista. Since you don't want to spend time and money to deploy Vista if none of
your users are able to run their applications afterward, it is absolutely
imperative to test each application ahead of time.
What's the best way to test?
Of course, you still have to make sure to test all of the
applications in your organization. Although it's tempting, you don't
necessarily have to set up a workstation and install a copy of every
application your company uses (not at first, anyway). Unless you are very
thorough in your testing, installing all those applications onto a workstation
isn't a good testing method for of couple of reasons.
Depending on the size of the company, there might be
hundreds, or even thousands of applications in use. If you manually load each
application onto a test system, there's a good chance you might accidentally
skip an application. Even if you cover all of the applications, some
applications have probably been patched to a version other than what's on the
installation CD.
The other reason I don't recommend installing all of your
applications onto a workstation as your testing method is because some
applications initially appear to work even though they are not completely
compatible with Vista. For example, when Vista was first released, I attempted
to install some financial software onto one of my workstations. The software
installed and loaded correctly, but when I tried generating a report through
the software, it would cause the application to crash. Therefore, if you plan
on installing applications as your basis for evaluating application
compatibility, you should be prepared to test all of the application's
features.
The good news is, you don't have to manually install
each and every application to find out if the application works with Vista.
Microsoft has already tested countless applications to determine whether or not
they will work with Vista. You can use the results of these tests to help you
to determine whether or not your applications will be Vista compatible. The
Application Compatibility Toolkit allows you to perform a software inventory
across your network and then cross reference each application with Vista
compatibility information.
Although the Application Compatibility Toolkit is included
as a part of Microsoft's Deployment Workbench, I recommend going to the
Microsoft Web site to check for the latest version. This article is based on
version 5.0.
The Application Compatibility Toolkit v. SMS Server
The Application Compatibility Toolkit is far from being the
only solution available for preparing for a Vista deployment; a competing
solution is Microsoft's SMS Server. Of course, this begs the question of which
solution works better? If you had to use one solution or the other, I would
recommend using the Application Compatibility Toolkit rather than using SMS Server.
If you happen to already have SMS Server in place, however, the two tools can
complement each other nicely. Table A illustrates each tool's strengths and
weaknesses in planning for a Windows Vista deployment.
Table A
|
Feature
|
Application
Compatibility Toolkit
|
SMS Server 2003
|
|
Includes tools specifically designed to identify
application compatibility issues
|
Yes
|
No
|
|
Automatically searches the Internet for updates to
application compatibility information
|
Yes
|
No
|
|
Requires pre-existing infrastructure
|
No
|
Yes
|
|
Specifically designed for dealing with excessive numbers
of workstations
|
No
|
Yes
|
|
Requires the installation and subsequent removal of an
agent
|
Yes
|
No
|
If this information doesn't provide enough compelling
reasons for using the Application Compatibility Toolkit, then remember that the
Application Compatibility Toolkit is free. A copy of
SMS 2003 R2 with a 10-device license will set you back $1,219.
Compiling an application inventory
Before you can collect an application inventory, you must
configure the Application Compatibility Toolkit to use a SQL Server database
for data collection. Many Microsoft utilities will allow you to use MSDE as an
alternative to using SQL Server; but sadly, the Application Compatibility
Toolkit doesn't seem to give you that option.
Begin the configuration process by opening the Compatibility
Administrator (found on the All Programs | Microsoft Application Compatibility
Toolkit menu). When the Configuration Wizard begins, Windows will display the
dialog box, as shown in Figure A. As you can see in the figure, the wizard
requires you to configure a SQL database, a log share, and a log processing
service account.
Figure A
The wizard requires you to configure a SQL database, a log share, and a log
processing service account.
Press Next and you'll see a screen
asking you if you want to install the enterprise configuration, or if you would
rather just view and manage the reports. Since there aren't any existing
reports yet, select the Enterprise Configuration option and press Next.
At this point, you will see the Configure Your ACT Database
Settings screen, as shown in Figure B. Although this screen looks simple
enough, this is probably the trickiest screen in the entire utility.
Figure B
The Configure Your ACT Database Settings screen is especially tricky.
Initially, the SQL Server drop-down list is empty. You must
press the Browse button to get the dialog box to display a list of the SQL
Server instances in your organization. Simply selecting a SQL Server from the
drop-down list isn't enough. You must press the Connect button to establish a
connection to the database server. The Connect button isn't shown in Figure B,
but it will appear in the spot where the Refresh button is shown.
Once you have established a database connection, you must
create a new database on the SQL server. To do so, just type the name of the
database that you want to create and press the Create button.
The next screen is problematic; it will display all of the
SQL Servers in your organization, even if it cannot use them all. While I was
preparing to write this article, I initially selected a server that was running
SQL 2000. I was able to connect to the database server and create a new
database. However, the Application Compatibility Toolkit was unable to compile
any application inventory information. There were no obvious error messages
(although I did find an error embedded in an XML file); the process just didn't
work. It wasn't until I upgraded the server to SQL Server 2005 that the
Application Compatibility Toolkit began working correctly.
Once you have entered your database information, press Next and you will see a screen prompting you to configure
your log file location. To do so, simply create a directory on your computer
that can be used to store inventory logs collected from the workstations that
you are testing. Once you have created this directory, enter the directory's
path in the space provided and give it a share name. Depending on the version
of Windows you're running the Application Compatibility Toolkit on, you might
have to manually assign permissions to the share. If you find yourself having
to manually specify the permissions, keep in mind any computer that you're
testing will need to be able to write files to the share.
Press Next and you will be prompted
to specify an account that will be used to extract data from the logs and write
it to the database. It's easy to select the Local System account, but doing so
tends to cause problems; if your database is located on another computer, then
the Local System account won't have access to the database. I tend to think it
is better to create a domain user account and give it the appropriate
permissions.
After specifying the account you want to use, press Next; a message will appear, informing you that the
configuration of the Application Compatibility Toolkit is successfully
finished. Press the Finish button and Windows will load the Application
Compatibility Manager, as shown in Figure C.
Figure C
Press the Collect button to start the data collection process.
Press the Collect button and you will be taken to a dialog
box similar to the one shown in Figure D. The basic idea behind this dialog box
is that the Application Compatibility Toolkit requires you to install an agent
onto any computer that you want to inventory. However, this agent needs to be
aware of your configuration and preferences. Therefore, the dialog box gives
you the chance to enter your preferences. When you press the Save button, the
agent file will be placed into your Documents folder. The filename will match
the package name you enter.
Figure D
You need to load an agent on the workstations you want to inventory.
Once you have created the agent, the next task is deploying
the agent to the workstations you want to inventory. You can use any number of
methods to deploy the agent. Some of the more common methods involve using SMS
Server or assigning the agent to the workstations via group policy. Another
option is to run the agent as a part of a login script. You could even e-mail a
copy of the agent file to your users.
Keep in mind that the agent installs silently. If you want
to confirm that the agent has been installed on a PC, I recommend taking a look
at the Add / Remove Programs applet in the Control Panel.
Once the agents have been installed, it sometimes takes a
while for things to happen in the Application Compatibility Manager. To view
the inventory progress, press the Collect button in the lower-left corner of
the console and then press the By Status link in the Current View section. When
you do, you should see a summary of the computers that the agent is collecting
an inventory from, as shown in Figure E. Keep in mind that you may need to
press the Refresh button to see the most current information.
Figure E
The By Status screen will show you the status of the inventory collection
process.
Keep in mind that this screen provides you with verification
that the process is working. If you are unable to see any information listed on
the By Status screen, then it is a good indication that you have a problem.
When the process completes, press the Analyze button; you
will see a screen similar to the one shown in Figure F. As you can see, this
screen lists the applications that have been detected. The screen also includes
columns for your assessment of the application, as well as the assessments of
the application's vendor and the IT community.
Figure F
The Analyze screen displays the application inventory and compatibility
information.
You will notice there is no compatibility information listed
in Figure F. This is because I ran the agent on a machine that was already
running Windows Vista; had I run the agent on a Windows XP machine, the Vendor
Assessment and Community Assessment columns would have been populated for most,
if not all of the applications.
This tool allows you to document your assessment of an
application. Once you have made up your mind about whether or not an
application is Vista compatible, just right-click on the application and select
your assessment level (Works, Works With Minor Issues,
or Does Not Work). Upon doing so, your assessment for the application will be
displayed, as shown in Figure G.
Figure G
The Application Compatibility Manager allows you to document your
assessment of various applications.
As you can see, manually inventorying the applications that
are running on your network can be a big job. Fortunately, the Application Compatibility
Toolkit is designed to simplify the inventory process and to cross-reference
your software inventory with Vista compatibility information.