Benutzer mit den meisten Antworten
Zugriff auf Ordner auf Laufwerk C:

Frage
-
Liebe Leser,
mein kleines Programm möchte auf dem System-Pfad C:\Program Files (x86)
mit "My.Computer.FileSystem" Zugriffsrechte haben, um dort einen Ordner zu
"renamen" und einen weiteren Ordner dorthin zu kopieren.
Warum klappt das mit dem Debugger, aber nicht als Anwendung (.exe") ?
RUDI
Antworten
-
Hallo Rudi,
eine Möglichkeit ist Click Once, das die Programme erst gar nicht in den Programme Ordner ablegt. Wobei Deine Anwendung darauf ausgelegt sein sollte - Du solltest mal probieren, ob Änderungen notwendig sind.
Oder Du kannst Du ein "richtiges" Installationsprogramm verwenden, womit das Ganze als erkennbarer Schritt stattfindet - und der Benutzer die höheren Rechte gewähren muss (und es auch dürfen muss). Wobei Visual Studio (ab Professional) "nur" noch die Installshield Limited Editon mitbringt, aber auch andere Installationsprogramme wie InnoSetup, NSIS uam. leisten das.
Gruß Elmar
- Als Antwort markiert Rudi Remmiz Dienstag, 10. März 2015 09:06
Alle Antworten
-
Hallo Rudi,
auf das Progamme Verzeichnis hat ein "normaler Anwender" keinen schreibenden Zugriff. Und das sollte so bleiben, weil es eines der Haupteinfall-Tore für Viren ist, die sonst die Möglichkeit hätten, Anwendungsdateien auszutauschen, wenn dies mit Standard-Rechten eines Anwenders möglich wäre.
Änderungen im Programm-Verzeichnisse sollten deswegen auf ein Installationsprogramm (mit erhöhten Rechten) beschränkt sein.
Veränderliche Anwendungsdaten sollten außerhalb des Programmverzeichnis gespeichert werden. Dazu gibt es mit (siehe SpecialFolder) ApplicationData, CommonApplicationData uam. eigene Basisverzeichnisse, Benutzerdaten sollten idealerweise in einem der My-Verzeichnisse (wie MyDocument) gespeichert werden.
Wenn Du ein Programm in Visual Studio debuggst, so befindet es sich i. a. nicht im Programme Verzeichnis, sondern im Debug Ordner der Projektmappe. Zudem genehmigen sich Entwickler gerne mal höhere Rechte (auch wenn sie es besser nicht täten).
Gruß Elmar
-
Lieber Elmar,
Hintergrund ist, dass meine Software (Eigenenbau) in meinem
kleinen Firmennetzwerk (4 Rechner) auch den gleichen Schutz
beanspruchen möchten, so habe ich sie auch bisher manuell
auf jeden Rechner auf den Pfad C:\Program Files (x86)
eingepflegt. Elsterformular, Teamviewer, FiileZilla, Lexware
etc. sind auch dort abgelegt.
Nun gut - gibt es ein MS-Tool, den ich verwenden kann, um
elegant neue Versionen meiner Software auf allen meinen
Firmenrechnern zu installieren?, oder gar jeder Mitarbeiter selbst?
RUDI -
Hallo Rudi,
eine Möglichkeit ist Click Once, das die Programme erst gar nicht in den Programme Ordner ablegt. Wobei Deine Anwendung darauf ausgelegt sein sollte - Du solltest mal probieren, ob Änderungen notwendig sind.
Oder Du kannst Du ein "richtiges" Installationsprogramm verwenden, womit das Ganze als erkennbarer Schritt stattfindet - und der Benutzer die höheren Rechte gewähren muss (und es auch dürfen muss). Wobei Visual Studio (ab Professional) "nur" noch die Installshield Limited Editon mitbringt, aber auch andere Installationsprogramme wie InnoSetup, NSIS uam. leisten das.
Gruß Elmar
- Als Antwort markiert Rudi Remmiz Dienstag, 10. März 2015 09:06