Regestry-Keys zum Installieren und Deinstallieren

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Dominik1324.

    Regestry-Keys zum Installieren und Deinstallieren

    Ich möchte einen eigenen Installer schreiben(nicht InnoSetup, standart von VB10 oder anderes).


    Plan:
    Das Projekt wird über die Ressourcen alle Dateien enthalten, und dann in C:\Program Files\Programmname vom Installer gespeichert.
    Der Installer soll während er läuft Administratoren-Berechtigungen einholen, um in C:\Program Files arbeiten zu können.
    Der Installer soll die entsprechenden Registrierungseinträge eintragen, das es und die Unterprogramme mit entsprechenden Berechtigungen(Registrierung bearbeiten, C:\Program Files\Programmname arbeiten, ...) standardmäßig geöffnet wird(ohne den Nutzer zu fragen, wie das auch die meisten anderen Programme machen).
    Einen Uninstaller eintragen, dass wenn man in der Systemsteuerung auf deinstallieren drückt, der Uninstaller geöffnet wird.

    Frage:
    Wie kann ich in der Laufzeit Admin-Berechtigungen einholen?
    Wo muss ich die entsprechenden Registrierungseinträge eintragen?
    Die Registry Einträge solltest du bei 32bit Software hier erstellen
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

    Bei 64Bit hier:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

    Edit:
    Ich gehe natürlich davon aus das du ein 64bit OS installiert hast.
    Ansonsten ist der Pfad einfach:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NscMike“ ()

    Dominik1324 schrieb:

    weil ich bestimmte ordnerstrukturen erstellen will und einen updater einbauen will und das funktioniert so am besten

    Das alles und noch viel mehr, geht auch mit NSIS (Und/oder InnoSetup u.s.w.) !
    "und das funktioniert so am besten" Ich denke eher nicht, aber wenn du es dir umständlich machen willst, laß dich nicht aufhalten. ;)
    @NscMike: Danke für die Registry-Keys ;) ich habe ein 32-Bit-System, gibt es eine einheitlich lösung & wo soll ich das programm generell eintragen & im 32-bitordner gibt es nichts mit uninstall

    @timonator: wie ich schon gesagt habe möchte ich einen updater machen ;) & ich möchte ein eigenes aussehen und einstellungen machen

    Dominik1324 schrieb:

    Wie kann ich in der Laufzeit Admin-Berechtigungen einholen?
    Projekt -> Eigenschaften -> Anwendung --> Windoes-Einstellungen anzeigen
    ==> app.manifest
    Ersetze die Zeile

    XML-Quellcode

    1. <requestedExecutionLevel level="asInvoker" uiAccess="false" />
    durch

    XML-Quellcode

    1. <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    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 glaube nicht, dass es möglich es die Rechte zur Laufzeit anzufordern (zumindest habe ich dazu bisher noch nichts gefunden). Du kannst aber deine Anwendung einfach mit den Adminrechten neustarten, indem du die mit der Process-Klasse startet und danach den ursprünglichen Prozess schließt. Um mit der Process-Klasse eine Anwendung mit Adminrechten zu starten, musst du nur die Property "Verb" der ProcessInfo auf "runas" setzen.