erstmal: Radio&DJ ist ein ziemlich klasse Programm, das ich sehr gerne und schon seit geraumer Zeit ohne größere Probleme benutze. Aber nun habe ich folgendes Problem:
Ich versuche das Programm auf einem WinXP-Home-Rechner zu installieren, auf dem eingeschränkte Benutzeraccounts sind, die es auch nutzen können sollen. Für einen Benutzer habe ich es geschafft, indem ich die Programmverzeichnisse von Radio&DJ, Winamp und BDE und alles, was dort drin ist, für die eingeschränkten Benutzer freigegeben habe. Außerdem mußte ich eine Datei "C:\PDOXUSRS.NET" mit entsprechenden Rechten herzaubern. Dies funktioniert aber nur, wenn der eingeschränkte Benutzer auch die Installation durchgeführt hat.
Das Problem ist nun, dass andere Benutzer, selbst mit Administratorrechten, das Programm nicht starten können. Es kommen nacheinander folgende Fehlermeldungen:
RADIOandDJ: Fehler beim Setzen der Daten für 'FirstStart'
RADIOandDJ: Fehler beim Setzen der Daten für 'Daten_LastSearch'
Laufwerksfehler: das ist kein CD-ROM Laufwerk
Letztere Fehlermeldung kommt immer wieder, wenn ich sie wegklicke. Mit dem Taskmanager kann man das Programm aber ganz gut beenden... Aber es muß doch möglich sein, dass verschiedene Benutzer das Programm ausführen, oder? Ich vermute (aufgrund von Beobachtungen mit FileMon), dass bestimmte Daten in User-spezifischen Verzeichnissen abgelegt werden.
Bei meinen Versuchen mit den eingeschränkten Benutzern hatte ich übrigens häufig folgende Fehlermeldung:
RADIOandDJ: Network initialization failed. File or directory does not exist. File: C:\PDOXUSRS.NET Permission denied. Directory: C:\.
Eine 13kB-Datei aus einer anderen Installation hat das Problem gelöst.
Die Methode des großzügigen Verteilens von Zugriffsrechten ist natürlich problematisch, denn wenn ich alles sowieso freigebe, dann brauche ich eigentlich keine eingeschränkten Benutzer mehr... :-( Welche Dateien muß ich denn genau freigeben?
Ich bin für alle Ratschläge dankbar.
Gruß, Casi
P.S.: Zwei Verbesserungsvorschläge hätte ich auch noch:
Eine Möglichkeit, in allen Tags zu suchen, fände ich hilfreich (da mp3's aus Samplern oftmals auch die Interpreten im Titel-Tag haben).
Drag-and-Drop aus dem Programm heraus wäre auch toll: direkt aus der Datenbank in das Brennprogramm u.ä.
Hi,
mit Netzwerken und Benutzereinschränkungen habe ich nicht so richtig Ahnung.
RADIOandDJ: Fehler beim Setzen der Daten für 'FirstStart'
RADIOandDJ: Fehler beim Setzen der Daten für 'Daten_LastSearch'
dieser Fehler deutet darauf hin, dass der Zugriff zur Registry nicht klappt. Und zwar werden die Einstellungen unter dem Zweig
HKEY_CURRENT_USER\Software\Beisler\RADIOandDJ
abgespeichert.
Die Version 2... hat noch den Zweig
HKEY_LOCAL_MACHINE\SOFTWARE\Beisler\...
verwendet. Da schrieb mir aber mal jemand, dass man dort nur als Administrator zugreifen kann.
Ansonsten wird nur noch auf das Datenverzeichnis (c:\Programme und Einstellungen...) und das Programmverzeichnis (c:\Programme\Beisler\RADIOandDJ) zugegriffen.
> Eine Möglichkeit, in allen Tags zu suchen, fände ich hilfreich
das geht doch meiner Meinung nach, meinst Du: suche "Text" in den Interpreten ODER dem Titel ODER dem Verzeichnis ODER dem Album usw.?
> Drag-and-Drop aus dem Programm heraus wäre auch toll
das müsste ich mir auch erst mal anschauen, wie man so etwas programmiert. Ich nehme es aber mal mit in meine Liste auf.
Hab das ganze mal auf meinem WINXP prof. -Testsystem (mit Domänenanmeldung) nachvollzogen.
Zitat:
RADIOandDJ: Fehler beim Setzen der Daten für 'FirstStart'
RADIOandDJ: Fehler beim Setzen der Daten für 'Daten_LastSearch'
dieser Fehler deutet darauf hin, dass der Zugriff zur Registry nicht klappt. Und zwar werden die Einstellungen unter dem Zweig
Zitat:
Laufwerksfehler: das ist kein CD-ROM Laufwerk
@ Jürgen - da hast du recht, das betrifft die Registrierung. Das Problem ist jedoch, das die Registrierungseinträge nicht existieren. Das heißt der RADIOandDJ Eintrag in der Registrierung wird nur für den User eingerichtet der auch das Programm installiert hat. Da fällt Dir doch bestimmt eine Lösung für ein ??
@ casi - Ich hab mir damit geholfen, indem ich mich als Administrator angemeldet habe (darunter hatte ich auch RADIOandDJ installiert) den entsprechenden Registereintrag mit "regedit" exportiert habe, danach als "normaler User" angemeldet und den Registrierungsschlüssel wieder importiert habe. Danach konnte ich das Programm nutzen -- allerdings nicht beenden !!
@ Jürgen - Ein weiteren Problem (beim Arbeiten als "Normaluser" unter XP) sind Schreibzugriffe im Verzeichniss ".../Programme/.."
Da ist WINXP der Meinung, das da "Normale User" nichts zu schreiben haben. Wobei ich diesen Gedankengang eigentlich recht gut nachvollziehen kann. Da gehören ja Programme hin und nicht Daten !!
Lange Rede... Kurz gesagt bei mir ließ sich das Programm bei Nutzung als "NormalUser" nicht mehr korrekt beenden, da es z.B. die Datei Player1.txt nicht schreiben konnte.
Möglicherweise wäre ja die Lösung alle *.txt und Datendatein immer im Datenverzeichniss abzulegen
Zitat:
File: C:\PDOXUSRS.NET
Das kommt mir irgendwie bekannt vor. Ich glaube die Datei regelt irgendwie die Dateisperren für Datenbanken im Netzwerk. Müsste also irgendwas mit der BDE zu tun haben. Nutzt du Delphi-intern Paradox-Datenbanken??
Warum ich diesbezüglich allerdings keine Fehlermeldung hatte ist mir auch nicht ganz klar.
@ casi - liegt die Datenbank eventuell auf einem Netzwerklaufwerk ??
@ Jürgen -- Jetzt mach Dir aber bitte keinen Stress. Ich persönlich nutze Dein Programm im allgemeinen unter Win98.
Und ich bin mir sicher, das Casi die Sache auch noch in den Griff bekommt.
Aber für zukünftige Versionen wäre es schon nicht schlecht wenn diese Hügel irgendwie geglättet werden.
Wenn ich was in der Richtung testen soll sag einfach Bescheid !!
erstmal vielen Dank für die Hilfe. Es funktioniert jetzt mit Jochens Tipp, ein Stück aus der Registrierung zu kopieren. Allerdings muss man noch den Eintrag "Pfaddaten" anpassen. Ich habe dafür ein Ordner "Daten" unterhalb des Programmordners angelegt, der dann für alle Benutzer gilt.
Ich habe mir genauer angeguckt, welche Dateien das Proramm im laufenden Betrieb ändert:
im Datenverzeichnis:
privGenre.txt
Musik3.DB
<Playlisten>.lst
<Datum>.log
Ich habe den Dateien im Programmverzeichnis nun einzeln die Schreibberechtigung für Benutzer erteilt und dem Datenverzeichnis insgesamt so, dass sich das auf die enthaltenen Dateien vererbt. Dem BDE- und dem Winamp-Verzeichnis habe ich nach der Installation die Berechtigung für Benutzer wieder entzogen. So funktionierts bis jetzt. (hoffentlich habe ich alle Dateien gefunden...)
Es scheint so, als wenn es mit mehreren Benutzern tatsächlich nur funktioniert, wenn alle die selben Verzeichnisse für Programm und Daten nutzten, da z.B PlayList.txt im Programm und die Listen selbst im Datenverzeichnis sind. Zumindest sieht man auf jeden Fall, welche Musikstücke der vorige Benutzer im Player liegen gelassen hat...
Grundsätzlich (und jetzt bin ich wieder in der Sektion "Anregungen") wären zwei Modelle für das Problem denkbar:
1. Alle Benutzer verwenden die gleichen Daten (so, wie ich mir das jetzt eingerichtet habe). Dann ist es völlig egal, von welchem Benutzer aus man das Programm aufruft, er muß nur die nötigen Berechtigungen haben.
2. Jeder Benutzer hat seine ganz eigenen Daten. So macht das z.B. Thunderbird. Dann könnte alles in einem Verzeichniszweig des Benutzers stehen, und man hat keinen Stress mit Berechtigungen.
Als Mittelding könnte ich mir noch vorstellen, dass alle auf den gleichen Datenbestand zurückgreifen, die anderen Einstellungen jedoch getrennt sind. Das Verhalten könnte von Vornherein festgelegt sein oder bei der Installation abgefragt werden.
Sinnvoll fände ich, getrennte Daten (Idee 1) in den Anwendungsdaten abzulegen: "%AppData%\RADIOandDJ\". Thunderbird macht das so, das ist sehr praktisch für's Backup.
Für die gemeinsamen Dateien (Idee 2) habe ich nur das Verzeichnis "%CommonProgrammFiles%\RADIOundDJ\" gefunden, das man von den Rechten her anpassen müßte. Dann kann man genauso gut unter dem Programmverzeichnis ein Datenverzeichnis einrichten und für Benutzer freigeben. @Jochen: Viele Programme machen das so, dass sie Daten im Programmverzeichnis ablegen und Schreibrechte auf die Dateien für alle Benutzer vergeben. (Aber "reine Lehre" ist das nicht, finde ich...)
Was die Registry angeht, könntest Du bei der Installation unter HKEY_CURRENT_CONFIG\software\Beisler (oder vielleicht noch besser unter HKEY_USERS\.DEFAUlT\software\Beisler) Default-Einstellungen ablegen, die beim Programmstart nach HKEY_CURRENT_USER\software\Beisler kopiert werden, wenn dieser Schlüssel noch nicht vorhanden ist. Beide Schlüssel lassen sich von allen Benutzern lesen, der zweite sogar schreiben. Die saubere Deinstallation wird dann allerdings komplizierter: man muss alle Schlüssel des Schemas "HKEY_USERS\*\Software\..." nach Beisler\RADIOundDJ durchsuchen, was als Administrator gehen sollte.
Was die Datei C:\PDOXUSRS.NET angeht:
Nein, Jochen, ich habe kein Netzlaufwerk, nur eine fast ganz normale XP-Home-Installation. Laut Filemon greift der Prozess "RADIOundDJ" sowohl lesend als auch schreibend darauf zu, und zwar bei Programmstart und -ende und wenn Musik eingelesen wird. Nun gut, die Datei hat jetzt die Freigabe für alle Benutzer bekommen.
Ansonsten, Jürgen, kann ich mich Jochen nur anschließen: Nur kein Stress, es geht ja jetzt. Schließlich merkt man, wieviel Arbeit Du in das Programm steckts, die Version 3 ist wirklich einen Versionssprung wert gewesen. Und: verzeiht, dass der Beitrag so lang geworden ist. Ich konnte ihn nicht weiter kürzen und hoffe, dass meine Anregungen hilfreich sind.
Gruß, Casi
Achso, was die Suche angeht: Natürlich geht das so, wie Du schreibst, aber dann muss ich den Suchbegriff ja fünfmal schreiben, oder? Und ich bin doch chronisch faul...
Hallo casi,
Freut mich, das Du das hingebogen hast.
Zitat:
Sinnvoll fände ich, getrennte Daten (Idee 1) in den Anwendungsdaten abzulegen: "%AppData%\RADIOandDJ\". Thunderbird macht das so, das ist sehr praktisch für's Backup.
Für die gemeinsamen Dateien (Idee 2) habe ich nur das Verzeichnis "%CommonProgrammFiles%\RADIOundDJ\" gefunden,
Möglich wäre meiner Meinung nach auch für 1. das Verzeichniss "Eigene Dateien\RADIOandDJ" und für 2. "Gemeinsame Dateien\RadioandDJ"
Um die Datei C:\PDOXUSRS.NET wird man wohl nicht drumrumkommen. Die regelt wie gesagt den Zugriff von Benutzern auf die Datenbank. Bei mir ging das auch nur ohne Anpassung, weil meine C: - Platte Fat 32 ist.
> Ich habe mir genauer angeguckt, welche Dateien das Proramm im laufenden Betrieb ändert
ja, genau. Der Grundgedanke von mir war damals alle Hilfsdateien, wo ja eigentlich Einstellungen abgespeichert werden, ins Programmverzeichnis zu legen.
Das Datenverzeichnis wird sicher manchmal auch per Explorer oder so verändert und damit vielleicht auch manches aus Versehen gelöscht.
Aber das kann ich ja ändern, alle Files, die während der Programmausführung modifiziert werden, kommen in das Datenverzeichnis.
Vielleicht muss man das aber noch mal vorher richtig durchdenken.
Mehr Probleme sehe ich bei der Registry.
>Was die Registry angeht, könntest Du bei der Installation
>unter HKEY_CURRENT_CONFIG\software\Beisler (oder vielleicht noch besser unter
>HKEY_USERS\.DEFAUlT\software\Beisler) Default-Einstellungen ablegen,
Gefällt mir nicht. Ich bilde mir ein, dass es HKEY_CURRENT_CONFIG\ unter Windows 98 noch nicht gab.
>die beim Programmstart nach HKEY_CURRENT_USER\software\Beisler kopiert werden
also geht HKEY_CURRENT_USER doch? Warum kommen dann diese Fehlermeldungen?
hallo Jochen,
wenn ich dann die Änderungen in dieser Richtung mal gemacht habe, vielleicht kannst Du es dann zuerst mal testen ehe ich es öffentlich auf die HP lege.
hallo Casi,
>Achso, was die Suche angeht: Natürlich geht das so, wie Du schreibst,
>aber dann muss ich den Suchbegriff ja fünfmal schreiben, oder?
>Und ich bin doch chronisch faul...
also geht HKEY_CURRENT_USER doch? Warum kommen dann diese Fehlermeldungen?
Klar geht das. Ich hatte mich wohl nicht deutlich genug ausgedrückt. Das Problem besteht darin, das wenn in HKEY_CURRENT_USER NICHTS drin steht, weil DIESER User das Programm zum ersten mal aufruft und auch DIESER User das Programm nicht installiert hat, es zu den Fehlermeldungen kommt. Du brauchst also eigentlich nur zu schauen , ob die Registrierungseinträge vorhanden sind und wenn nicht, müssen die halt beim Programmstart erzeugt werden.
Welche Default-Werte Du da nimmtst und ob die default-Werte irgendwie in der Registrierung oder woanders gespeichert werden ist dann eigentlich die Kür.
Zitat:
>Was die Registry angeht, könntest Du bei der Installation
>unter HKEY_CURRENT_CONFIG\software\Beisler (oder vielleicht noch besser unter
>HKEY_USERS\.DEFAULT\software\Beisler) Default-Einstellungen ablegen,
Gefällt mir nicht. Ich bilde mir ein, dass es HKEY_CURRENT_CONFIG\ unter Windows 98 noch nicht gab.
HKEY_CURRENT_CONFIG\... gibs zwar auf meinem win98-SE Rechner gefällt mir aber auch nicht so sonderlich.
HKEY_USERS\.DEFAULT\... würde für die default-Werte ganz gut passen
Also die Kür könnte eventuell so aussehen:
Bei der Installation Defaultwerte in HKEY_USERS\.DEFAULT\...
Beim ersten Aufrufen des Programms durch den User Kopieren der Default-Werte nach HKEY_CURRENT_USER\...
Ich hoffe ich hab dich jetzt nicht noch mehr verwirrt
>Das Problem besteht darin, das wenn in HKEY_CURRENT_USER NICHTS drin steht,
>weil DIESER User das Programm zum ersten mal aufruft und auch DIESER User
>das Programm nicht installiert hat, es zu den Fehlermeldungen kommt.
okay, wenn User1 als Administrator angemeldet ist und das Programm installiert, dann hat er sein eigenes HKEY_CURRENT_USER. Meldet sich ein anderer (eingeschränkt oder nicht) User2 an, ist dort alles wieder leer.
Und hier sehe ich auch noch ein Problem. Was für die Registry zutrifft, trifft dann ja auch für sein Datenverzeichnis (Dokumente und Einstellungen\user\Eigene Dateien\RADIOandDJ) zu.
Das heißt, nach dem User-Wechsel müsste man auch von irgendwo her (gemeinsame Dateien) erst mal die Datenfiles kopieren. Das ganze aber nur beim allerersten Start des Programm jedes Benutzers.
Aber auch nicht bei jedem Update, ausser ich denke mir mal wieder neue Hilfsdateien aus.
Davor graust mir eigentlich, wie schnell kommen da Fehler ins Programm.
naja, ich tröste mich jetzt erst mal mit dem Satz: Nur kein Stress, es geht ja jetzt.
> Was für die Registry zutrifft, trifft dann ja auch für sein Datenverzeichnis
> (Dokumente und Einstellungen\user\Eigene Dateien\RADIOandDJ) zu.
> Das heißt, nach dem User-Wechsel müsste man auch von irgendwo her
> (gemeinsame Dateien) erst mal die Datenfiles kopieren. Das ganze aber nur beim
> allerersten Start des Programm jedes Benutzers.
> Aber auch nicht bei jedem Update, ausser ich denke mir mal wieder neue Hilfsdateien aus.
Spricht dafür, jedem Benutzer einen ganz eigenen Satz von Hilfsdateien und der Datenbank zu verpassen. Dann muss man bei jedem Start ergänzen, wenn was fehlt, auch beim Update. Und das ganze wird backupfähig. Ich will nochmal für Dokumente und Einstellungen\user\Anwendungsdaten werben, da fummelt der Anwender nicht unbeabsichtigt dran rum...
> Davor graust mir eigentlich, wie schnell kommen da Fehler ins Programm.