Ich habe eine Anwendung, die auf mehreren hundert Computern im gesamten Unternehmen verwendet wird, die ich eine INI-Datei im Installationsverzeichnis der Anwendung ändern muss. Benutzer können die Anwendung installieren, wo immer sie es wünschen, und können mehrere Versionen der Anwendung zu einem bestimmten Zeitpunkt installiert haben. Ich muss in der Lage sein, dieses Installationsverzeichnis zu finden.3rd Party Application Installationsverzeichnis ermitteln
Methoden Ich habe bisher in Betracht gezogen:
- die Windows Unter Verwendung des Produktes nach dem Namen zu finden und seine Installationsverzeichnis zu finden. (von here). --Das hat fast funktioniert, aber die Eigenschaften, die ich erwartet hätte (TARGETDIR, APPDIR), sind nicht.
- Suchen Sie in der Registrierung nach dem Installationsverzeichnis für die jeweilige App. Es ist nicht da drin.
- MsiGetComponentPath()? Ich habe das in dem oben erwähnten Link gesehen, aber ich weiß nicht, wie ich es umsetzen soll. Ich kann die ProductID mit Windows Installer erhalten, aber ich weiß nicht, wie man programmatisch nur eine Komponente auswählt und ihre ID zufällig findet. Jemand?
In Ordnung, lassen Sie uns andere Methoden zum programmatischen Ermitteln des Installationsverzeichnisses einer Windows-Anwendung hören.
FYI wenn jemand ist fragen, welche DLL für 'Installer' zu verweisen, ist es in C: \ windows \ system32 \ msi.dll. – Jedidja
mit WindowsInstaller; – RAM