Page 1 of 1

Detecting Installed Applications

Posted: Mon Jul 25, 2005 3:05 pm
by mtciamndn
In my MSI, I need to detect whether the user's computer has various applications or dlls installed (such as QuickTime or Flash or whatever). Is this something that InstallAware can handle?

Posted: Tue Jul 26, 2005 12:28 pm
by Guest
Absolutely. You can read registry keys, files, installed product guids, and literally everything else you may need to do for detecting an installed product.

How to read registry keys / installed progids?

Posted: Mon Aug 08, 2005 11:54 am
by mtciamndn
I installed the evaluation version of InstallAware Enterprise 2005, but I can't find anywhere in the "Application Requirements" or "Registry" sections of the project where I can read existing registry values or check for installed ProgIds.

Can you give me a basic idea of how I would detect if, for example, the PowerPoint.Application ProgId is present?

Thanks.

Re: How to read registry keys / installed progids?

Posted: Mon Aug 08, 2005 12:23 pm
by Guest
mtciamndn wrote:I installed the evaluation version of InstallAware Enterprise 2005, but I can't find anywhere in the "Application Requirements" or "Registry" sections of the project where I can read existing registry values or check for installed ProgIds.

Can you give me a basic idea of how I would detect if, for example, the PowerPoint.Application ProgId is present?

Thanks.


Let me clarify a bit:

Suppose I want to check to see if the registry key [HKEY_CLASSES_ROOT\\PowerPoint.Application] exists. How would I do that?

Thanks.

Posted: Mon Aug 08, 2005 1:10 pm
by Guest
I though I had figured it out on my own... but it's still not working. I put the following code toward the beginning of the script, right after where the script checks the browser version.

Code: Select all

// Get an empty string for comparison
Set Variable EMPTYSTRING to
Read Registry Key HKCR\\PowerPoint.Application\\ into CHECKPPT
if Variable CHECKPPT Equals EMPTYSTRING
  MessageBox: $TITLE$ Setup Error, This product requries Microsoft PowerPoint to be installed. Please install it and try again.
  Terminate Installation
end


What do I need to do differently? I thought this would work!!

Posted: Mon Aug 08, 2005 1:13 pm
by sinan
It should. Try pasting your actual code so I can see what you may be doing wrong.

I figured it out.

Posted: Mon Aug 08, 2005 2:00 pm
by Guest
I figured out how to make it work. It just seems a little counterintuitive to just leave out the "Compare With" field to compare against an empty string.. especially with the way it looks in the code view.

Code: Select all

Read Registry Key HKCR\\PowerPoint.Application\\ into CHECKPPT
if Variable CHECKPPT Equals
     MessageBox: $TITLE$ Setup Error, This product requires Microsoft Excel to be installed. Please install it and try again.
     Terminate Installation
end