2016-08-09 6 views
0

Ich entwickle Desktop-Anwendung mit C# und Setup mit Inno Setup-Compiler erstellen.Wie erstellt man Registrierungsschlüssel in HKLM mit Inno Setup ohne Administrator-Berechtigungen

Lassen Sie mich Anwendungsfunktionalität erklären,

  1. I Anwendung Setup mit Inno Setup alle Benutzer (das heißt Anwendung kann in admin/nicht Admin-PC installieren) erstellt haben.

    //all user 
    PrivilegesRequired=lowest 
    
  2. Während Anwendung installieren möchte ich Registrierungsschlüssel in HKLM erstellen. Dazu habe ich Registrierungsschlüssel in Inno Setup-Skript hinzugefügt, wie unten

    [Registry] 
    Root: HKLM; Subkey: "SOFTWARE\Wow6432Node\TestKey"; Permissions: users-modify; \ 
        Flags: uninsdeletekey createvalueifdoesntexist; ValueType: string; \ 
        ValueName: "SOAPAddress"; ValueData: "ABC" 
    
  3. Während Anwendung Registrierungs Installation Schlüssel seine Ausnahme nicht erstellt wirft unter

    --------------------------- 
    Error 
    --------------------------- 
    Error creating registry key: 
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TestKey 
    
    RegCreateKeyEx failed; code 5. 
    
    Access is denied. 
    
    Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation. 
    

Bitte helfen Sie mir, Wie kann ich Registrierungsschlüssel in HKLM mit Inno-Setup-Compiler.

Ich hatte VS2010 eingecheckt Registrierungsschlüssel erstellen, aber Setup kann nicht Nicht-Admin-PC ausführen.

Vielen Dank im Voraus!

Antwort

3

Sie benötigen Administratorrechte, um in HKLM zu schreiben. Sie können also nicht PrivilegesRequired=lowest verwenden.

Und eine HKLM erstellen einen benutzerdefinierbaren Schlüssel ist eine schlechte Praxis.


Es ist nicht wirklich klar, was Sie von bedeuten „Anwendung kann in Admin/nicht Admin-PC installieren“, aber vielleicht suchen Sie eigentlich dafür:
Make Inno Setup installer request privileges elevation only when needed.

+0

Danke Martin. Ich möchte Anwendung Setup erstellen, die in allen Benutzer installieren kann (Admin-Rechte Benutzer und normales Benutzersystem) und auch Installer kann Registrierungsschlüssel in HKLM –

+1

schreiben Wir verstanden, dass. Aber noch einmal, Sie benötigen Administratorrechte, um auf die 'HKLM' zu schreiben, daran gibt es keinen Weg. Sie können also kein Installationsprogramm verwenden, das von einem Benutzer ohne Administratorrechte ausgeführt werden kann, und dennoch in der Lage sein, in 'HKLM' zu schreiben. Das ist ein Grundprinzip der Windows-Sicherheit. –

+0

Danke für schnelle Antwort. Ich werde mich entsprechend ändern. –

Verwandte Themen