Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Von der Installation bis zur Auslieferung der Applikation

Moderator: Moderatoren

Antworten

Hast du auch Probleme mit Vista?

Nein - ich setze Vista nicht ein
4
50%
Nein - läuft alles problemlos
1
13%
Ja - ich habe ähnliche Probleme
3
38%
 
Insgesamt abgegebene Stimmen: 8

peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Beitrag von peternmb »

Hallo,

hat denn außer mir niemand Probleme mit den Pfadangaben in Vista? Nachdem ich mich jetzt schon mehrere Tage damit herumgeärgert habe, hier mein grundlegendes Vista-Problem:

Ich installiere mein Programm über ein InnoSetupScript ohne Probleme.
Beim Ersataufruf meines Programmes werden verschiedene xpf- und Index-Dateien erzeugt.
Je nach Aufruf bzw. Einstellung der Benutzerkonten-Steuerung passiert folgendes:

Möglichkeit 1.: Benutzerkontensteuerung ist nicht aktiv:
Die Dateien werden im Programmpfad abgelegt, wie ich es von XP gewohnt bin

Möglichkeit 2.: Benutzerkontensteuerung ist aktiv und Programm wird als Administrator ausgeführt:
Die Dateien werden im Programmpfad abgelegt, wie ich es von XP gewohnt bin

Möglichkeit 3.: Benutzerkontensteuerung ist aktiv und Programm wird nicht als Administrator ausgeführt:
Die Dateien werden im Ordner ...\AppData\Local\VirtualStore\Program Files\Meine Anwendung abgelegt

Solange das Programm immer im gleichen Modus ausgeführt wird gibt es keine Problem.
Aber wenn z.B. die Benutzerkonten-Steuerung deaktiviert wird stürzt das Programm ab.

Kann ich darauf irgendwie Einfluss nehmen? Am liebsten wäre es mir, wen meine Daten immer im Programmpfad bzw. im untergeordneten Ordner \Daten gespeichert würden, so wie es bisher unter XP problemlos funktioniert hat.

Ich habe irgendwo gelesen, dass es über eine Manifest-Datei möglich ist, Programme nur mit admin-Rechten auszuführen, aber das kann ja auch nicht Sinn der Sache sein.

Bin für jeden Tipp dankbar.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Beitrag von AUGE_OHR »

hi,

welchen exakten Path hast du den für deine Xbase++ Application ?
Ich hatte ähnliche Probleme wenn ich nicht das Verzeichniss "C:\Program Files" benutzt habe.
poste doch mal deine Errorlogs ... ich denke da noch an was anderes ...
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Beitrag von brandelh »

Hi,

ich habe selbst zwar keinen Vista Rechner (und so auch oben abgestimmt), aber den vorinstallierten meiner Tochter und einen für meine Frau fertig gemacht.

Bei dem meiner Tochter wollte ich die Verzeichnisse der Daten (D:\DATEN\...) inkl. iTunes den "Eigene Dateien" zuordnen.
Ich habe die Dateien kopiert und dann den Pfad (ähnlich wie unter XP) umgebogen ... das ging in die Hose !
Hierbei werden auch Pfadangaben umgebogen und iTunes kam damit nicht zurecht.

Beim Rechner meiner Frau war ich vorsichtiger und habe die Pfadangabe auch umgebogen, aber alle Programme neu installiert und danach nur die Dateien ausgetauscht (iTunes gab es nicht). Das ging dann recht gut.

Ich denke, dass wir einfach endlich akzeptieren müssen, dass DATEN nichts im Programmverzeichnis und auch nichts im Pfad c:\programme ... oder neuerdings c:\program files zu suchen haben !

Daten gehören unter {eigene Dateien}\Programmname (-> APPDATA) oder so ähnlich. Dann geht das auch mit Vista ;-)

Aussagen wie "Xbase++ EXE von Virenscann ausnehmen" (das hat Alaska mal wegen Virenfehlalarmen vorgeschlagen) oder "Benutzerkontensteuerung abschalten und nur als Admin arbeiten" sind einfach unseriös.
Natürlich kann jeder, der das will auf seinem eigenen Rechner tun was er will.
Aber wer ein Programm an Kunden verkaufen will, darf nicht voraussetzen, dass der USER immer noch als ADMIN arbeiten soll.
Auch wenn man als Autor sicher ist, dass die eigene EXE kein Virus eingefangen hat (woher weiß man das so genau), spätestens auf dem Zielsystem kann das jederzeit passieren. Ich würde niemandem vertrauen, der mir einreden will, es gibt EXE die besser nicht überprüft werden sollten 8) - im Gegensatz zu DBF, NTX und DBT Dateien, die nie ausgeführt werden.

Lange Rede kurzer Sinn, nutze keine fixen Programmpfade, wenn du nicht genau weißt dass das geht, sondern nimm die Umgebungsvariablen. Bei meinem XP gibt es z.B. APPDATA, ALLUSERPROFILE und USERPROFILE die auf die Datenpfade verweisen. In Windowspfadangaben werden ja auch solche Platzhalter (z.B. WINDIR) verwendet: %WINDIR% ...
In Xbase werden diese mit getenv() abgefragt. Im CMD Fenster kann man mit SET | MORE nachlesen was es alles gibt.
Sicher kann man dies auch im Installationsprogramm angeben.

Wenn man das nicht möchte, bleibt nur, dass man auch sein Programm nicht unter c:\Programme sondern z.B. D:\MyProg\... speichert, dann kann man dort auch die Daten ablegen.
Und natürlich sollte man mit einem USER Account prüfen ob alles geht. Kann ein User überhaupt was installieren :? :?:
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: Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Beitrag von peternmb »

Hallo,

das Programm wird im Standardpfad "C:\Programme", der bei der Installation als "C:\ProgramFiles" angezeigt wird installiert.
Der Absturz passiert beim Neuindizieren.
------------------------------------------------------------------------------
ERROR LOG of "C:\Program Files\HBV-HörBuchVerwaltung\HBV.exe" Date: 08.12.2008 10:14:39

Xbase++ version : Xbase++ (R) Version 1.90.331
Operating system : Windows 06.00 Build 06001 Service Pack 1
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: hb_1
-> VALTYPE: C VALUE: X01
-> VALTYPE: C VALUE: autor+archiv+titel
-> VALTYPE: B VALUE: {|| autor+archiv+titel}
-> VALTYPE: U VALUE: NIL
-> VALTYPE: L VALUE: .F.
oError:canDefault : Y
oError:canRetry : Y
oError:canSubstitute: N
oError:cargo : NIL
oError:description :
oError:filename :
oError:genCode : 8999
oError:operation : OrdCreate
oError:osCode : 0
oError:severity : 2
oError:subCode : 0
oError:subSystem : BASE
oError:thread : 1
oError:tries : 3
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from MAIN(184)


Das mit der Trennung von Programm und Daten und dem Speichern der Daten unter eigene Dateien wäre absolut OK, wenn Vista das immer machen würde. Mein Hauptproblem ist es ja, das je nach Einstellung der Benutzerkontensteuerung oder nach Art der Ausführung (normal oder als Admin) die Daten an unterschiedlichen Orten gespeichert werden.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Beitrag von brandelh »

peternmb hat geschrieben: Das mit der Trennung von Programm und Daten und dem Speichern der Daten unter eigene Dateien wäre absolut OK, wenn Vista das immer machen würde. Mein Hauptproblem ist es ja, das je nach Einstellung der Benutzerkontensteuerung oder nach Art der Ausführung (normal oder als Admin) die Daten an unterschiedlichen Orten gespeichert werden.
Hallo,

wenn du die SET Variablen für die Ermittlung des Speicherplatzes nutzt, dann müsste beim Wert von Allusers alles passen.
Oder du fragst einfach nach einem Speicherpfad ab, wohin der Anwender speichern will.
Der Ärger mit der Benutzerkontensteuerung liegt ja gerade darin, dass Vista das schreiben ins/unters Programmverzeichnis umbiegt.
Wenn man allerdings die Verzeichnisse des einzelnen Users verwendet, wird natürlich bei jedem ein anderes verwendet.
Geht auch nicht.

Allusers wird immer stimmen, allerdings weiß ich jetzt nicht, ob dort Schreibrechte bestehen.
Auch ein von der normalen Regelung unabhängiges Verzeichnis wird funktionieren (hoffe ich mal ;-) ) da diese nicht unter Aufsicht stehen.

Bei deiner Errorlog wundert mich etwas, dass kein Dateiname angegeben wird. Eigentlich wird dieser doch gebraucht ...
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: Vista und VirtualStore-Pfadangaben/Benutzerkonten-Steuerung

Beitrag von peternmb »

Bei deiner Errorlog wundert mich etwas, dass kein Dateiname angegeben wird. Eigentlich wird dieser doch gebraucht ...
je nachdem wie ich mein Programm aufrufe müsste die DBF-Datei in meinem Programm-Verzeichnis oder unter dem VirtualStore-Pfad liegen.
Lange Rede kurzer Sinn, nutze keine fixen Programmpfade, wenn du nicht genau weißt dass das geht, sondern nimm die Umgebungsvariablen.
ja, das habe ich jetzt auch versucht - scheint sehr gut zu funktionieren.
Ich werde es trotzdem nochmal mit verschiedenen Userprofilen und Betriebssystemen testen.

Erstmal vielen Dank. Der Hinweis mit dem Auslesen der Umgebungsvariablen war genau das, was ich gebraucht habe.
Antworten