Wie kann ich den Installationspfad einer anderen Anwendung programmgesteuert abrufen?

8

Ich würde gerne wissen, wo der Installationspfad für eine Anwendung ist. Ich weiß, es ist normalerweise in ... \ Programme ... aber ich denke, einige Leute installieren es an verschiedenen Orten. Ich kenne den Namen der Anwendung.

Danke.

    
Andrei 12.10.2010, 16:06
quelle

5 Antworten

12

Der ideale Weg, den Installationspfad eines Programms (unter Windows) zu finden, besteht darin, es aus der Registrierung zu lesen. Die meisten Installationsprogramme erstellen einen Registrierungsschlüssel für das Programm, das den Installationspfad enthält. Wo genau dieser Schlüssel steht und wie er benannt wird, hängt vom jeweiligen Programm ab.

Um herauszufinden, ob das Programm einen Schlüssel in der Registrierung hat, öffnen Sie ' regedit ' und verwenden Sie den Befehl Bearbeiten & gt; Suchen Sie nach der Option, um einen Schlüssel mit dem Programmnamen zu suchen. Wenn ein solcher Schlüssel vorhanden ist, können Sie ihn mithilfe der RegistryKey -Klasse in der .NET Framework-Bibliothek.

Wenn das Programm keinen Registrierungsschlüssel hat, besteht eine andere Option darin, den Benutzer zu bitten, die .exe-Datei mit dem OpenFileDialog zu finden, obwohl dies offensichtlich nicht ideal ist.

    
Alex McBride 12.10.2010, 16:24
quelle
10

Viele (die meisten?) Programme erstellen einen App Paths Registrierungsschlüssel. Schau dir

an %Vor%     
Andreas Rejbrand 12.10.2010 16:26
quelle
4

Wenn Sie wissen, dass der betreffende Registrierungsschlüssel (im Vergleich zu einer Anwendung) die wahrscheinlich beste Option ist (falls vorhanden).

Die Installation könnte irgendwo ihren eigenen "Installationspfadschlüssel" eingeben (also eine Suche wie Fara erwähnt) oder sie befindet sich im Abschnitt "Deinstallation" für installierte Programme, so dass Sie Folgendes überprüfen können:

  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Deinstallieren

Beachten Sie jedoch, dass jede neue Version einer Installation den Schlüssel, den sie ausgibt, sowohl für einen benutzerdefinierten Schlüssel als auch für den Deinstallationseintrag ändern kann. Das Überprüfen der Registrierung sollte wahrscheinlich nur für eine bekannte Installationsversion erfolgen.

tep

    
Gern Blanston 12.10.2010 17:09
quelle
3

Am besten verwenden Sie die Installer-APIs, um den Programmspeicherort zu finden. Sie können einen verwalteten Wrapper über die APIs schreiben

Suche nach MsiGetProductInfo

Referenz: Ссылка

    
Sandeep Singh Rawat 12.10.2010 20:19
quelle
0

Sie können MSI verwenden (ich habe dafür einen C # -Wrapper geschrieben Ссылка ). Hier ist ein einfaches Beispiel:

%Vor%     
Lazarus 17.02.2016 11:52
quelle

Tags und Links