Programm zu "Installierte Programme" hinzufügen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Ruerte.

    Programm zu "Installierte Programme" hinzufügen

    Ich habe bereits in Google nachgeschaut finde jedoch leider keine Lösung :c

    Hat jemand eine Ahnung ob es möglich ist in der WinDoof liste der Installierten Programme einen Eintag zu erstellen?!

    Sprich ich habe ein Install Tool was .dll und sonstige Sachen an verschiedene Orte schiebt eine desk. Verknüpfung macht usw. und habe auch eine uninstall.exe erstellt. Ich möchte jetzt wissen ob ich über VB einen Eintrag in die Liste "Installierten Programme" machen kann und zusätzlich auch noch den Pfad zur Uninstall... so wie es halt normale Software auch hat.

    Ich hoffe mal man konnte verstehen was ich meine :/ Würde mich über Tipps oder einen Möglichen Lösungsansatz Freuen
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Dazu musst du dir einen Registry Eintrag schreiben.
    Du kannst z.b. bei dir selbst einmal schauen wie sowas aussieht unter:



    .dll an verschiedene Orte hört sich aber eher wie murks an für mich....
    Du musst dich also mit msdn.microsoft.com/de-de/libra…2.registry(v=vs.110).aspx auseinandersetzen
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Hallo ;)

    Bei mir geht das wenn ich das erstellte Programm vorher mit VB veröffentliche !

    In etwa so oder :

    MFG Netlogger :D
    Bilder
    • Unbenannt.JPG

      52,24 kB, 918×263, 181 mal angesehen
    :D Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton) :D

    MFG Jörg ;)

    Muss jeder vermeintliche Programmierer ne Signatur haben ??
    Unter 2008 Visual Studio hab es ein Setup Projekt welches ich mal verwendet habe. Hier wurde ein Eintrag erstellt und konnte auch wieder deinstalliert werden (war eine .dll).
    Im 2013er gibts das leider nicht mehr. Eventuell musst du auf einen anderen Installer ausweichen.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    @Snaptu Werde ich mir mal anschauen und Testen, danke!
    @Netlogger Ich nutze nicht das "Veröffentlichen" von VB.NET sondern ein selbstgeschrieben Installer
    @fichz Möchte Ungerne Irgendwelche Installer aus den Netzt nutzen sondern meinen eigenen ^^
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Ruerte schrieb:

    sondern meinen eigenen
    Hast Du das Rad neu erfunden?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Die Frage ist warum genau dein eigener Installer.
    Der Useability nach sind die Installer welche frei zugeänglich sind (Nullsoft, InnoSetup zB) genau so aufgebaut wie es der User erwartet. Ohne großen Schnickschnack.
    Ich habe mit diesen jedoch noch nicht gearbeitet.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    @RodFromGermany weil die zu 90% schei*** aussehen^^
    @Snaptu nicht wirklich das Problem, habe nun die eingräte mit erstellen lassen jedoch machen diese keinen Unterschid in der Liste (Ja auch Neugestartet)
    Bilder
    • Unbenannt.PNG

      55,75 kB, 1.024×523, 196 mal angesehen
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Ruerte schrieb:

    weil die zu 90%
    Ja und?
    Wie oft benutzt Du genau einen dieser Installer?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Oft genug das er Gut aussehen sollte :D
    @Snaptu es funktioniert nun... weiß zwar nicht woran es lag aber kann sein das der Eintrag wohl ~1 / 2 min braucht bis er in der liste auftaucht (selbts nach Neustart O.o)

    Für alle Die etwas ähnliches Fragen:
    Spoiler anzeigen
    Wichtig!!! Ihr Müsst das Projekt (.exe) als ADMIN starten!

    Wird benötigt für "RegistryKey":
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports Microsoft.Win32

    Erstellt den Schlüssel mit den Namen des Programmes in LocalMachine:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. My.Computer.Registry.LocalMachine.CreateSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%Name Des Programmes%")

    Trägt den Name in die "Installierte Programm" liste ein:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim RegKey As RegistryKey
    2. RegKey = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Uninstall").OpenSubKey("%Name Des Programmes%", RegistryKeyPermissionCheck.ReadWriteSubTree)
    3. RegKey.SetValue("DisplayName","%Name Des Programmes%", RegistryValueKind.String)
    4. RegKey.Close()

    Legende:
    %Name Des Programmes% = Euer Programm Name (wer hätte es gedacht :D)
    DisplayName = Anzeige des Namens in der Liste (nicht ändern)


    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „Ruerte“ ()

    @All Habe es nochmal Ordentlich Versucht zu Beschreiben falls es wer brauchen sollte
    @Snaptu
    Erst mal Danke für Die Info zuvor :)
    Der Code öffnet die Sub Keys von LocalMachine>Software>Microsoft Windows>CurrentVersion>Uninstall>%Name Des Programmes% und setzt mit

    VB.NET-Quellcode

    1. RegKey.SetValue("DisplayName","%Name Des Programmes%", RegistryValueKind.String)

    den Eintrag DisplayName = %Name Des Programmes%

    PS: Ja ich weiß das geht auch schöner aber Muss nicht unbedingt sein oder ^-^
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Ruerte“ ()

    Zu dem Code:

    VB.NET-Quellcode

    1. Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Uninstall").OpenSubKey(i_name,RegistryKeyPermissionCheck.ReadWriteSubTree)


    Warum schreibst du es nicht direkt zusammen also:

    VB.NET-Quellcode

    1. Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\Uninstall\" & i_name, RegistryKeyPermissionCheck.ReadWriteSubTree)


    Sieht ordentlicher aus und funktioniert genauso :P
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯
    @KaskadekingDE
    Ich Benutze den Code eigentlich meistens nur so wie ich ihn geschrieben habe aus den einfachen Grund das ich eine bessere übersiecht erhalten wenn ich mit mehreren angaben wie i_name benutze, aber generell hast Du recht

    Ruerte schrieb:

    PS: Ja ich weiß das geht auch schöner aber ...

    KaskadekingDE schrieb:

    Sieht ordentlicher aus und funktioniert genauso :P


    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.