views:

398

answers:

3

Hi ,

I was trying to create a setup project using VS2008.

Is there anyway to detect if a particular Office 2010 application is installed or not?
(as a prerequisite) .eg: i want to detect if Powerpoint 2010 is installed on client machine.

I was trying to use windows installer search option in lauch condition but unable to find
what is component id of powerpoint 2010?

Are there any more ways to detect the same? (can be programmatic)

+1  A: 

Here's relevant code to check for Office 2010 (specifically Word) using WiX. First we check for the "App Paths" key, then on the file version of the EXE file referenced. You should be able to do something similar in VS2008

    <Property Id="WORDEXE" Secure="yes">
        <RegistrySearch Id="RegSearch_WORDEXE" Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe" Type="file">
            <FileSearch Name="WINWORD.EXE" MinVersion="14.0.0.0" />
        </RegistrySearch>
    </Property>
sascha
Can registry and file search be done at same time?using value found inregistry search as input to file search??
Amitd
Yes, thats exactly what I'm doing in the above example. Registry value is read looking for a file, then on that file I only match with a minversion and only if both Registry and File match does the property get set.
sascha
Any equivalent for purely VS2008 setup project but not WIX.
Amitd
A: 

Do you have to be specific when on an x64 OS? i.e., do you have to specify the Wow6432Node?

Anthony
+2  A: 

Hi,

The component Id's for PowerPoint 2010 are listed below. You should be able to do an installer search for one of these to determine whether PowerPoint is installed.

{EE8D8E0A-D905-401D-9BC3-0D20156D5E30} - 64-bit PowerPoint 
{E72E0D20-0D63-438B-BC71-92AB9F9E8B54} - 32-bit PowerPoint 

Ed

Edward

related questions