Zum Inhalt springen

Adminrechte für ein Programm c++ .NET


Empfohlene Beiträge

Geschrieben

Hey,

mein Programm braucht Administratorrechte, da es z.b auf C:\ schreibt...

leider verweigert Vista jetzt den zugriff...

wenn ich das Programm als admin ausführe ist alles ok aber wie bekomm ich es hin, dass das Programm von alleine als admin gestartet wird?

lg valentin

Geschrieben

Mit C++ kenne ich mich nicht wirklich aus. Bei einem Projekt in C# kannst Du eine Manifestdatei dem Projekt hinzufügen die den Kontext der

Ausführung definiert.

Hinzufügen --> Allgemein --> Anwendungsmanifestdatei

Darin befindet sich folgender Eintrag welcher drei verschiedene Konfigurationen zulässt:


<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

In den Anwendungseinstellungen kannst Du dann im Bereich "Anwendung" im Unterpunkt "Symbol und Manifest" die von Dir hinzugefügte Manifestdatei auswählen.

Vielleicht hilft Dir das weiter?

Gruß,

Thomas

Geschrieben


<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Ich nehme an das du diese Property der Manifest Datei falsch verstanden hast. Diese Einstellung bewirkt nur, das du Admin sein must, um das Programm überhaupt ausführen zu können. Was natürlich sehr ärgerlich ist, wenn einen stink normaler User das Programm ebenfalls nutzen will.

Der bekommt dann nämlich direkt die Meldung, das sein Account nicht über die nötigen rechte verfügt :old .

Hab zuhause noch irgendwo eine Anwendung mit der oben genannten Problem Lösung.

Wenns dir also nicht zusehr brisiert kann ichs dir Morgen mal schicken.

Ist schon 'n bisschen älter und bin mir jetzt garnicht so sicher obs c oder c++ ist. Allerdings ist meine Lösung auch nicht die eleganteste, denn soweit ich mich erinnern kann muss man, um das Programm mit Admin rechten starten zu können Username sowie Passwort angeben!

Lg

Gateway

Geschrieben

Hallo,

freut mich, dass es geklappt hat!

Ich nehme an das du diese Property der Manifest Datei falsch verstanden hast. Diese Einstellung bewirkt nur, das du Admin sein must, um das Programm überhaupt ausführen zu können. Was natürlich sehr ärgerlich ist, wenn einen stink normaler User das Programm ebenfalls nutzen will.

Der bekommt dann nämlich direkt die Meldung, das sein Account nicht über die nötigen rechte verfügt .

Nein, hier habe ich mich nicht vertan. User Access Control hat schon seinen Sinn.

Wenn ein "normaler" User ein Programm ausführen soll, welches auf Bereiche zugreift, die nicht für seine Berechtigungsstufe zugelassen sind, liegt ein grundlegendes Problem des Anwendungsdesigns vor. Auf c: hat ein normaler User nichts zu suchen (auch nicht über die Ausführung einer Anwendung).

Und wenn er nicht ein "normaler" User ist sondern weitergehende Berechtigungen besitzt, kann man das so unter Vista sehr gut mit der UAC lösen. Hat ja auch hier geklappt. Auch wenn die Meldungen zugegeben manchmal nervig sein können. Aber alles andere ist das Umgehen von Sicherheitsrichtlinien.

Entsprechende Daten sollten dann vielleicht eher in einem Bereich liegen in dem ein "normaler" ausreichende Berechtigungen besitzt.

Das hinterlegen von Benutzernamen und Passwörtern in einer Anwendung ist ein potenzielles Sicherheitsrisiko. Mit dem .Net Reflector auf die EXE und schon habe ich Benutzernamen und Passwort (im schlimmsten Fall für einen Admin-Account).

Für eine private Anwendung die nur lokal genutzt wird, ist das vielleicht noch erträglich, aber in einer Anwendung die ich verteilen möchte?

Das ist nicht irgendwie abwertend gemeint(!) sondern nur ein gut gemeinter Rat.

Gruß,

Thomas

Geschrieben

Ich rede ja nicht davon die authentifizierungdaten in die exe zu schreiben.

Ich wollt nur darauf hinweisen, das mit dieser lösung, das programm nicht wirklich mit Admin rechten gestartet wird. Denn wie in der xml schon so schön drinn steht:

requireAdministrator

Was soviel heißt wie Benötigt Administrator. Ich habe schmerzlicherweise zu spüren bekommen, was das für einen normalen User, welcher nicht über Administrator rechte verfügt bedeutet. Dieser kann die Anwendung nunmal nich starten. Das war es worrauf ich hinweisen wollte.

Geschrieben

Ja du hast ja recht.

Hab das ganze jetzt ein wenig um gemodelt.

Jetzt schreibt es auf einen Unterordner wie in der Intallation angegeben und dazu braucht es auch keine Adminrechte.

Hab das requireAdministrator wieder raus genommen und jetzt gibts auch keine Probleme mehr.

Manche Funktionen gehen jetzt leider nicht wie ich mir das vorgestellt hatte aber um das richtig zu machen muss ich mir glaub ich erst noch hintergrundwissen zu dem ganzen AccessControl undsw. aneignen...

vielen Dank für die Hilfe

lg valentin

  • 2 Wochen später...
Geschrieben

Sry wegen der Verspätung, hatte in letzter Zeit recht viel um die Ohren :( .

Wenn dich das Starten von Anwendungen mit Admin rechten noch interessiert, kannst du mir gerne per pm ne Kontaktmöglichkeit geben.

Dann schicke ich dir einen anderen Lösungsweg, den du gerne an deinem Programm ausprobieren kannst.

Lg

Gateway

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...