.
Anmeldung | Registrieren | Hilfe
in Suchen

.Net Programm als Admin ausführen, Win7

Letzter Beitrag 12. Feb 2010 9:04 von Bernd. 5 Antworten.
Seite 1 von 1 (6 Treffer)
Beiträge sortieren: Zurück Weiter
  • 08. Feb 2010 9:20

    • Bernd
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 10. Jan 2009
    • Weißbach
    • Beiträge 107
    • Punkte 1.420

    .Net Programm als Admin ausführen, Win7

    Hallo Leute,

    neues, hoffentlich kleines Problem:

    Eines meiner kleinen Programme benötigt zur Laufzeit Admin-Rechte unter Win7. Wenn ich es mit Rechtsklick und "Als Administrator ausführen" starte, funktioniert alles.

    Das Programm muss einen Eintrag in der Registry machen. Es trägt eines unserer anderen Programme, je nach User-Auswahl, im "RUN-Key" für Autostart ein.

    Mir ist schon klar, dass die UAC hier zuschlägt, ist ja auch Ihre Aufgabe! Dumm nur, dass dieses Programm von unseren Kunden verwendet werden soll!

    Jetzt mal eine hoffentlich nicht so "dumme" Frage: Kann ich per Programmcode Adminrechte erlangen? Ja, mir ist schon klar, dass dies eigentlich eine Sicherheitslücke wäre..

    Als Alternative Frage: Kann ich in der Programmverknüpfung angeben (wie beim Rechtsklick), dass dieses Programm als Admin ausgeführt werden soll? Mit der UAC-Meldung könnte ich noch leben. Ich weiß, man kann das händisch angeben. Leider wird das Programm automatisch installiert und es soll keiner händisch was machen müssen.

    Wie immer, danke für Eure Hilfe

    Bernd

    ..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o)
    Sprache: VB.NET 2008
    Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch..
    Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
    • IP-Adresse ist Registriert
  • 08. Feb 2010 20:20 Antwort zu

    • Timo Rehl
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05. Mai 2009
    • Wald-Michelbach
    • Beiträge 591
    • Punkte 10.110
    • Moderator

    .Net Programm als Admin ausführen, Win7

    Hallo Bernd,

    hilft Dir eines von Folgendem weiter?
    - Aus .NET Applikation ein externes Programm mit Adminrechten starten
    - Anwendung unter XP/Vista als Admin starten
    - Codeproject - Windows Impersonation using C#

    Wenn nicht, dann noch mal hier Rückfragen...

    Grüße
    Timo
    - theres no place like 127.0.0.1 -
    • IP-Adresse ist Registriert
  • 09. Feb 2010 7:51 Antwort zu

    • Bernd
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 10. Jan 2009
    • Weißbach
    • Beiträge 107
    • Punkte 1.420

    .Net Programm als Admin ausführen, Win7

    Hey Timo,

    das sind gute Ansätze und Lösungen, die aber leider mein Problem nicht beheben.

    Ich installiere auf Kundenrechnern (Windows 7) ein Programm mit entsprechender Verknüpfung im Startmenü. Da dieses Prog Einträge in die Registry macht, muss es, bei eingeschalteter UAC, als Admin gestartet werden. Also Rechtsklick und "Als Administrator starten" funktioniert.

    Nun sind unsere Kunden alles andere als PC-Spezialisten und kennen eben den Rechtsklick, bitte nicht lachen, nicht, was wiederrum unnötigen Traffic in unserer Support-Abteilung verursachen würde!

    Händisch könnte ich nun der Verknüpfung ja mitgeben, dass sie immer als Admin gestartet wird. Allerdings wird die Installation des Programms im Verbund mit vielen anderen Programmen und Einstellungen im Silent-Mode in unserer Produktion getätigt. Es findet also kein Usereingriff bei den Installationen statt, zumindest möchte ich das verhindern, um Fehler auszuschließen.

    Jetzt gilt es also, der Verknüpfung oder der exe dieses "immer als Admin starten" automatisch mitzugeben.

    Ich hoffe, dass ich es verständlich beschreiben konnte, ansonsten biite nachfragen, danke.

    Gruß vom Bernd

    ..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o)
    Sprache: VB.NET 2008
    Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch..
    Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
    • IP-Adresse ist Registriert
  • 09. Feb 2010 9:31 Antwort zu

    • Timo Rehl
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05. Mai 2009
    • Wald-Michelbach
    • Beiträge 591
    • Punkte 10.110
    • Moderator

    .Net Programm als Admin ausführen, Win7

    Hallo Bernd,

    gut, jetzt habe ich Dich vollständig verstanden ;-)

    Wenn Du wirklich nur den Link anlegen möchtest, dann wird Dir helfen das eigentlich auszuführende Programm mit der Befehlszeile:
    runas /user:Computername\administrator "MeinProgramm.exe"

    zu starten. Also brauchst Du nur den Inhalt des Links anpassen. (RunAs ist unter Win7 verfügbar, unter Vista glaube ich nicht!)

    Wie Du mittels C# Links anlegen kannst kannst du hier nachschauen:
    Create shortcuts with a .NET application

    Ich hoffe, dass Dir das nun die Lösung bringt?

    Grüße
    Timo
    - theres no place like 127.0.0.1 -
    • IP-Adresse ist Registriert
  • 09. Feb 2010 10:08 Antwort zu

    • Bernd
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 10. Jan 2009
    • Weißbach
    • Beiträge 107
    • Punkte 1.420

    .Net Programm als Admin ausführen, Win7

    Hey Timo,

    das sieht aus, wie die Lösung die ich suchte! Werde sie baldmöglichst ausprobieren und hier posten wie's gelaufen ist.

    DANKE

    lg

    Bernd

    ..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o)
    Sprache: VB.NET 2008
    Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch..
    Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
    • IP-Adresse ist Registriert
  • 12. Feb 2010 9:04 Antwort zu

    • Bernd
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 10. Jan 2009
    • Weißbach
    • Beiträge 107
    • Punkte 1.420

    .Net Programm als Admin ausführen, Win7

    Antworten

    Hallo an alle,

    also, die Lösung für mein Problem ist eigentlich ganz einfach! Meistens ist es ja so, man muss es nur wissen. Yes

    Lösung:

    In den Einstellungen des Projektes unter "Anwendung" findet sich ein Punkt "Einstellungen für die Benutzerkontensteuerung anzeigen". Beim Klick darauf wird die entsprechende XML-Datei geöffnet (app.manifest).

    Hier braucht man nun nur noch die 5te Zeile von unten (<requestedExecutionLevel level="asInvoker" uiAccess="false" />) gegen diese (<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />) auszutauschen.

    Erklärungen hierzu stehen im auskommentierten Teil darüber.

    Hat man dies getan und das Programm neu kompiliert, wird die exe als Admin geöffnet (mit entsprechender Abfrage unter Win7). Dies ist für mich vollkommend ausreichend!

    Danke Euch wie immer für Eure Hilfe

    Bernd


    ..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o)
    Sprache: VB.NET 2008
    Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch..
    Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
    • IP-Adresse ist Registriert
Seite 1 von 1 (6 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum