none
How can I detect if Office 2010 Primary Interop has been installed using the registry keys RRS feed

  • Question

  • I am working on an installer that needs to detect if the Office 2010 Primary Interop Assembly has already been installed.  How can I detect this using the registry keys?
    Tuesday, October 30, 2012 11:26 PM

Answers

All replies

  • If I detect that the following registry key value exists, is that sufficient?

    HKLM\SOFTWARE\Classes\Installer\Products\00004109641100000000000000F01FEC


    Martin Crisp

    Tuesday, October 30, 2012 11:32 PM
  • Hi Martin,

    Thanks for posting in the MSDN Forum.

    I think you need following topic : http://msdn.microsoft.com/en-us/library/ff937654.aspx. This topic will discuss Deploying a Visual Studio 2010 Tools for Office Solution Using Windows Installer. And you will found more details in it.

    Have a good day,

    Tom


    Tom Xu [MSFT]
    MSDN Community Support | Feedback to us

    Wednesday, October 31, 2012 6:47 AM
    Moderator
  • Thank you for your response.  This is a good article for using visual studio 2010 and windows installer.  However with Visual Studio 2012, Microsoft decided not to include nor support the windows installer.  As such I needed to use a third party installer.  I looked at InstallShield, but the pricing was way too expensive. I ended up choosing AdvancedInstaller, but it does not properly identify if the primary interop or if the TFS Object Model libraries are installed.  This is why I am looking for registry values that I could look for during the install process to determine if either of these libraries have been installed.



    Martin Crisp

    Wednesday, October 31, 2012 12:06 PM
  • Hi Martin

    I don't think the PIAs are listed in the Registry. I imagine you'd have to have a way to "look into" the GAC, although I don't know how to do that. But I imagine there's a .NET class that can?

    Word.Application and similar things are in the Registry, listed with a CLSID. This is what "Automation" looks up in order to identify these things in the COM world. But the PIAs aren't part of the COM world. And they can be installed independently of the Office applications...


    Cindy Meister, VSTO/Word MVP, my blog

    Friday, November 2, 2012 8:25 AM
    Moderator
  • as everything installed through MSI technology - traces of that will be in registry. but according to that article http://msdn.microsoft.com/en-us/library/ff937654.aspx i would rather check componentid than ProductId. simply read those values from registry on machine where they are installed and add proper checks in your installer.
    Friday, November 2, 2012 11:35 AM
  • Hi Damian

    Are you referring to the list of "Component IDs of the Redistributable Primary Interop Assemblies for Office 2010"?

    This information doesn't tell you whether the PIAs are already installed, only whether the redistributable has been installed. There's be no need to install that if the PIAs are already present in the GAC?


    Cindy Meister, VSTO/Word MVP, my blog

    Friday, November 2, 2012 2:57 PM
    Moderator
  • Hi All,

    Is there is a better way to check other than using the registry?

    Martin


    Martin Crisp

    Friday, November 2, 2012 6:10 PM
  • Better create launch conditions on your installer to check Office 2010 PIA Component ID's, that's the easiest way I know of. Check this guide out http://msdn.microsoft.com/en-us/library/ff937654.aspx

    • Edited by Khem Oco Monday, November 5, 2012 12:43 AM
    • Marked as answer by Martin J Crisp Monday, November 5, 2012 12:52 PM
    Monday, November 5, 2012 12:39 AM
  • Hi All,

    Is there is a better way to check other than using the registry?

    Martin


    Martin Crisp


    better then registry? better in what? amount of code to write?
    Monday, November 5, 2012 9:18 AM
  • Hi Damian

    Are you referring to the list of "Component IDs of the Redistributable Primary Interop Assemblies for Office 2010"?

    This information doesn't tell you whether the PIAs are already installed, only whether the redistributable has been installed. There's be no need to install that if the PIAs are already present in the GAC?


    Cindy Meister, VSTO/Word MVP, my blog

    Hi Cindy

    i must admit i do not understand - what is the difference between PIA installed and PIA redistributable installed? I thought this is the same thing? If it is installed then its ComponentId will be in registry.

    Monday, November 5, 2012 9:19 AM
  • searching for the component ID did the trick :)  {64E2917E-AA13-4CA4-BFFE-
    EA6EDA3AFCB4}
    .

    Thank you.


    Martin Crisp


    Monday, November 5, 2012 12:51 PM
  • Hi Damian

    I checked twice, when I originally posted and again just now: I haven't not installed the Redistributable on this machine, only Office 2010 (with the PIAs). I copied the ComponentID in the article and searched for it in the Registry. There were no "hits".


    Cindy Meister, VSTO/Word MVP, my blog

    Tuesday, November 6, 2012 8:41 AM
    Moderator
  • Hi Cindy

    Ok, i belive you, however that is very strange.

    Tuesday, November 6, 2012 11:11 AM