Wie ermittle ich mit VB.NET 2003 die Speicherorte installierter Programme, um sie programmatisch zu starten?

Antwort

Um in VB.NET 2003 die Speicherorte installierter Programme zu ermitteln, gibt es keinen direkten, einheitlichen Weg, da Windows keine zentrale Liste mit allen Installationspfaden bereitstellt. Die meisten Programme tragen sich jedoch bei der Installation in die Windows-Registry ein. Dort kannst du die Installationspfade auslesen. Typische Registry-Pfade sind: - Für 32-Bit-Programme auf 32-Bit-Systemen und 64-Bit-Programme auf 64-Bit-Systemen: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall` - Für 32-Bit-Programme auf 64-Bit-Systemen: `HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall` Dort findest du für viele Programme einen Unterschlüssel, der u.a. den Wert `InstallLocation` oder den Wert `DisplayIcon` enthält. **Beispielcode zum Auslesen der Registry in VB.NET 2003:** ```vb Imports Microsoft.Win32 Dim uninstallKey As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") If Not uninstallKey Is Nothing Then For Each subKeyName As String In uninstallKey.GetSubKeyNames() Dim appKey As RegistryKey = uninstallKey.OpenSubKey(subKeyName) If Not appKey Is Nothing Then Dim displayName As String = CType(appKey.GetValue("DisplayName"), String) Dim installLocation As String = CType(appKey.GetValue("InstallLocation"), String) Dim displayIcon As String = CType(appKey.GetValue("DisplayIcon"), String) If Not displayName Is Nothing Then ' Hier kannst du die Werte verwenden, z.B. in einer Liste anzeigen Console.WriteLine("Programm: " & displayName) Console.WriteLine("Installationspfad: " & installLocation) Console.WriteLine("Icon/Exe: " & displayIcon) End If appKey.Close() End If Next uninstallKey.Close() End If ``` **Hinweise:** - Nicht alle Programme tragen einen `InstallLocation`-Wert ein. Manchmal ist der Pfad in `DisplayIcon` enthalten. - Manche Programme (z.B. portable Software) erscheinen nicht in der Registry. - Für 64-Bit-Systeme musst du ggf. auch den `Wow6432Node`-Pfad durchsuchen. **Programme starten:** Wenn du den Pfad zur EXE hast, kannst du das Programm mit `System.Diagnostics.Process.Start(pfadZurExe)` starten. **Weitere Infos:** - [Microsoft Dokumentation zu Registry](https://learn.microsoft.com/de-de/dotnet/api/microsoft.win32.registry) - [Uninstall Registry Key (englisch)](https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key) Das Vorgehen ist unter VB.NET 2003 ähnlich wie bei neueren Versionen, aber beachte, dass einige moderne APIs nicht verfügbar sind.

KI fragen

Verwandte Fragen

Welche leichtgewichtigen Programme sind ideal für Linux IceWM mit wenig Speicherverbrauch?

Für ein ressourcenschonendes Linux-System mit IceWM eignen sich folgende Programme besonders gut: **Dateimanager:** - [PCManFM](https://wiki.lxde.org/de/PCManFM) – Sehr leichtgewichtig,... [mehr]

Wo wählt man unter Windows 11 aus, welche Programme beim PC-Start automatisch starten?

Unter Windows 11 kannst du die Programme, die beim PC-Start automatisch starten, im Task-Manager verwalten. So findest du die entsprechende Einstellung: 1. **Task-Manager öffnen:** Drü... [mehr]

Wie kann ich Winriser löschen?

Um „Winriser“ zu löschen, solltest du zunächst sicherstellen, dass es sich dabei um ein Programm oder eine Software handelt, die du deinstallieren möchtest. „Winriser&... [mehr]

Werden Framework-Funktionen in mit VB.NET 2003 erstellte Apps eingebunden oder bleibt eine Abhängigkeit zu deren Vorhandensein?

Bei Anwendungen, die mit VB.NET 2003 erstellt wurden, ist es so, dass die verwendeten Funktionen der . Frameworks **nicht direkt in die Anwendung eingebunden** werden. Stattdessen bleibt die Anwendung... [mehr]

Welche guten kostenlosen KI-Programme gibt es?

Hier sind einige gute, kostenlose KI-Programme und -Tools, die du ausprobieren kannst: 1. **ChatGPT (OpenAI, kostenlose Version)** https://chat.openai.com/ Bietet KI-gestützte Textgene... [mehr]