Benutzer mit den meisten Antworten
Prüfen ob Benutzerkontensteuerung aktiv?

Frage
-
Hallo,
ich würde gerne mein Programm prüfen lassen ob UAC unter Vista aktiviert ist.
Ziel ist es dabei dem Nutzer einen Hinweis zu geben, dass er es besser ausschalten sollte, da das Programm sonst nicht weiter macht und beendet wird.
Würde mich über Antworten sehr freuen
Mit freundlichem Gruß
Dennis
Antworten
-
Nun nochmals an Dennis und all die anderen die UAC abschalten wollen
WE Co Ltd. und S_A_S haben recht schreibt kein Programm welches das UAC abschalten, denn ein solches Programm als Freeware wäre das schlechteste was es für einen noob im Bereich EDV geben kann. Diese verstrauen euch und denken sich UAC hat keinen Sinn, nervt nur, usw. Da haben sie ja recht. Es nervt. Aber es ist gewillt so, dass man alles mehrfach bestätigen muss. So ist das System etwas sicherer und nervige Fehler können somit vermieden werden. Habs zwar selber ausgeschalten, aber nur weil ich mich auskenne und weil ich für meine versuchszwecke kein UAC brauche. Ach ja WE Co Ltd.'s Tipp mit VMWare ist supper. Ich liebe das Programm, kann ich nur weiterempfehlen.
Außerdem wäre ein solches Programm noch eine Einladung für Hacker. Nicht für die guten, weil die kommen überall rein, aber so haben selbst die schlechten bessere chancen. Also lasst es sein. Wenn ihr es doch machen wollt dann geb ich euch diesen Tipp.
1. Programm muss mit Admin-Rechte laufen, wie bereits oben genannt.
2. Warum macht ihr keine Batch-Datei, geht schneller, braucht keine Oberfläche und ist genauso effektive, wenn nicht sogar effektiver
3. Der Pfad, der den Befehl zum deaktivieren des UAC führt ist dieser:
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
Ps.:Und immer schön die nützlichen Beiträge bewerten
Alle Antworten
-
Schlechte Idee. Ganz schlechte Idee und eine Idee die man lieber nicht verfolgen soll.
Sorge lieber dafür, dass deine Antwendung mit den nötigen Rechten dafür startet. Anwendungen die neu programmiert werden und dann mit Kernfunktionen von Windows nicht zusammenarbeiten sind i. d. Regel einfach nur schlecht programmiert. UAC hat einen sinn und jeder der diesen Sinn versteht wird ihn kaum für eine Anwendung zu der es möglicherweise hunderte Alternativen gibt auschalten. Schreib lieber die ANwendung um, dass sie UAC konform läuft. -
Hallo S_A_S,
zunächst mal muss ich dir zustimmen, UAC hat sicher einen Sinn, ist aber völlig falsch angegangen worden.
Ich muss immer diese blöden Fenster wegklicken, nur wenn ich die Uhrzeit änder oder irgendwelchen anderen Sachen mache. Ich kenne bisher keinen Vista-Nutzer unter meinen Freunden, der es noch nicht abgeschaltet hat. Besonders Vielinstallierer leiden.
UAC dient also eher den Noobs, die nicht viel Erfahrung im Umgang mit dem PC haben.
Zu der Anwendung: Ist eine Autostart-Anwendung, von der man Programm auf einer DVD installieren kann. Zwar ist es im Grunde nervig nun jedes mal die UAC-Warnung zu bekommen, aber bis dahin noch kein Grund sie abzuschalten.
Das Programm verfügt aber weiter über die Funktionen Registry Keys zu setzen, die einem viele Konfigurationsschritte ersparen (brauche ich, da ich oft formatiere).
Und genau hier kommt es zu dem UAC-Problem. Kein Zugriff auf HKEY_Local_Machine. Und deshalb möchte ich eine Warnung ausgeben, das es wohl einfacher wär es abzuschalten
MfG
Dennis
-
Wenn du die Anwendung mit Adminrechten ausführen musst, was bei einer solchen Anwendung Sinn macht, dann würde ich gleich am Anfang die Anwendung als Admin starten.
Die entsprechenden Einstellungen an der Anwendung kann man ab .net 3.5 ganz leicht vornehmen. Mit Version 3.0 ist das aber auch schon einfach möglich.
http://msdn.microsoft.com/de-de/library/aa970890(VS.85).aspx
http://msdn.microsoft.com/de-de/library/bb384691.aspx
Sich die nötigen UAC Rechte zu beschaffen ist weitausbesser als gleich die Abschaltung zu fordern.
Das UAC so oft auf ploppt ist meist mehr auf schlechte Anwendungen zurückzuführen als auf UAC selbst.
Schauen wir mal zu Linux und nennen wir das ganze Sudo / RunAsRoot , dann stellt man fest, dass man hier auch nicht wesentlich seltener im sein Passwort eingeben muss als man bei Vista eine aktion bestätigen muss. Zumindest wenn man schaut bei was für Angelegenheiten UAC/ Sudo aktiv werden. -
Hi Dennis,
Du schreibst das unter Vistas UAC "besonders die Vielinstallierer" leiden würden und Du "unter Deinen Freunden kaum Vista User hast, welche die UAC nicht bereits schon (möglicherweise wegen des Vielinstallierens?) abgeschaltet haben".
Hmm..
Ich kann Dir nur sagen wie es wiederum meine Berufskollegen und unser Kundenkreis handhabt ...die Sache mit der ggf. Rechner-Neu-Aufsetzens-Notwendigkeit sprich viel Installieren..
Die benutzen dafür schon längst ein Image-Tool wie Acronis und/oder greifen gleich auf Virtualisierungstechnik ala VMWare zurück. In beiden Fällen erspart man sich einen Sack voll Zeit und das ist für Leute die mit EDV ihr täglich Brot verdienen nicht nur lebenswichtig, sondern allein schon dem eigenen guten Ruf geschuldet.
Umso wichtiger wenn das mehrfache Installieren zum täglichen Geschäftsbetrieb gehört, wie z.B. bei Test-PC's in der Software-(Re)paketierung. Jeder der da noch mit DVD's und Installationsdatenträgern hantiert um ggf. ein System erneut in einen definierten Ausgangszustand zu bringen, macht dies höchstens 1x.
Danach zeigt man dem Herrn mit den Worten hat uns gefreut Sie kennen gelernt zu haben dezent den Ausgang und sorgt dafür dass allen relevanten Freiberufler- und/oder Mitarbeitervermittlungen (incl. des Arbeitsamtes) ein entsprechender Hinweis über diese Pfeife zugeführt wird.
Daher gehe ich zu Deinen Gunsten davon aus, dass Du EDV als Hobby und nicht als Beruf betreibst.
... ich weis.. zugegeben.. eine subjektive Meinung.
Nun zu Deiner Erklärung das Dein Programm..
Registry Einträge setzen müsse (speziell im Zweig HKLM) da Dir so viele Konfigurationsschritte erspart blieben.
Da Du nicht detailliert beschreibst, ob es sich dabei um Konfigmaßnahmen innerhalb Deines Programms oder außerhalb am zugrundeliegenden System handelt...
Wenn diese nur mit Deinem Programm zu tun haben:
Warum diese in HKLM ablegen, wo es HKCU oder besser noch ein einfaches ini-File ebenso gut täte? Denn wenn Du schon mit Deinem Programm auf dem Zielclient Veränderungen vornimmst, so sind diese in einer Datei doch wohl besser aufgehoben als in der Registry.
Wenn die Konfigmaßnahmen nichts mit Deinem Programm zu tun haben:
Warum benutzt Du dann nicht einen Snapshot von Deinem System innerhalb einer VM und/oder legst Dir ein sep. Image mit eben diesen Konfigurationseinstellungen an, dass Du jeweils zurück spielst?Die UAC einem Anwender gegenüber so erscheinen zu lassen als sei sie überflüssiger Blödsinn und es wäre für jeden Nutzer besser diese zu deaktivieren, weil dann liefe ja alles (wie in Win 98 Zeiten) super.. ..wie sagte S_A_S so zutreffend.. ganz schlechte Idee!
Niemand hat gesagt das gute Programme zu schreiben leicht sei; bei kleinen Unwägbarkeiten aber sofort Redmonder Erzeugnisse dem Henker zuzuführen ist dann doch a bisserl zu einfach. Denk bitte noch einmal über Deinen Programmansatz aber vor allem über Deine Verantwortung als Programmierer nach. Alles weitere hat Dir S_A_S bereits geschrieben.
In diesem Sinne - immer aufgeschlossen bleiben
Sayonara - Helmut -
Nun nochmals an Dennis und all die anderen die UAC abschalten wollen
WE Co Ltd. und S_A_S haben recht schreibt kein Programm welches das UAC abschalten, denn ein solches Programm als Freeware wäre das schlechteste was es für einen noob im Bereich EDV geben kann. Diese verstrauen euch und denken sich UAC hat keinen Sinn, nervt nur, usw. Da haben sie ja recht. Es nervt. Aber es ist gewillt so, dass man alles mehrfach bestätigen muss. So ist das System etwas sicherer und nervige Fehler können somit vermieden werden. Habs zwar selber ausgeschalten, aber nur weil ich mich auskenne und weil ich für meine versuchszwecke kein UAC brauche. Ach ja WE Co Ltd.'s Tipp mit VMWare ist supper. Ich liebe das Programm, kann ich nur weiterempfehlen.
Außerdem wäre ein solches Programm noch eine Einladung für Hacker. Nicht für die guten, weil die kommen überall rein, aber so haben selbst die schlechten bessere chancen. Also lasst es sein. Wenn ihr es doch machen wollt dann geb ich euch diesen Tipp.
1. Programm muss mit Admin-Rechte laufen, wie bereits oben genannt.
2. Warum macht ihr keine Batch-Datei, geht schneller, braucht keine Oberfläche und ist genauso effektive, wenn nicht sogar effektiver
3. Der Pfad, der den Befehl zum deaktivieren des UAC führt ist dieser:
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
Ps.:Und immer schön die nützlichen Beiträge bewerten -
Moinsen,
also ich habe es jetzt folgendermaßen gelöst, dass das Programm Admin-Rechte verlangt, denn wenn man ein Programm aus einem Programm das Admin-Rechte verwendet startet, startet es automatisch mit Admin-Rechten.
Da mein Programm (eine CD-Start-Anwendung) Installationsroutinen von der CD startet aber auch die Option bietet Registry-Einträge zu setzen, wie Show Windows-Version on Desktop oder IE Icon aufem Desktop ablegen, muss ich es als Admin ausführen.
Meine anderen Programme sind selbstverständlich UAC konform.
Was ich jedoch allen Vorschlagen kann, die informairt sein möchten ob UAC an oder aus ist, verwendet folgenden Code:
UAC =
My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "") If UAC = "0" ThenLabel1.Text =
"UAC is disabled" ElseIf UAC = "1" ThenLabel1.Text =
"UAC is enabled" ElseLabel1.Text =
"UAC nicht verfügbar" End IfDen Pfad zum deaktivieren hat ja schon BigG-FTW bereitgestellt.