Autor Beitrag
Hurraa
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Fr 02.01.09 19:48 
Hallo,

ich entwickle gerade eine Art Patcher für meinen Server (Ultima Online falls es jmd. interessiert). Dieser Patcher
ladet einfach die Zipfiles vom Server, in meinen Temp Ordner und entpackt sie dann in den Spielordner.
Nur das Verschieben in den Spielordner funktioniert nicht. Ich habe lange herumprobiert. In Vista funktioniert es erst wenn man die exe als Administrator ausführt.
In XP SP 2 funktioniert es leider auch nicht. Kann mir jemand sagen wie ich mein Programm strukturieren muss um keinen Konflikt mit dem Betriebssystem zu haben?
Wie gebe ich dem Programm die benötigten Rechte um in (Bsp) C:\Program Files\MyGame\ zu schreiben?

mfg Hurraa
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 02.01.09 20:27 
Schau dir mal das an:
www.delphipraxis.net/post857705.html

So sagst du dem Betriebssystem, dass dieses Programm Adminrechte erfordert. Es springt also automatisch vor dem Start unter Vista die UAC an und unter XP sollte auch der Dialog aufgehen, der die Eingabe der Admindaten anfordert (wenn du es als eingeschränkter Benutzer ausführst).

// EDIT:
:oops: Ja, es geht ja um C#, daran hab ich beim Antworten nicht gedacht, aber das Manifest ist ja trotzdem das selbe, nur die Einbindung anders als bei Delphi (siehe unter mir).


Zuletzt bearbeitet von jaenicke am Fr 02.01.09 21:40, insgesamt 1-mal bearbeitet
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 02.01.09 21:30 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Schau dir mal das an:
Mit VS2008: "Anwendungsmanifest" hinzufügen, dem Kommentar folgen, fertig.

_________________
>λ=
Hurraa Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Fr 02.01.09 22:14 
So weit so gut. Das Programm wird jetzt wie gewollt als Admin ausgeführt. Nur leider arbeitet mein Programm immer noch nicht richtig.
Ich bin schon 1 Stunde am Debuggen nur irgendwie wenn der Debugger über den Ausdruck "File.Delete(filename)" läuft wirft er wie gewollt KEINE Exception, aber das File ist immer noch im Ordner... Irgendwelche Ideen was mir noch fehlt?

mfg Hurraa
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 02.01.09 22:27 
Was ist denn filename? Hast du vielleicht keinen absoluten Pfad angegeben, also den Ordner vergessen? Wenn die Datei nämlich nicht gefunden wird, wird (wie in der Dokumentation angegeben) keine Exception ausgelöst.
Hurraa Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Fr 02.01.09 22:30 
Ich hab den gleichen Pfad mit einem testprojekt angegeben und er löscht alles...
Könnte es daran liegen das die Methode die Files löscht in einer DLL liegt?

mfg Hurraa
Hurraa Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 03.01.09 13:37 
Nach einem Restart vom ganzen PC funktioniert jetzt alles einwandfrei. Das Problem lag wahrscheinlich bei VS2008 das er das Manifest noch nicht eingebunden hat ohne Restart... Danke für die Hilfe!

mfg Hurraa