Probleme mit Benutzer-/Zugriffsrechten und Installationsroutinen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Probleme mit Benutzer-/Zugriffsrechten und Installationsroutinen

    Guten Tag in die Runde,

    ich komme momentan an einer Stelle nicht weiter und vermute, dass mir da das nötige Wissen fehlt und bitte um Hilfe.

    Problemstellung:
    Ich habe ein Programm entwickelt, welches im Unterordner des eigenen Programmverzeichnisses Dateien (Settings.ini, Template Dateien) ablegen soll.
    Allerdings funktioniert dies aufgrund der Benutzerrechte/Zugriffsrechte bei manchen Kunden nicht und ich erhalte die Meldung, dass dieser Zugriff nicht erlaubt sei. Lediglich wenn ich das Programm "als Administrator ausführen" ausführe funktioniert dies. Allerdings möchte/kann nicht jeder Kunde diese Rechte geben (bin kein System Administrator und kenne die Beweggründe nicht).
    Welche Möglichkeiten habe ich nun um dieses Problem zu lösen?

    Ich habe darüber nachgedacht ob es ggf. mit einer Installationsroutine klappen könnte, denn auch andere Programme haben ja das Recht im eigenen Installationsverzeichnis/Unterordner Dateien abzulegen ohne das Programm "als Administrator" auszuführen. Mittels Inno Setup habe ich hier nun ein wenig experimentiert. Allerdings bekomme ich es darüber auch nicht hin.

    Bin ich da überhaupt auf dem richtigen Weg oder sogar ganz falsch?

    Bin über jegliche Hilfestellung dankbar

    Liebe Grüße
    Bibi
    Du könntest Deinem Programm Adminrechte mitgeben, allerdings wird das PC-abhängig immer dazu führen, dass Windows nachfragt, ob das Programm wirklich gestartet werden soll. Ließe sich zwar in Windows abschalten, aber das muss auf jedem PC einzeln in der Systemsteuerung erfolgen.
    Könnte am Verzeichnis liegen, in dem Dein Programm ist. bzw. die Dateien erstellt werden. s. oben verlinkter Thread.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    Du könntest Deinem Programm Adminrechte mitgeben, allerdings wird das PC-abhängig immer dazu führen, dass Windows nachfragt, ob das Programm wirklich gestartet werden soll. Ließe sich zwar in Windows abschalten, aber das muss auf jedem PC einzeln in der Systemsteuerung erfolgen.

    Genau das möchte der Kunde ja nicht, denn nicht jeder Anwender hat Administrator Rechte. Diese müssen das Programm aber auch ohne Administrator Rechte ausführen dürfen.

    VaporiZed schrieb:

    Könnte am Verzeichnis liegen, in dem Dein Programm ist. bzw. die Dateien erstellt werden. s. oben verlinkter Thread.

    Die Dateien werden in dem selben einem Unterordner des Programmes abgelegt.
    Beispiel: "c:\MyApp\settings\settings.ini" oder "c:\MyApp\templates\document.tpl"

    Zum Erstellen einer Datei oder Kopieren in diese Verzeichnisse geht es nur mit den Administrator Rechten.
    Wie machen es denn andere Programme? Oder muss ich zwingend ganz andere Ordner verwenden um dieses Problem zu umgehen?
    Dann gib (oder lass es vom Admin einstellen) dem User volle Lese- und Schreibrechte auf den Ordner inkl. allem was sich darin befindet. Muss halt über die Windows Einstellungen User Einstellungen oder was weiß ich eingestellt werden.

    Hab das Problem auch gelegentlich.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Bibi schrieb:

    Settings.ini, Template Dateien
    gehören nach ProgramData, dort hast Du freien Zugriff.
    Oder hier:

    VB.NET-Quellcode

    1. Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    2. Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!