Programm Installations Key aus der Registry löschen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von MrSwisstobi.

    Programm Installations Key aus der Registry löschen

    Hey Community


    Ich hab Folgendes Problem.

    Ich habe ein Programm gemacht, mit einem selbst zusammengebastelten Updater.

    Der Updater vergleicht einfach die Version mit einer version.txt die ich als URL Pfad angegebn hab.

    wenn die Momentan version < als version.txt ist dann öffnet sich der updater.

    Der läd dann die aktuelle Setup.exe runter und löscht die alten Daten der älteren Version.

    Funzt alles perfekt, problem ist nur dass unter "Programme" mehrere einträge drin sind.

    also dass sieht dann ca. so aus.


    Programm v1.0.0.0


    Programm v1.0.0.1

    Programm v1.0.0.2

    Programm v1.0.0.3

    etc..

    muss dann immer manuel mit CCleaner oder so den Eintrag rauslöschen.
    Das muss doch auch irgendwie automatisch über die Registry gehen, oder?


    also angenommen ich möchte das beim nächsten mal löschen wenn das programm aufstartet
    dann könnte man doch beim Form_load ereigniss alle älteren Versionen von diesem Programm in der registry löschen (bzw. den Key)


    Wenn mich nicht alles täuscht ist das unter "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall".

    Jetzt würd ich gerne wissen wie der Code den sein muss damit ich herausfinden kann welches denn die älteren Programme sind, und wie ich die den eleminiere.

    Danke schonmals :)

    Gruss Tobias

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „MrSwisstobi“ ()

    Willkommen im Forum. :thumbup:
    Wenn Du mal Deinen Installer-Code posten würdest, könnten wir Dir besser helfen.
    Die Aussage, dass Du in Zeile 43 einen Fehler hast, können wir ohne den Code leider nicht überprüfen.
    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 schrieb:

    Willkommen im Forum. :thumbup:
    Wenn Du mal Deinen Installer-Code posten würdest, könnten wir Dir besser helfen.
    Die Aussage, dass Du in Zeile 43 einen Fehler hast, können wir ohne den Code leider nicht überprüfen.


    Danke ;)


    Das ist ja das Problem, ich habe den Installer nicht programmiert, ich erstelle ihn einfach mit "inno setup compiler", ist für mich im moment einfacher, da ich noch kein profi bin ;-). Daher will ich ja einfach die Einträge, mit meinem selber programmierten Programm löschen lassen, sobald es das nächste mal gestartet wird.
    Und uhm, von welchem Fehler sprichst du jetzt? :o ich hab doch nix von einem Fehler gesagt ^^
    Naja is ja egal
    Der "inno setup compiler" sollte doch eigentlich som intelligent sein, solche Einträge ordnungsgemäß zu behandeln.
    Hat der irgendwelche diesbezüglichen Einstellungen?
    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!
    Ich lasse das Programm beim nächsten mal installieren eigentlich einfach überschreiben :s
    Für Windows existiert die Datei immernoch, da sie nicht deinstalliert worden ist. Aber der Setupcompiler überschreibt einfach die bereits existierende Datei, ohne die alte zuerst zu deinstallieren.
    Ich könnte mit Shell(..) die uninstall .exe zuersta aufrufen, aber dann muss der user wieder alles manuell bestätigen etc.., das verwirrt und is nicht so komfortabel
    Oder Du wechselst den Installer:
    Datei -> Hinzufügen -> Neues Projekt -> Andere Projekttypen -> Setup und Bereitstellung -> Visual Studio Installer -> Setup-Projekt.
    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!
    In welcher Version würde es den diese Funktion geben?



    Und könnte diese Version meine Dateien lesen?



    Also wenn ich jetzt eine andere Version runterlade, sind die .vb daten kompartiebel? Denke mal schon, will nur nachfragen...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „MrSwisstobi“ ()

    Da wir VB2010 schreiben, sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Dim pr As New Process
    2. pr.StartInfo.FileName = "C:\....\uninstall.exe"
    3. pr.StartInfo.Arguments = "/SILENT"
    4. pr.Start()
    Und schau mal nach, was Process und Process.StartInfo noch so für parameter bieten.
    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!