Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Fremde Anwendung deinstallieren. (https://www.delphipraxis.net/212667-fremde-anwendung-deinstallieren.html)

JRichmann 13. Mär 2023 19:13

Fremde Anwendung deinstallieren.
 
Ich muss aus einer Delphi Anwendung heraus ein fremdes Programm deinstallieren.

Einen Unistaller (uinstall.exe) hat die Anwendung leider nicht.
Aber Sie steht in der üblichen Windowsliste der installieren Programme und
lässt sich von dort aus auch deinstallieren.

Kann man irgendwie auf die Windowsliste zugreifen und das Programm aus meiner eigenen Anwendung heraus deinstallieren.

Klaus01 13. Mär 2023 19:41

AW: Fremde Anwendung deinstallieren.
 
.. die Liste der installierten Programme kannst Du in der Windows Registry hier (\Software\Microsoft\Windows\CurrentVersion\UnInst all) finden.
Dort dürfte auch hinterlegt sein, wo das Programm installiert ist.
Ich weiß nicht, ob es dann ausreichend ist, den Schlüssel des Programms aus dem Pfad herauszulöschen?

Grüße
Klaus

Delphi.Narium 13. Mär 2023 19:57

AW: Fremde Anwendung deinstallieren.
 
In dem Zweig solltest Du für jedes Programm auch den Schlüswsel UninstallString finden, in dem steht drin, mit welchem Programmaufruf die Deinstallation vonstatten geht. Das per ShellExecute aufzurufen, sollte (meist) ausreichen.

Einige Einträge findest Du unter HKEY_CURRENT_USER, die Masse (vermutlich) unter HKEY_LOCAL_MACHINE.

HKEY_CURRENT_USER gilt für den angemeldeten User, gibt es an 'nem Rechner mehrere Benutzerprofile, so musst Du ggfls. alle Profile "abklappern". Die solltest Du unter HKEY_USERS finden.

himitsu 13. Mär 2023 21:46

AW: Fremde Anwendung deinstallieren.
 
Dort sind auch nur die Programme der Win32-API zu finden, falls sie einen "kompatiblen" Installer benutzt haben.

Programme aus dem AppStore verstecken sich wo anders.


Da im Windows inzwischen viele Systemfunktionen intern eigentlich via WMI gehandhabt werden,

lassen sich somit auch darüber die installierten Programme auflisten, sowie auch darüber deinstallien.


Console:

Delphi-Quellcode:
wmic product get name


Delphi-Quellcode:
winget list


PowerShell:

Delphi-Quellcode:
Get-WmiObject -Class Win32_Product | Select-Object -Property Name


Delphi-Quellcode:
Get-AppxPackage –AllUsers | Select Name, PackageFullName


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz