Es ist Microsoft Office 2013 auf meinem PC installiert. Ich versuche MsiGetProductInfo zu verwenden, um Informationen über dieses Produkt abzufragen (tatsächlich muss ich prüfen, ob Word installiert ist).Verwenden Sie MsiGetProductInfo, um zu überprüfen, ob Microsoft Word installiert ist
Aber der folgende C++ - Code gibt immer mit einem Fehler 1605
(ERROR_UNKNOWN_PRODUCT
) zurück, was bedeutet, dass das Produkt nicht installiert zu sein scheint, obwohl es in der Liste der installierten Anwendungen vorhanden ist.
TCHAR szVersion[20];
DWORD cchVersion = 20;
LSTATUS st = MsiGetProductInfo(TEXT("{000209FF-0000-0000-C000-000000000046}"), INSTALLPROPERTY_VERSIONSTRING, szVersion, &cchVersion);
classid {000209FF-0000-0000-C000-000000000046}
wird in der Registrierung in HKLM\Software\Classes\Word.Application\CLSID
gefunden und ich nehme an, es für Microsoft Word Anwendung CLSID
bleiben sollte.
Wie wird MsiGetProductInfo
richtig verwendet, um zu überprüfen, dass MS Word installiert ist?