Where can I get this tool - Answered


  • Hello all,

    So Im looking to deploy my project and click once deployment will not be suitable. So in creating a setup project I need to create some custom actions and also some launch conditions.

    Problem being is I need to get the GUID of the application I will be installing for the launch condition.

    I read here

    there is a tool to allow you to see the GUID of an already installed application on the developers machine.

    It says -

    The Component ID is a GUID assigned by a package during installation; it does not match any of the deployment project properties. To determine the Component ID, you must install the application and use a tool such as the MSI Spy tool included in the Windows Installer Software Development Kit.


    My question is where can I find this tool?

    I already have installed vs 2005 team developer edition, .net 3.0 sdk, .net 2.0 sdk, debugging tools for windows, etc...

    But I cannot find searching google, or on my computer a tool to do this for me. If anyone can offer some assistance that would be great.



    Edit -
    No longer needed, just had to dig through regedit a little bit.

    Tuesday, February 27, 2007 10:24 AM

All replies


    this link doesn't help does it? it brings me to the download page of VStudio 6 Samples...
    Friday, August 10, 2007 10:52 AM

    I downloaded the SDK, but can't find anything named msi spy, or documentation on it either.


    What is it called and how to I run it?



    Wednesday, November 21, 2007 10:03 PM
  • This works as an alternative (in Visual Studio 2003, 2005 is probably almost the same):


    Install your product and run run regedit there.


    look under HKEY_CLASSES_ROOT\Installer\Products.


    Find your product and its Version number.  This example checks that

    the "Microsoft Visual C++ 2005 Redistributable", also known as

    vcredist_x86.exe from Visual Studio 2005 SP1 (or later) is installed,

    which is found here in the registry (after it is installed):



    The key contains a Version property (DWORD) as follows:


    version 8.0.56336, which is expressed as a hex number 0x0800dc10 (decimal 13424064).


    Create a registry search in the launch conditions editor as follows,

    right click on "Requirements on Target Machine" and "Add Windows Installer Launch Condition"


    Modify the properties for the Node under Search Target Machine:

        name: Check for VCredist SP1 or later

        property: REGISTRYVALUE1

        RegKey: Installer\Products\b25099274a207264182f8181add555d0

        Root: vsdrrHKCR

        Value: Version


    Modify the properties for the Node under Launch Conditions:

        Name: vcredist SP1 is 8.0.56336 = 0x0800dc10 = 134274064

        Condition: REGISTRYVALUE1 >= "#134274064"


        Message: Microsoft Visual C++ 2005 redistributable runtime not installed, go to download site?


    Append [REGISTRYVALUE1] to the Message if you want to see the contents of the variable as found

    in the registry search, useful for debugging this stuff.  It will display as #134274064 if

    the latest vcredist_x86.exe is installed.


    The above check has been tested on Windows 2000, Windows XP, and Windows 2003 Server.

    It also prompts the user to install it if it is not there and sends them to the InstallUrl if they desire.


    Now if only I knew how to use a Windows Installer Launch Condition that would be even better.

    I tried using the key (from above) formatted as a guid:


    b25099274a207264182f8181add555d0 becomes



    but it didn't work for me.


    If anybody can tell me how to make this work it would be cool.



    Thursday, November 22, 2007 5:31 PM