jump to navigation

New Tool: ZTIAppVerify.wsf – Logs the status of all installed applications. November 8, 2010

Posted by keithga in MDT 2010, Troubleshooting, VBscript.

Someone posted this question on a E-Mail list today:

Subject: Applications log file

Hi all,

I am working on building a LTI solution for Win7. [… is] there […] a simple solution to create a log file at the end of the deployment phase. This log file must contains a list of all applications installed in the task sequence.

It’s possible?

It got me thinking, and I realized that I *had* created a script to perform this exact same problem early this year, yet never posted it here to my blog.

So without further delay:  Introducing new tool ZTIAppVerify.wsf!


This script performs two tasks:

  1. 1. It will enumerate through the Applications specified in the Wizard, the CustomSettings.ini, and/or MDT Database. In other words, it will parse the Applications and the MandatoryApplications list properties and attempt to see if the installation was successful.
    How does it determine if the installation was successful?  If you populated the “UninstallKey” when creating your Application in MDT, that Key must then exist in the uninstall registry. For MSI applications, that UnInstallKey is just the Product Key. An Error is generated if the Key is not found (meaning the install was not successful).
  2. The script will also enumerate through all the Uninstall Registry Keys on the local machine:
    This is the list that is populated when you go to the Control Panel to remove an application (and a lot more). Note that output will contain the “UninstalKey” for use later on.

Just place this script in your MDT 2010 Task Sequence, somewhere *after* the ZTIApplication.wsf script(s) are run.

Sample Output:

For example, in the 2nd case listed above, the script will display a list of installed programs, the “UninstallKey”, and a friendly name for the application:

INSTALLED:   {23170F69-40C1-2702-0465-000001000000} \ 7-Zip 4.65 (x64 edition)
INSTALLED:   {25097770-2B1F-49F6-AB9D-1C708B96262A} \ System Center Operations Manager 2007 R2 Agent
INSTALLED:   {26A24AE4-039D-4CA4-87B4-2F86416017FF} \ Java(TM) 6 Update 17 (64-bit)
INSTALLED:   {29C93182-34F6-3275-A18D-59326851CD57} \ Microsoft Windows SDK for Visual Studio 2008 .NET Framework Tools - enu
INSTALLED:   {2F14965D-567B-4E59-ADEB-0A2CC1E3ADDF} \ Sql Server Customer Experience Improvement Program
INSTALLED:   {31E8F586-4EF7-4500-844D-BA8756474FF1} \ Windows Automated Installation Kit
INSTALLED:   {347F1DAD-AFF5-4F68-84F5-69AEB3EE1D24} \ Microsoft Deployment Toolkit 2010 Update 1 (5.1.1642.01)





1. [ConfigMgr 2007] Is there a log file anywhere that tells me which Applications and Updates were installed by my Task Sequence? - Cliff Hobbs at myITforum.com - September 9, 2011

[…] Garner it does exactly this. Full details including a link to download the script can be found at:http://deployment.xtremeconsulting.com/2010/11/08/new-tool-ztiappverify-wsf-logs-the-status-of-all-i… Published Friday, September 09, 2011 6:23 AM by chobbs Filed under: General, ConfigMgr 2007, […]

2. New Tool: ZTIAppVerify.wsf – Logs the status of all installed applications. « MS Tech BLOG - August 3, 2011
3. Brian Gonzalez - December 20, 2010

Great job. Can you suggest a standalone tool to tally up these “UninstallKey”s from a machine with the applications installed?

I know I can comb through the registry with Find (Cntrl+F)’s but Id rather have a script or app to work with. Thanks.

Uninstall Key locations:

4. Michael Sainz - December 3, 2010

What was the email list that the question came from, Keith?

5. Spencer - November 10, 2010

I added this script to my deploy, saw it run, and I only received the summary at the end of the deployment. Did I miss something?

Sorry comments are closed for this entry

%d bloggers like this: