Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


January 2008

How to Get Information About Installed Applications Without Using WMI

RSS
Subscribe to Windows IT Pro | See More Registry Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Download the Code Here

Executive Summary:
The standard way to find information about installed applications is to use Windows Management Instrumentation's Win32_Product class, but sometimes that's not possible. For example, a known bug causes Win32_Product inquiries to fail on some Windows Vista systems, and there won't be a fix until Vista SP1 is out. Here are three workarounds you can use to get the same information that Windows Management Instrumentation's Win32_Product class provides on Vista or any other modern Windows OS.


Some Windows Vista systems have Windows Management Instrumentation (WMI) queries of the Win32_Product class fail and provide the less-than-helpful message Generic failure. Repairing WMI typically doesn’t solve the problem. In a Usenet group discussion, Microsoft insider Jeffrey Snover confirms that this is a known bug scheduled for a fix in Vista’s SP1 (see groups.google.com/group/microsoft .public.windows.powershell/browse_thread/thread/a3313bfdeaaca2af/ 66061dcb9ea6578a).

In one post in the discussion, Keith Hill mentions that you can get the same information that the Win32_ Product class provides directly from the registry. The Win32_Product items are all in subkeys under the HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\Windows\Current-Version\Uninstall key. However, Hill doesn’t mention how to extract the data. Depending on what tools you’re comfortable with using and what you need to do, there are a few options for quickly extracting the data. These options aren’t limited to Vista. You can use them on other Windows OSs if you’re having problems with the WMI subsystem.

If you want to save the data in a file for later use, a simple approach is to run regedit, navigate to the HKEY_ LOCAL_MACHINE\SOFTWARE Microsoft\Windows\CurrentVersion Uninstall key, right-click that key, and select Export from the context menu. You can then save the data in a .reg file.

If you want to display the data, you can use command-line tools. One such tool is reg.exe. After opening a command-shell window, run the command

reg query HKLM\SOFTWARE\
Microsoft\Windows\CurrentVersion\
Uninstall /s

(Although this command appears on several lines here, you would enter it on one line. The same holds true for the other multiline commands presented here.)

Another command-line tool you can use is Windows PowerShell. In PowerShell, the simplest way to display the data is to use the Get-ChildItem cmdlet (which has the alias of gci), then pipe its results to the Get-Item- Property cmdlet. (Get-ChildItem doesn’t retrieve information about the registry values contained within subkeys; it only lists the subkeys’ names.) So, the command that you’d enter in the PowerShell window would be

gci “HKLM:\SOFTWARE\Microsoft\
Windows\CurrentVersion\Uninstall” |
ForEach-Object{Get-ItemProperty
$_.PSPath}

You can filter the output of this command to make it more readable by piping the output to the Select-Object cmdlet, putting the names of the properties you’re interested in as arguments. For example, here’s how I use Select- Object to get some of the more useful information from the registry keys:

Get-ChildItem HKLM:\SOFTWARE\
Microsoft\Windows\CurrentVersion\
Uninstall | ForEach-Object{
Get-ItemProperty $_.PSPath} |
Select-Object DisplayVersion,
InstallDate,ModifyPath,Publisher,
UninstallString,Language,
DisplayName

On the Windows IT Pro Web site, you can download a couple of scripts—GetApplicationUninstall .cmd and Get-ApplicationUninstall .ps1—that automate getting the product information from the Uninstall key. (Go to www.windowsitpro.com/Windows/Article/ArticleID/97604/97604.html and click the Download the Code Here button near the top of the page.) You can run GetApplication- Uninstall.cmd, which uses reg.exe, from a command prompt to display the output from the local machine. If you add the name of a remote machine to the command line, the data will be returned for that remote system. Get-ApplicationUninstall.ps1 is a native PowerShell script that runs only against the local system.

Admittedly, all three workarounds aren’t ideal because they’re just data dumps. However, they at least provide a way to get information about a machine’s installed applications when you can’t use WMI.

See Associated Figure

End of Article



Reader Comments

You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
Friday at PASS Europe 2006

Kevin talks about the closing day of the event and shares a funny Microsoft film. ...

More fun TechEd 2005 Resources

Kevin points out some more TechEd resources ...

What service packs and fixes are available?

...


Related Articles PowerShell 101, Lesson 3

PowerShell 101, Lesson 1

The Great Question of Vista SP1’s Ship Date

PowerShell Pointers

Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Are You Satisfied?

A Preliminary Look at Deployment Plans for Microsoft Windows Vista

Related Events Check out our list of Free Email Newsletters!

Scripting eBooks Keeping Your Business Safe from Attack: Encryption and Certificate Services

Best Practices for Managing Linux and UNIX Servers

Building an Effective Reporting System

Related Scripting Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.

Job Openings in IT


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

Microsoft Exchange & Windows Connections event returns to Las Vegas Nov 10 - 13
Connections returns to Las Vegas for this exciting event where each attendee will receive SQL Server 2008 standard with 1 CAL. Co-located with Microsoft ASP.NET, SQL Server, and SharePoint Connections with over 250 in-depth sessions.

Free Online Event! Virtualization:Get the Facts!
Register now and attend this free, live in-depth online conference on November 13 and 20, 2008, produced by Windows IT Pro. All registrants are eligible to receive a complimentary one-year digital subscription to Windows IT Pro (a $49.95 value)!

Check Out Hyper-V Video on ITTV
Watch Karen Forster's interview on Hyper-V's performance on ITTV.net.

Ease Your Scripting Pains with the Flexibility of PowerShell!
Join MVP Paul Robichaux on December 11, 2008 at 11:00 AM EDT as he equips you with PowerShell basics in 3 introductory lessons, each followed by a live Q&A session—all on your own computer!

Latest Advancements in SSL Technology
There are a variety of different kinds of SSL to explore to ensure customer data is kept confidential and secure. In this paper, we will discuss some of these SSL advances to help you decide which would be best for your organization.

PASS Community Summit 2008 in Seattle on Nov 18-21
The don’t-miss event for Microsoft SQL Server Professionals. Register now and you’ll enjoy top-notch Microsoft and Community speakers and more.



Solving PST Management Problems
In this white paper, read about the top PST issues and how to administer local/network PST Files.

Get Protected -- Data Protection Manager 2007
Protect your virtualized environment with Data Protection Manager

Order Your SQL Fundamentals CD Today!
Learn how to use SQL Server, understand Office integration techniques and dive into the essentials of SQL Express and Visual Basic with this free SQL Fundamentals CD.

Maximize Your SharePoint Investment: Get Your Data Moving
Watch this web seminar now to learn how to maximize your SharePoint investment! Join us as we take a look at the complex business of securing, accessing and managing vast amounts of information in a global network and various ways to get your data moving.
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing