Über Access-Macro Windows-Registrierung aufrufen

Hallo,
ich muss eine Acces2003 Datenbank in Access2010 umbauen. Die Überführung hat problemlos funktioniert, alles klappt wie immer, nur eine Kleinigkeit funktioniert nicht ganz so, wie es in der ursprünglichen DB klappte.
Die DB hat ein Frontend und ein Backend. Die Version 2003 wurde über eine Installations-EXE beim Anwender (Firmennetzwerk) eingerichtet. Dabei wurde das Frontend (eine start.MDB (jetzt accdb) und eine Datenbank.mbe (jetzt accde)) angelegt. Im Backend ligen die Daten.mde(accde) und die Gruppenberechtigung.mdw(bleibt mdw).
Durch die Installation wurden auch Einträge in die Registrierung eingetragen. Und da komme ich zu meinem Problem.
Die Start.mdb ruft folgendes Makro auf:

Function OpenSecured()
Dim cmd As String
On Error Resume Next
cmd = „“
cmd = SysCmd(acSysCmdAccessDir) & „msaccess.exe "
cmd = cmd & " /profile " & „““" & „Widerspruch 2000“ & „“"" & " /user " & „“"" & fOSUserName() & „“"" & " " & „“"" & AppPath(Dbname()) & „Abwag2wid2003_ui.mde“ & „“""
Shell pathname:=cmd, windowstyle:=3
DoCmd.Quit
End Function

Die Funktion fOSUserName() ermittelt den Usernamen, AppPath(Dbname()) ermittelt den Pfad der Datenbank.
Diese beiden Funktionen verstehe ich und kann ich nachvollziehen (denn sie funktionieren). Leider klappt der Aufruf nicht fehlerfrei. Es erscheint die Meldung:

Das Profil „Widerspruch 2000“, das Sie in der Befehlszeile angegeben haben, ist nicht in der Windows-Registrierung vorhanden.

Wenn ich diese Meldung mit OK wegklicke funktioniert mein Programm einwandfrei.

Und nun kommt Ihr…
Wie und wo muss ich welchen Eintrag in der Registrierung machen, damit diese Meldung nicht mehr erscheint?

Die alten Einträge in der Registrierung (XP uns Access 2003) hießen:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Access Runtime\9.0\Profiles]
„Widerspruch 2000“=„SOFTWARE\BRD\Widerspruch AbwAG\3.16“

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Access\Profiles]
„Widerspruch 2000“=„SOFTWARE\BRD\Widerspruch AbwAG\3.16“

[HKEY_LOCAL_MACHINE\SOFTWARE\BRD\Widerspruch AbwAG\3.16\Jet\4.0\Engines]
„SystemDB“=„t:\Dez57\57_02\WiKla\dbwiderspruch\widerspruchsdaten\wid2000Group.mdw“

Ich hoffe Ihr könnt mir helfen

Gruß
André

Hallo,

wenn dieser Registry-Eintrag für /profiles gar keine Einfluss hat, dann lass ihn doch als Startparamter bei Shell einfach weg…

Ich bin mir nicht sicher, ob es den in A2007++ überhaupt noch gibt (also überhaupt ausgewertet werden kann. Wenn trotzdem, dann dürfte die Versionsnummer nicht 9.0 , sondern 14 bei Acc2010 im Registry-Key lauten.

Gravierendere Sache aber ist, dass das Accdb-Format keine Arbeitsgrupendateien mehr unterstützt…

Gruß
Franz, DF6GL

Guten Tag,
danke für Deine Hilfe, aber…

Hallo,

wenn dieser Registry-Eintrag für /profiles gar keine Einfluss
hat, dann lass ihn doch als Startparamter bei Shell einfach
weg…

das habe ich versucht, dann funktioniert das gesamte Makro nicht mehr.

Ich bin mir nicht sicher, ob es den in A2007++ überhaupt noch
gibt (also überhaupt ausgewertet werden kann. Wenn trotzdem,
dann dürfte die Versionsnummer nicht 9.0 , sondern 14 bei
Acc2010 im Registry-Key lauten.

Gravierendere Sache aber ist, dass das Accdb-Format keine
Arbeitsgrupendateien mehr unterstützt…

das habe ich auch gelesen, sie wird jedoch akzeptiert und es funktioniert auch. Meine dort eingetragenen Rechte funktionieren. das Einbinden über die Regrestry allerdings nicht ich habe sie über die System-Datei angebunden. Ich offe noch eine Lösung über die Regrestry zu finden, damit jeder User die korrekte Anbindung erhält.

Gruß
Franz, DF6GL

danke für Deine Hilfe
Gruß
André

Hallo,

wenn es nur über das Erzeugen des /profiles-Schlüssel geht, dann könnten ja die entspr. Api-Funktionen benutzt werden, die das zur Verfügung stellen, oder auch das WScript-Objek mit seinen diesbezüglichen Methoden.

Gruß
Franz, DF6GL

Hallo Franz,
danke für Deine Antwort, aber…

Hallo,

wenn es nur über das Erzeugen des /profiles-Schlüssel geht,

genau darum geht es

dann könnten ja die entspr. Api-Funktionen benutzt werden, die

? Api-Funktion?

das zur Verfügung stellen, oder auch das WScript-Objek mit
seinen diesbezüglichen Methoden.

Auch dabei muss ich passen da ich nicht weiß, was Du damit meinst.

Ich habe bereits versucht die Einträge über eine x.reg Datei in Win7 einzutragen aber dabei entsteht eben die vorgenannte Fehlermeldung. Ich habe ebenfalls gelesen, dass es den Eintrag
[HKEY_LOCAL_MACHINE\SOFTWARE\BRD\Widerspruch WasEG\3.16\Jet\4.0\Engines] so nicht mehr unter Win7 gibt und dass er jetzt [HKEY_LOCAL_MACHINE\SOFTWARE\BRD\Widerspruch AbwAG\14.0\Access Connectivity Engine] heißt.
Daher könnte ich mir vorstellen, dass es auch für andere Einträge neue Formulierungen gibt, die evtl. zu meinem o.g. Problem führen.

Gruß
Franz, DF6GL

LG
André