Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

05.08.2016, 21:59

C# Administrator Rechte entfernen

Hey,
es geht um die .exe von meinem Programm. Diese lasse ich durch das Klicken eines Buttons automatisch in einen anderen Ordner kopieren (AppData falls das wichtig ist).
Das "Problem" ist jetzt, dass die kopierte .exe (in AppData) Admin Rechte benötigt (an dem icon ist dieses schild :D), die "original" .exe (nicht die kopierte) allerdings nicht.
Ich bin etwas verwirrt warum durch das kopieren die Admin Rechte dazu kommen^^ :/

PS: ich hab in App.manifest "<requestedExecutionLevel level="asInvoker" uiAccess="false" />" eingefügt (weil ich das auf anderen websiten gelesen habe)

aber rein theoretisch entsteht das Problem ja erst beim verschieben/kopieren, oder? :/

Wäre nett wenn ihr mir evtl. helfen könntet das Problem zu finden :D
Danke!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

05.08.2016, 23:19

Passiert das auch, wenn du das Programm per Hand kopierst?

3

06.08.2016, 01:36

nein... das is das komische daran :D

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

06.08.2016, 11:19

Wie genau kopierst du die Datei?
Kann es sein, dass das Programm, das die Datei erzeugt, als Admin läuft und daher die erzeugte Datei dem Admin-User gehört?

5

06.08.2016, 13:58

Ich kopiere die Datei mit File.Copy ^^
und eigentlich läuft das Programm nicht als Admin.

Ich weiß zwar immer noch nicht woran es lag, aber ich hab den Dateinamen der kopierten Datei verändert (im Code) und es entstehen keine Admin Rechte mehr beim kopieren.. (??)
Das "Problem" ist jetzt also erstmal "gelöst" :D ich versteh nicht ganz was da vorging aber naja, wenn noch jemand eine Ahnung hat, könnt ihr die gerne noch schreiben, falls das nochnmal vorkommt :D

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

06.08.2016, 14:09

Meine Glaskugel ist in der Reparatur. Aber wenn du ein wenig Code dazu postest kann ich/können wir da gern mal drauf gucken ;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

7

06.08.2016, 15:32

öhm joa das is der part mit dem kopieren :D

C#-Quelltext

1
2
3
4
5
string exePath = Application.ExecutablePath;
string copyPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);     

copyPath += "\\" + folder1 + "\\" + application1;               //folder1(Ordner in AppData) und application1(dateiname) werden woanders festgelegt^^
File.Copy(exePath, copyPath, true);

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

06.08.2016, 15:40

Wie ist denn der Dateiname deiner exe?

9

06.08.2016, 16:40

hehe uhm ich hab die einfach "copy.exe" genannt :D :whistling:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

06.08.2016, 17:15

Daran könnte es liegen, weil COPY auch der Name eines Kommandozeilenbefehls ist.

Werbeanzeige