How the Application Compatibility Toolkit Data Collector Works
Applies To: Windows 7, Windows Vista
The Microsoft® Application Compatibility Toolkit Data Collector (ACT-DC) is a component of the Application Compatibility Toolkit, deployed to your client computers through the ACT-DC Installation Package. The ACT-DC Installation Package is a self-extracting executable (.exe file), that contains the configuration manifest and an installation file for both the data collector and the compatibility evaluators. After deployment, the ACT-DC installs the compatibility evaluators, maintains the evaluator scheduling, collects data by using the compatibility evaluators, uploads the issue data to the Microsoft Compatibility Exchange and your ACT database, and enables you to review the information within the Analyze screen of the Application Compatibility Manager.
This topic includes:
ACT-DC terminology
ACT-DC process
ACT-DC components
Application Compatibility Toolkit Data Collector Terminology
The following terms are associated with the ACT-DC.
Term | Definition |
---|---|
ACT-DC installation package |
The package that includes the installer, ACT-DC, the compatibility evaluators, and the configuration files to be deployed to client computers. |
ACT Log Processing Service |
The service that processes the log files uploaded from your client computers, adding the information to your ACT database. |
Application Compatibility Manager (ACM) |
The user interface (UI) that enables you to view reports based on the information generated from the ACT database. |
Application Compatibility Toolkit (ACT) |
A suite of tools that enables software developers, independent software vendors (ISVs), and enterprise IT professionals to determine whether their applications are compatible with a new version of the Windows® operating system or newly-released Windows security updates. |
Application Compatibility Toolkit Data Collector (ACT-DC) |
A self-extracting executable (.exe) file containing your configuration manifest and installation file for the data collector and compatibility evaluators. After deployment, ACT-DC installs the compatibility evaluators, maintains their scheduling and data collection, and uploads the issue data to your ACT database. |
compatibility evaluator |
A command-line program launched by the ACT-DC and configured by the user through the data-collection package (DCP) settings. An evaluator might run immediately and exit, or continue to monitor system activity through the duration configured by the user. |
compatibility-evaluator definition package |
The collection of files and data created by a partner defining a compatibility evaluator. |
compatibility-evaluator installation package |
The installation package used by the ACT-DC to install a compatibility-evaluator module. The provider of the compatibility evaluator produces the compatibility-evaluator installation package that is included in the compatibility-evaluator definition package. |
compatibility-evaluator module |
A compatibility-evaluator component that is exposed to the ACT-DC. A compatibility-evaluator module generates data and can have dependencies on other compatibility evaluators. |
component |
A part of the ACT that specifies the compatibility evaluator resources and settings. |
configuration manifest |
A file containing all of the user configurable settings, such as which compatibility evaluators will run, when and how long the compatibility evaluators will run, where to log data, and so on. |
data-collection package (DCP) |
A Windows Installer (.msi) file created in the ACM for deployment to each of your client computers. Each data-collection package can include one or more compatibility evaluators, depending on what you are trying to evaluate. |
data collector |
A set of compatibility-evaluator modules that produce or gather data and then store the data locally in a raw or nearly raw form. All compatibility evaluators act as data collectors, and are installed and deployed by ACT-DC. |
installation manifest |
The settings and dependency information ACT-DC needs to install and run the compatibility evaluators. The installation manifest includes installation information for every compatibility evaluator. |
post-processor |
A compatibility-evaluator module that takes volumes of raw data and produces data in a format that matches the ACT schema, with extensions supplied by the compatibility-evaluator provider. More than one post-processor might depend on a single data collector and a post-processor might depend on data from more than one data collector. |
Uploader |
A tool that processes the gathered compatibility data and uploads the information to your ACT database by using the Microsoft Compatibility Exchange Web service. |
Application Compatibility Toolkit Data Collector Process
After installation, the ACT-DC performs the following steps:
Parses the installation and configuration manifests.
Installs your compatibility evaluators, schedules the evaluators to run, and manages the scheduling for the future.
Gathers the data for the Uploader, and then uploads the data to your ACT database and the Microsoft Compatibility Exchange, after the compatibility evaluators complete their run.
Application Compatibility Toolkit Data Collector Components
The following sections discuss the ACT-DC components.
ACT-DC Installation Package
The ACT-DC installation package consists of a self-extracting executable containing:
The configuration manifest
An installation file for the ACT-DC and compatibility evaluators
The installer for the ACT-DC installation package is responsible for creating the folders described in the following table.
Folder | Description |
---|---|
ACT-DC |
Folder for all files except data files; including manifests. You can specify a location using the |
Application Data |
Folder for data files modified by the ACT-DC, for example, internal files containing system state information. By default, this folder appears in your Application Data\Microsoft\Application Compatibility Toolkit 5.6 directory. |
The Installer is also responsible for installing the ACT-DC components and copying any remaining files and components to the appropriate folder, as shown in the following table. It then launches any specific compatibility-evaluator installation actions.
File or Component | Folder |
---|---|
ACT-DC |
ACT-DC |
Installation manifest |
Application Data |
Configuration manifest |
Application Data |
Installation packages for individual compatibility evaluators |
ACT-DC, in a subfolder specified in the installation manifest |
ACT-DC Scheduling and State Components
The following sections discuss the ACT-DC as it relates to the scheduling and running of compatibility evaluators.
Scheduling Compatibility Evaluators
ACT-DC schedules the compatibility-evaluator modules to run based on the compatibility evaluator's schedule, defined in the configuration manifest and based on inter-module dependencies, such as:
If a compatibility evaluator consists of one or more compatibility-evaluator modules and there is one schedule specified for each compatibility evaluator. If the configuration manifest does not specify a schedule for the compatibility evaluator, it inherits the common runtime schedule.
If a compatibility evaluator has more than one compatibility-evaluator module, ACT-DC determines the inter-module dependencies. The dependencies are based on information in the installation manifest, defining which module or modules are the predecessors of other modules. ACT-DC schedules compatibility-evaluator modules with no predecessors to start at the compatibility evaluator's scheduled start time. After all of the predecessors of a compatibility-evaluator module are done, ACT-DC runs the compatibility-evaluator module that depended on the other compatibility-evaluator modules.
Note
For more information about scheduling your compatibility evaluators, see Creating a Data Collection Package.
Running Compatibility Evaluators
ACT-DC schedules and runs compatibility evaluators in the account specified by the compatibility-evaluator definition manifest, including only predefined accounts such as LocalSystem, LocalService, and NetworkService. If the version of Windows does not support the account, the compatibility evaluator will run as LocalSystem. Whenever possible, ACT-DC runs as LocalService or NetworkService. ACT-DC only runs as LocalSystem when that access is absolutely required.
As the compatibility evaluators run, inter-module dependencies occur and are resolved in the following manner:
When one module is explicitly specified as a predecessor of another module (a post-processor), ACT-DC directs the first module to write to a unique subfolder. When that module completes, ACT-DC directs the post-processor to gather data from that subfolder. After the post-processor finishes, ACT-DC deletes the subfolder, enabling two post-processors to use the same log files.
If a module has no explicit post-processor (that is, no other module specifies it as a predecessor) and does specify an OutputLocation parameter, ACT-DC passes the common output folder as the location for the module to output its data. If a module has no predecessors but does specify an InputLocation parameter, then ACT-DC passes the common output folder as the input location.
Uploader
The installation manifest specifies what post-processor ACT-DC runs against the logs generated by each compatibility-evaluator module. The configuration manifest specifies the schedule for when each compatibility-evaluator module runs. The Uploader is a separately scheduled tool that works with three standard parameters:
Start time
Input folder
Internal files folder
And two customized options:
Output method. An enumeration of modules, one for each type of upload process called by the Uploader tool.
Output location. A string specifying where the Uploader tool should put logs, interpreted by the upload compatibility-evaluator module selected by the output method. For example, if the output method is Offline, the output location is the folder to which the files are moved. If the output method is Automatic upload to data service, the output location is the URL of the data service.
Data Collectors
A data collector is a compatibility-evaluator module that does not depend on data from any other compatibility-evaluator module and outputs raw data, not matching any schema. The data collected from a data collector is processed into an XML log that does not match the extended schema.
Post-processor
A post-processor is a compatibility-evaluator module that takes the data from other modules and produces data in a format that matches the toolkit data schema with extensions.
Installation Manifest
The installation manifest contains the information ACT-DC needs to install and run the compatibility evaluators. It identifies all of the common modules and compatibility evaluators, specifies compatibility-evaluator dependencies, command-line arguments, and so on. The installation manifest includes all of the information from each individual compatibility evaluator's compatibility-evaluator definition manifest.
Configuration Manifest
The configuration manifest stores all of the user or administrator-defined settings and configuration choices. The configuration manifest is deployed with the installation manifest and ACT-DC.
Compatibility-Evaluator Definition Manifest
The compatibility-evaluator definition manifest specifies all of the settings needed to define the compatibility-evaluator modules. It consists of the following elements:
Identity. Identifies the compatibility evaluator and its applicable platforms.
Installation. Specifies the files to install, where to install them, and any customized actions.
Operation. Specifies how to manage the compatibility evaluator, which command-line arguments each module can accept, the modules on which it depends, and so on.
The compatibility-evaluator definition manifests exist in the installation manifest for the Application Compatibility Data Collector installation package.
See Also
Concepts
Microsoft Application Compatibility Toolkit Data Collector (ACT-DC) Technical Reference
Phase 1: Collecting Your Compatibility Data