<<valle>> Geschrieben 22. Dezember 2009 Geschrieben 22. Dezember 2009 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 Zitieren
.NETter Geschrieben 22. Dezember 2009 Geschrieben 22. Dezember 2009 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 Zitieren
Gateway_man Geschrieben 22. Dezember 2009 Geschrieben 22. Dezember 2009 <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 Zitieren
<<valle>> Geschrieben 22. Dezember 2009 Autor Geschrieben 22. Dezember 2009 Danke klappt hab jetzt als UAC-Ausführungsebene requireAdministrator ausgewählt und jetzt läufts. thx Zitieren
<<valle>> Geschrieben 22. Dezember 2009 Autor Geschrieben 22. Dezember 2009 ja wär trotzdem nett wenn du mir das noch schreiben könntest Zitieren
.NETter Geschrieben 23. Dezember 2009 Geschrieben 23. Dezember 2009 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 Zitieren
Gateway_man Geschrieben 23. Dezember 2009 Geschrieben 23. Dezember 2009 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. Zitieren
<<valle>> Geschrieben 23. Dezember 2009 Autor Geschrieben 23. Dezember 2009 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 Zitieren
Gateway_man Geschrieben 3. Januar 2010 Geschrieben 3. Januar 2010 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 Zitieren
Empfohlene Beiträge
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.