Frage

Wir haben eine Anwendung, die die Datenbank-Dateien in einem Unterordner des Programmdateiverzeichnis speichert. Diese Dateien werden auf die Virtuals in Vista umgeleitet und Windows 7. Wir stellen Daten aus der Datenbank unter Verwendung von Microsoft DataReports (VB6). So weit so gut.

Aber wir wollen jetzt Crystal Reports XI verwenden, um Daten aus der Datenbank zu repräsentieren. Unsere Idee ist, diese Daten zu CR nicht von unserem Programm passieren, aber CR hat retreive es aus der Datenbank ein System DSN über ODBC verwenden. Auf diese Weise hoffen wir, in der Gestaltung ihrer eigenen Berichte unserer Nutzer mit mehr Flexibilität zu präsentieren. obwohl, um sicherzustellen, was wir wollen ist, dass diese System-DSNs korrekt konfiguriert sind, wenn der Benutzer unser Programm installiert oder wenn das Programm ruft den Crystal Report.

Gibt es eine intelligente Art und Weise dies mit Systemvariablen zum Beispiel zu tun, statt mit einer Routine, die prüft, ob OS-Version zu schreiben, ob UAC auf dem O aktiviert ist, ob die Schreib Beschränkungen für den Ordner Programme angehoben wurde, usw. und dann passt er System-DSN Punkt entweder das Verzeichnis C: \ Programme \ OurApp \ Data Ordner oder das Verzeichnis C:? \ Users \ Benutzername \ AppData \ Virtuals \ Programme \ OurApp \ Data-Ordner

Weitere Anregungen für einen ganz anderen Ansatz sind willkommen auch!

War es hilfreich?

Lösung 3

Es scheint, dass Virtual Store kümmert sich um alles, so dass Sie den DSN eklatant an C verweisen kann: \ Programme \ MyApp \ Data \ MyDB.mdb selbst, während die Datenbank auf den virtuellen Speicher verlagert wurde.

Andere Tipps

Neue Anwendungen sollten eine Anwendung manifestieren, die requestedExecutionLevel angibt. Dies erklärt das Programm „Vista bewusst“ und umgeht Versuche Virtualisierung.

Während der Installation sollten Sie einen Ordner wie [CommonAppData] \ Unternehmen \ App \ Voll und Set Sicherheit für diesen Ordner erstellen Vollzugriff von jedem zu ermöglichen (oder Benutzer). Legen Sie Ihre Datenbank in diesen Ordner.

Für eine MDB Sie die Datenbank direkt hier ablegen können. Für eine Client / Server-Datenbank stellte eine UDL-Datei hier. Auch finden Sie unter Verwenden Universal Data Link (UDL) Dateien .

ODBC und DSNs sind ziemlich veraltete Technologien.

Sie die vorgeschlagenen Ansätze sollte für fast alles funktionieren, aber den ältesten Win95-Computer.

Ist das eine Access-Datenbank? Sie haben nicht angegeben.

Für eine Access-Datenbank, die Sie nicht Ihre DSN auf eine bestimmte Datenbank verweisen müssen, wenn Sie es installieren. Sie können die Verbindungszeichenfolge in unterschiedlichen Datenbanken zur Laufzeit ändern ( Details ). Zum Beispiel

Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;

Kann man einfach lesen Sie den Installationspfad zur Laufzeit (in VB6 es App.Path ist) und dann eine andere Verbindungszeichenfolge an Crystal Reports?

Aktuelle Version


Sie können die aktuelle Version von Windows erkannt werden sollen das System läuft.

Dies wird wiederum helfen Ihnen bei der Bestimmung der richtigen Pfad .

Wie Windows-Version, Build und Versionsnummern finden ??

Lesen Sie die die Registrierungsschlüssel -

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ Currentversion \ CurrentBuildNumber
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ Currentversion \ Currentversion
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ Currentversion \ EditionID
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ Currentversion \ ProductId HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ Currentversion \ BuildLabEx

Die CurrentBuildNumber ist Ihre Windows-Build-Nummer. Dann Current Wert ist Ihre Windows-Version heißt die Version Ihres Windows 7, Windows Vista, Windows XP, usw. EditionID und ProductId die Windows-Edition und Produkt-ID kennen.

Der Schlüssel BuildLabEx enthält Buildnummer und Revisionsnummer.

Zum Beispiel im Wert 6001.17387.x86fre.vistasp1_gdr.070927-1921,
die ersten vier Ziffern stehen für Build-Nummer das heißt 6001 und
die nächsten fünf Ziffern stehen für Fenster Revisionsnummer heißt 17387.
x86 sagt Ihnen, dass Sie ein 32-Bit-Betriebssystem ausgeführt wird.


:

Sie können auch in diesem interessiert sein Wie wahr Windows-Version?

erkennen

Goodluck !!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top