Schreibrechte

Von der Installation bis zur Auslieferung der Applikation

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Schreibrechte

Beitrag von Jan »

Bei der Installation wird ein Verzeichnis mit Admin-Rechten erstellt und alle benötigten Dateien da rein geschrieben. Beim ersten Programmstart werden Indizee erstellt. Bestandteil der Index-Routine ist jeweíls ein PACK. Xbase++ legt dazu temporäre Dateien an. Und da liegt bei Vista und 7 das Problem. Denn wenn der User keine Admin-Rechte hat, dann knallt es. Weil offensichtlich keine Schreibrechte vorhanden sind.

Wie kann ich das umgehen? Kann man per Kommandozeile nach der Installation soetwas wie ein chmod 777 machen? Oder sonst irgendeine Idee?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von brandelh »

Jan hat geschrieben:Bestandteil der Index-Routine ist jeweíls ein PACK. Xbase++ legt dazu temporäre Dateien an. Und da liegt bei Vista und 7 das Problem.
Hallo Jan,

temporäre Dateien werden normalerweise im aktuellen Verzeichnis angelegt.
Was aktuell ist, ist aber nicht immer klar ;-) und im Server-/Citrix-Betrieb auch meist nicht zugänglich.
Ich lege daher dieses immer fest und zwar auf das (Hilfs-)Datenverzeichnis meiner Anwendung.
Das Programmverzeichnis (und meist auch der Rest) ist im Citrixbetrieb meiner Anwendungen immer Read Only ...

Code: Alles auswählen

curdrive(HilfsTabellenVerzeichnis())
curdir(HilfsTabellenVerzeichnis())
wobei die Funktion HilfsTabellenVerzeichnis() in einer static das jeweilige Verzeichnis speichert.
Du könntest das Temporäre Verzeichnis natürlich auch auf ein Systemlaufwerk legen:

Code: Alles auswählen

HOMEDRIVE=C:
HOMEPATH=\Dokumente und Einstellungen\USERXXXX
TEMP=....
aber da dort auch die XppError.LOG und XppFatal.LOG landen wäre ein zentrales Laufwerk sinnvoller ;-)
Ab und an sehe ich in dem Verzeichnis nach ob Fehler protokolliert wurden ...
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Schreibrechte

Beitrag von AUGE_OHR »

hi

suche mal nach "virtualstore". dieser Path wird verwendet wenn SET TMP oder SET TEMP gesetzt wurde und man keinen Schreibzugriff hat.
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von Jan »

Moin Hubert,

interessanter Ansatz. Ich dachte immer, PACK würde seine temporären Dateien in dem Verzeichnis ablegen, in dem auch die zu packenden dbf liegen. Das werde ich mal ausprobieren.

Zao shang hao Jimmy,

das Problem besteht in der Tat. Aber ich umgehe das, indem ich den User garnicht unter C:\Programme installieren lasse. Damit sollte das hier eigentlich nicht der Punkt sein. Ich habe mit einem der betroffenen Anwender gesprochen, der hat das Programm auf E:\ installiert. Virtualstore kann also hier nicht greifen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von brandelh »

Jan hat geschrieben:interessanter Ansatz. Ich dachte immer, PACK würde seine temporären Dateien in dem Verzeichnis ablegen, in dem auch die zu packenden dbf liegen. Das werde ich mal ausprobieren.
Ich weiß es nicht ;-) ... werden bei PACK überhaupt welche erzeugt :?
Ich dachte PACK arbeitet nur in der zu packenden ... :? :D

Auf jeden Fall wundert mich die Aussage, dass du KEINE Schreibrechte in dem Verzeichnis hast
in dem die zu packende DBF liegt ? 8)
Gruß
Hubert
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Schreibrechte

Beitrag von peternmb »

Jan hat geschrieben:Und da liegt bei Vista und 7 das Problem. Denn wenn der User keine Admin-Rechte hat, dann knallt es. Weil offensichtlich keine Schreibrechte vorhanden sind.Jan
das kann ich so nicht bestätigen. Bei mir funktuioniert auch zap, pack, index, copy to usw. bei Vista/Windows 7 ohne Admin-Rechte.
Soweit ich das bisher feststellen konnte ist die einzige Funktion für die Admin-Rechte benötigt werden runshell.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von Jan »

Peter,

es scheint darum zu gehen, daß das Programm mit Admin-Rechten installiert wurde. Also das Verzeichnis und alle Dateien auf Admin-Rechte geschrieben wurden. Und dann jemand ohne Admin-Rechte da mehr oder weniger ausgesperrt wird.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Schreibrechte

Beitrag von peternmb »

Jan hat geschrieben:Peter,

es scheint darum zu gehen, daß das Programm mit Admin-Rechten installiert wurde. Also das Verzeichnis und alle Dateien auf Admin-Rechte geschrieben wurden. Und dann jemand ohne Admin-Rechte da mehr oder weniger ausgesperrt wird.

Jan
schon klar, für die Programm-Installation werden auch bei mir Admin-Rechte benötigt.
Aber ein "normales" arbeiten sollte doch auch mit eingeschränkten Rechten möglich sein.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von Jan »

Nein. Darum geht es doch hier. PACK erzeugt einen Laufzeitfehler. Das hier ist die Fehlermeldung des Users.
Fehlermeldung Pack.jpg
Fehlermeldung Pack.jpg (42.01 KiB) 7661 mal betrachtet
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Schreibrechte

Beitrag von peternmb »

Du hast Recht, vermutlich liegt das Problem bei der Art der Installation. Wurde das Programm für alle Benutzer installiert?

Du verwendest doch Inno-Setup. Ich habe dafür mal einen Teil des Installationsscriptes gepostet, das die "Eigenheiten" von Vista/Windows 7 berücksichtigt. Damit funktioniert das Arbeiten (auch pack, index usw.) mit den installierten Programmen - zumindest bei mir - problemlos auch ohne Adminrechte. Die sind nur für die Programm-Installation notwendig.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von Jan »

Ja, genau das benutze ich auch. Hab ich damals von Dir abgekupfert.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Schreibrechte

Beitrag von peternmb »

Jan hat geschrieben:Ja, genau das benutze ich auch. Hab ich damals von Dir abgekupfert.

Jan
dann ist es mit ehrlich gesagt ein Rätsel warum es bei mir funktioniert und bei dir nicht :?:
Seit ich das Setup so verwende (ca. 1 Jahr) gab es keinerlei Probleme mehr.

Wie hast du die Pfad-Zuweisung in deinem Progamm gelöst?
Könnte dann eigentlich dann nur noch daran liegen.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von Jan »

Ich wollte mal den Tipp von Hubert versuchen. Ansonsten arbeite ich immer mit absoluten Pfaden, aber das scheint ja bei PACK nicht zu greifen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Schreibrechte

Beitrag von brandelh »

Jan hat geschrieben:Ich wollte mal den Tipp von Hubert versuchen. Ansonsten arbeite ich immer mit absoluten Pfaden, aber das scheint ja bei PACK nicht zu greifen.
Jan
die Idee ist wirklich gut, bei temporären Dateien kann man aber leider keine Pfadnamen vorgeben.
Daher muss man das aktuelle Verzeichnis umstellen ;-)

PS: gibt es denn eine XppError.log oder XppFatal.log ?
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Schreibrechte

Beitrag von AUGE_OHR »

Jan hat geschrieben:...der hat das Programm auf E:\ installiert. Virtualstore kann also hier nicht greifen.
ich "denke" Virtualstore wird immer dann verwendet wenn SET TEMP gesetzt ist.

Für Cl*pper war aber SET TMP welches "wirkte"
Bei bestimmten Vorgängen, wie Sortieren und Indizieren, erstellt
CA-Clipper temporäre Dateien. Diese Dateien werden entweder im aktuellen
Verzeichnis oder in dem mit der Umgebungsvariablen TMP angegebenen
Verzeichnis abgelegt.

^bHinweis: ^bBei früheren CA-Clipper-Versionen wurden temporäre Dateien
in das aktuelle DOS-Verzeichnis oder, sofern angegeben, in das
Verzeichnis abgelegt, das über SET DEFAULT angegeben war.
Also beides TMP / TEMP (Lokal) setzten, das gilt auch für Xbase++ !!!

und da ist auch der 2nd Hinweis : SET DEFAULT auf ein R/W Verzeichniss legen
gruss by OHR
Jimmy
Antworten