How to check if a program is installed using its program identifier #233
The following code will return True if a program with the given program ID is installed and registered with the system or False if the program ID is not known.
function ProgIDInstalled(const PID: string): Boolean; var WPID: WideString; // PID as wide string Dummy: TGUID; // unused out value from CLSIDFromProgID function begin WPID := PID; Result := ActiveX.Succeeded( ActiveX.CLSIDFromProgID(PWideChar(WPID), Dummy) ); end;
To find if a program that registers a program ID is installed, just pass the ID to this routine. For example, the following routine checks if Internet Explorer installed:
function IsIEInstalled: Boolean; begin Result := ProgIDInstalled('InternetExplorer.Application'); end;
Both the above routines are available from the DelphiDabbler Code Snippets Database.
The following program IDs for MS applications may be useful:
-
Access.Application -
Excel.Application -
FrontPage.Application -
Outlook.Application -
PowerPoint.Application -
MSProject.Application -
Word.Application
This tip was created by DelphiDabbler from code contributed by Michael Rockett.
| Original resource: | |
|---|---|
| Author: | Peter Johnson |
| Contributor: | Michael Rockett |
| Added: | 2014/01/23 |
| Last updated: | 2014/01/23 |