REFLEX-Installation: Bekannte Probleme bei der Installation

Aus GEVITAS
Version vom 23. April 2021, 11:36 Uhr von Gevitas (Diskussion | Beiträge) (Fehlermeldung "Fehler beim Laden der IDAPI-Service-Bibliothek Datei: NTWDBLIB.DLL)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

1 Allgemeines

Hier werden die bekannten Probleme bei der Installation beschrieben.


1.1 Windows 7/8/10: REFLEX kann nicht gestartet werden

Auch die ODBC (Datenquellen) muss über das Menü der rechten Maustaste geöffnet "Als Administrator ausführen" werden, wenn man den Eintrag für REFLEX erstellen oder bearbeiten möchte.

Achtung! Unter Windows-64-Bit darf man nicht den ODBC-Administrator aus der Verwaltung benutzen! Hier befindet sich das richtige Programm dazu unter „C:\Windows\SysWOW64\ODBCAD32.exe“!!!

Hintergrund: Die Namensgebung der System-Ordner unter 64-Bit-Windows ist verwirrend:

In "C:\Windows\System32" befinden sich alle 64-Bit-Programme! Der Ordner heißt nur so, weil Microsoft wohl kompatibel mit 32-Bit-Systemen bleiben wollte. Das ist die offizielle Aussage von MS! Warum sie es aber nicht so gemacht haben wie bei "\Programme“ = "Program Files" bleibt ihr Geheimnis…

In "C:\Windows\SysWOW64" befinden sich alle 32-Bit-Programme, die über dem 64-Bit-Betriebssystem laufen! Der Ordner-Name kommt von "System-Windows-On-Windows-64-Bit"!


1.2 Windows-XP®: “Fehler 401, Zeichenfolge zu lang...”

Unter Windows XP kann es bei der Programm-Installation zu der Fehlermeldung kommen

  • “Die Zeichenfolgenvariable ist nicht groß genug für die Zeichenfolge” “Fehler 401".

Bestätigen Sie diese Meldung mit [OK], die Installation wird dann normal weitergehen.

Achtung
Windows-XP® sollte nicht mehr verwendet werden!


1.3 Datenbank-Server nicht gefunden

Wenn bei der Datenbank-Installation angezeigt wird, dass der Datenbank-Server nicht vorhanden sei, dann wählen Sie im Installationsprogramm einen anderen Namen aus. Bei manchen Konfigurationen wird der lokale SQL-Server als “(local)” bezeichnet (mit Klammern!), bei anderen mit dem jeweiligen PC-Namen.

Domäne: Um den Server im Netzwerk zu finden, müssen die Benutzer auf diesem Server angelegt sein oder einer Benutzergruppe angehören, die den Zugriff auf den Server besitzt.

Arbeitsgruppe: Wenn Sie nicht mit einer Domäne arbeiten sondern mit einer Arbeitsgruppe, müssen alle Benutzer auf diesem als lokale Benutzer Server angelegt sein! Zusätzlich müssen die Benutzernamen im SQL-Server angelegt werden! Sie können dazu den Web-Admin, SQL-Enterprise-Manager benutzen oder einen SQL-Script auf dem Server ausführen, der die Benutzer anlegt, z.B. mit

use REFLEX
go
EXEC sp_addlogin 'Albert', '12345', 'REFLEX'
GO
EXEC sp_grantdbaccess 'Albert', 'Albert
go
grant ALL to public
go

Wenn Sie immer noch keinen Kontakt zum Server haben, prüfen Sie, ob eine Firewall auf dem Server aktiv ist und schalten diese (zumindest testweise) aus.

Geben Sie den Standard-Port 1433 für MS-SQL-Server frei! Auch auf den Clients muss dieser Port freigeschaltet werden!


1.4 SQL-Express-Installation bricht ab, Windows 2003-Server

  • Wenn das SQL-Express-Installationsprogramm feststellt, dass auf dem PC schon ein SQL-Express oder ein SQL-Server vorhanden ist, wird die Installation mit der Fehlermeldung „Instanz schon vorhanden...“ abgebrochen. Da SQL-Express/SQL-Server ja schon vorhanden ist, müssen Sie diesen Installationsschritt nicht ausführen!
  • Unter Windows2003-Server muss die SQL-Server-/SQL-Express-Version mind. mit Service-Pack 4 (SP4) sein, weil der Win-Server aus Sicherheitsgründen sonst alle TCP-Ports für MS-SQL abschaltet und diese sich auch nicht einschalten lassen!
  • Ab Vers. 050806 legt das REFLEX-Installationsprogramm für die MSDE optional eine Instanz REFLEX für den SQL-Server an. Daher muss man auch beim Update des SQL-Servers das Microsoft-Setup mit der Option für die Instanz REFLEX angeben:

Setup Instancename=REFLEX Securitymode=SQL sapwd=1 DisableNetworkProtocoll=0


1.5 SQL-Server Setup bricht ab

Wenn das SQL-Server-Setup mit der Fehlermeldung

Das Gerät oder die Datei "XXXXX\aaa.msi" wurde nicht gefunden.

abbricht, kann dafür ein Anti-Viren-Programm verantwortlich sein! Das Programm TrendMicro z.B. verhindert die Installation, ohne eine Warnmeldung auszugeben!


1.6 Serverkompatibilitäten oder weiteren Server zu einem bestehenden Basisserver hinzufügen

Man muss unterscheiden zwischen dem eigentlichen Server mit Windows-Server-Betriebssystem und dem SQL-Server, der für die Datenbank zuständig ist.

Aus unserer bisherigen Erfahrung funktioniert die Kombination:
Achtung 64.jpg
  • Windows Server 20008 R2 mit SQL Server 2012 und SQL Server 2012 express
  • Windows Server 20012 mit SQL Server 2012
  • Windows Server 20016 mit SQL Server 2014
  • Small Business Server (SBS) wird nicht empfohlen!

Siehe Portfreischaltung auf dem Server.


1.7 Versteckter SQL-Server bei Backup-Exec®

Einige Programme nutzen SQL-Express zur Verwaltung ihrer Datenbestände und installieren SQL-Express versteckt, z.B. Backup-Exec.

Sollte auf Ihrem Server schon SQL-Express vorhanden sein und Sie Probleme bei der SQL-Express-Installation haben, wenden Sie sich bitte an den Microsoft-Support.

  • Die Lösung des Problems ist vielschichtig.
Wenn die vorhandene SQL-Express die Version 8.00.760 oder neuer hat, kann man diese verwenden und hat kein Problem.
Mit einer älteren Version kann es aber u.U. Probleme mit REFLEX geben. Einfach eine neue Version drüber installieren geht aber auch nicht, weil man ja nicht weiß, ob das vorhandene Programm, das die alte SQL-Express verwendet, mit der neuen Version funktioniert. Deshalb: Nicht verzagen, Microsoft fragen!
  • Für SQL-Spezialisten:
    • Prüfen Sie, ob Sie SQL-Express updaten können. Schon aus Sicherheitsgründen ist dieses sehr empfehlenswert, weil es in alten SQL-Versionen Sicherheitslücken gibt, die u.U. Wurm-Attacken nach sich ziehen!
    • Legen Sie in diesem Fall SQL-Express mit einer neuen Instanz an.
    • Ändern Sie die ODBC-Einträge so ab, dass als Servername [Server\Instanz] eingetragen wird.


1.8 PDF-Export Fehler "Das System kann den angegebenen Pfad nicht finden."

Problem
Beim Exportieren eines Reports zu PDF kommt die Fehlermeldung
"Das System kann den angegebenen Pfad nicht finden."
Der Dateiname und Pfad ist aber richtig!
Ursache
Im konkreten Fall stand im Report eine Schriftart, die es auf dem Rechner nicht gab!
Lösung
Schriftart installiert, fertig!
Wichtiger Hinweis
  • Es muss nicht unbedingt so ein, dass ein Feld im Report diese Schriftart hat!
  • Wenn man Artikel-Textbausteine im Report verwendet kann es auch sein, dass im Textbaustein diese Schriftart drin steckt!
  • Die Gemeinheit ist, dass die Schriftart unter Umständen ganz am Ende des Textes steht und kein weiterer Text dahinter kommt.
Dann sieht man die Schriftart im Editor nicht, auch wenn man Zeichen für Zeichen durchgeht!
In diesem Fall sieht man die Schriftart u.U., wenn man den ganzen Text markiert (Strg+A bzw. Ctrl+A).
Wenn man dann z.B. "Arial" auswählt, ist die alte Schriftart entfernt.


1.9 Fehlermeldung "Fehler beim Laden der IDAPI-Service-Bibliothek Datei: NTWDBLIB.DLL

Die BDE wird nicht mehr verwendet, dieses Kapitel entfällt also!

Beim Starten des Programms erscheint die Fehlermeldung:

Initialisierung fehlgeschlagen
Fehler beim Laden der IDAPI-Service-Bibliothek
Datei: NTWDBLIB.DLL
Ursache
  • Aus bisher nicht bekannter Ursache wird manchmal bei der Installation ein BDE-Alias (z.B. "REFLEX") mit dem Typ "MSSQL" eingetragen.
Das ist nicht richtig, weil in der BDE der ODBC-Alias "REFLEX" stehen sollte (Typ "SQL Server xxx").
  • Der Typ "MSSQL" ist ein SQL-Server-Treiber, der in neueren Windows-Versionen nicht mehr vorhanden ist.
Im Internet kann man Artikel finden, in denen empfohlen wird, die Datei herunterzuladen und zu installieren. Das ist jedoch unserer Meinung nach nicht zu empfehlen!
  • Der ODBC-Alias "REFLEX" wird normalerweise automatisch in die BDE eingetragen. Wenn es aber schon einen Alias mit diesem Namen gibt, kann das nicht funktionieren! Stattdessen steht der (falsche) BDE-Alias "REFLEX" in der BDE.

In der BDE sieht das z.B. so aus:

Fehler NTWDBLIB DLL.png

Lösung
Der falsche BDE-Alias muss gelöscht werden!
  • Öffnen Sie die BDE als Administrator.
Klicken Sie dazu auf Windows-Start und tippen "BDE" ein.
Klicken Sie mit der rechten Maustaste darauf und wählen "Als Administrator ausführen" aus.
  • Klicken Sie auf den Eintrag "REFLEX" mit der rechten Maustaste und wählen "Löschen" aus dem Menü aus.
Bestätigen Sie mit "OK".
  • Schließen Sie die BDE und öffnen Sie diese erneut wie oben angegeben.
Der Alias "REFLEX" wird nun angezeigt als Typ "SQL-Server xxx". Dabei handelt es sich um den ODBC-Alias "REFLEX", der in die BDE eingeblendet wird.

Das Problem sollte nun beseitigt sein!

2 Firewall-Blockade, Virenscanner

Wenn Sie im ODBC-Manager beim Verbindungstest eine dieser Fehlermeldungen erhalten…

  • „Server nicht vorhanden oder Zugriff verweigert“
  • „Allgemeiner Netzwerkfehler TCP/IP“

...so überprüfen Sie die Firewall-Einstellungen des PC’s und des Servers. Schalten Sie wenn möglich die Windows-Firewall aus.Sofern Ihre Firewall die Installation blockiert, müssen Sie sie deaktivieren. MS-SQL-Server benutzen standardmäßig den TCP/IP-Port 1433. Dieser muss ggf. in der Firewall freigeschaltet werden.

Falls Sie über TCP/IP keinen Zugriff zum SQL-Server erhalten, können Sie im ODBC-Treiber auch den Zugriff über “Named-Pipes” aktivieren. Dieses Netzwerkprotokoll wird vom SQL-Server standardmäßig ebenfalls unterstützt. Es ist allerdings nicht routingfähig und auch nicht mehr besonders modern, so dass es eigentlich nicht mehr verwendet werden soll. Auch einige Virenscanner verhindern das ordnungsgemäße installieren. In diesem Fall muss der Virenscanner zeitweise deaktiviert werden.

2.1 Benutzerrechte auf den SQL-Server

Wenn Sie mit der SQL-Server-Express-Edition arbeiten und kein SQL-Management-Studio haben, sollten Sie dieses vom Internet herunterladen!

Mit diesem Programm können Sie die Zugriffsrechte für den SQL-Server und die REFLEX-Datenbank einrichten.


2.1.1 Anmeldungen

Anmeldungen beziehen sich auf den SQL-Server generell. Dazu kann man entweder SQL-spezifische Benutzer anlegen oder auf die in der Domäne gespeicherten Benutzer oder Gruppen zugreifen.

Anmeldungen müssen Zugriff auf die Datenbank (z.B. "REFLEX") haben. Außerdem müssen sie der Rolle "Public" und dem Schema "dbo" zugewiesen werden.

2.1.2 Sicherheit

In der Datenbank-Sicherheit werden Benutzer angelegt. Diese greifen auf die zuvor angelegten Anmeldungen zu. Benutzer sollten der Rolle "db_datareader" und "db_datawriter" zugeordnet werden.

2.2 Windows 7: Probleme mit BDE und INI

Fehlermeldung:

Idapi32.cfg nicht gefunden

bzw. die angelegten Aliase werden nicht gefunden oder Änderungen der REFLEX.INI werden nicht übernommen.

Wenn man REFLEX unter dem Benutzer ausführt, der die Installation ausgeführt hat, kann es beim Programmstart zu einer Fehlermeldung „Alias XXXX nicht gefunden…“ kommen. Geht man in die BDE-Konfiguration, ist der Alias aber vorhanden! Meldet sich ein anderer Benutzer am PC an, funktioniert das Programm!

Grund
  • Bei der Installation legt Windows für Programme, die nicht mit einem zertifizierten Manifest versehen sind, alle als „kritisch“ (in Sinne der Sicherheit) angesehene Dateien (.INI, .CFG usw.) in einen zusätzlichen, benutzerspezifischen Ordner, dem sog. "Virtual Store".
  • Alle Zugriffe auf diese Dateien werden von Windows automatisch auf diesen (unsichtbaren, benutzerspezifischen) Ordner umgebogen.

Leider funktioniert das nicht zuverlässig:

  • Wenn man mit dem BDE-Admin die cfg-Datei bearbeitet, schreibt man direkt in die Original-Datei.
  • Wenn ein Programm die Datei anfordert (z.B. REFLEX.exe), prüft Windows, ob sich die Datei im VirtualStore des Benutzers befindet. Wenn ja, liefert Windows diese Datei zurück. Wenn nein, wird die Datei aus dem Original-Verzeichnis geliefert.

Lösungen:

  1. Theorie: Man kopiert die IDAPI32.CFG-Datei in den VirtualStore aller Benutzer des Rechners („C:\Users\USERNAME\AppData\Local\VirtualStore“). Geht aber nicht, weil die VirtualStore-Ordner versteckt sind. Außerdem versagt diese Methode, wenn sich später ein neuer Benutzer/in anmeldet.
  2. Praxis: Man sucht über den Windows-Explorer die Datei IDAPI32.CFG in „C:\“. Wenn ein Ordner mit „Virtual Store“ angezeigt wird, kann man mit der rechten Maustaste diesen Ordnerpfad öffnen. Dann löscht man die IDAPI32.CFG oder gleich den ganzen Ordner, in diese drin ist.
  3. Man gibt allen Benutzern auf den BDE-Ordner volles Zugriffsrecht. Dieses schaltet die Virtualisierung für diesen Ordner aus. Sollte man das Programm in „C:\Programme\xxx“ installiert haben, gilt das oben Gesagte auch für diesen Ordner!
  4. Man schaltet (wenn man darf!) dieses Verhalten aus:

Hinweis: Wenn man im Windows-Explorer einen Ordner öffnet, für den es VirtualStore-Dateien gibt, wird eine zusätzliche Schaltfläche angezeigt.

2.3 Windows 7: Keine Zugriffsrechte auf Netzlaufwerke

Sie erhalten eine Meldung, dass Sie keinen Zugriff auf ein Netzlaufwerk-Verzeichnis haben. Um dieses Problem zu beheben, müssen Sie die Eigenschaften der REFLEX.EXE und deren Verknüpfungen überprüfen. Dazu klicken Sie mit der rechten Maustaste auf die EXE oder deren Verknüpfung und wählen dort Eigenschaften aus:

Dort müssen Sie überprüfen, ob beim Kompatibilitätsmodus und bei der Berechtigungsstufe Häkchen gesetzt sind. Ist dies der Fall müssen diese entfernt werden.

Auch wenn man beim Start von REFLEX immer diesen bestätigen muss, sollte man die Kompatibilitätseinstellungen überprüfen und ggf. gesetzte Haken entfernen.


2.4 Auto-Update wird nicht aufgerufen / In USER.GUP kann nicht geschrieben werden

Sollten Sie zum Beispiel beim Start keine Meldung erhalten, das eine neuere REFLEX.EXE vorliegt, obwohl diese im Update-Ordner vorhanden ist, dann prüfen Sie bitte die Kompatibilitätseinstellungen zur REFLEX.EXE.

Gehen Sie bitte dazu mit der rechten Maustaste auf den Button der REFLEX.EXE und wählen "Eigenschaften" aus.


REFLEX REFLEXexe Eigenschaften.png


....es darf kein Häckchen gesetzt sein!!!


REFLEX REFLEXexe EigenschaftenKompModus.png


...dann wird das Auto-Update angezeigt.


Ebenso betrifft das auch den Fall, wenn die Meldung erscheint: "In USER.GUP kann nicht geschrieben werden" . Auch hier ist erfahrungsgemäß, oft der Haken bei "Programm als Administrator ausführen" gesetzt.

Diesen Haken unbedingt entfernen, dann ist das Problem behoben!

2.5 Auto-Update wird gestartet, Dateien werden nicht kopiert

Hier wird das Auto-Update gestartet, zeigt auch die neuen Dateien aus dem Update-Verzeichnis (z.B. "R:\Update").

Die Dateien werden aber nicht kopiert, es kommt die Meldung

"R:\Update" existiert nicht!

Obwohl es das Laufwerk und den Ordner auf dem Server gibt!


Grund
Das Kopieren wird als "Administrator" ausgeführt, Windows schaltet also zum Kopieren vom angemeldeten User auf den Admin-User um. Der Admin-User ist oft aber ein lokaler Benutzer, der gar kein "R:"-Laufwerk hat. Also kann Windows auch nicht kopieren!


Beachten Sie die Hinweise unter REFLEX: Programm-Updates und Automatisches Update.

2.6 Portfreischaltung auf dem Server

2.6.1 MS SQL Server

SQL-Server-Konfiguration
  1. Windows-Startmenü öffnen und darin den SQL Server Configurationsmanager aufrufen
    Achtung 64.jpg
  2. Punkt Protokolle für SQLEXPRESS (bzw. Name der benannten Instanz) aufrufen -> (Named Pipes) Aktiviert - JA
  3. Punkt TCP/IP --> Reiter Protokoll Aktiviert - JA und Alle Überwachen - JA auswählen
  4. Punkt TCP/IP --> Reiter IP Adressen Aktiv - JA, Aktiviert - JA, PORT 1433,...diese Punkte auf alle angezeigten IPs in diesem Fenster anwenden. Wenn in der Zeile Dnyamische TCP-Ports eine Null (0) steht, diese entfernen. 0 schaltet dynamische Ports ein!

2.6.2 SBS-/Firewall-Konfiguration

  1. Windows SBS Konsole auf dem SBS-Server direkt aufrufen
  2. Windows Firewall aufrufen - Punkt "Ein Programm oder Feature durch die Windows Firewall zulassen" aufrufen
  3. Einstellungen ändern auswählen
  4. Anderes Programm zulassen auswählen
    Achtung 64.jpg
  5. Programm hinzufügen und über den entsprechenden Pfad ändern und sqlserv.exe verknüpfen
  6. Programm schließen und Windows Firewall mit erweiterter Sicherheit öffnen
  7. Punkt "Eingehende Regeln öffnen"
  8. SQL Server Windows NT - 64bit öffnen
  9. Reiter Erweitert im Fenster öffnen und Domäne, Privat und Öffentlich anhaken, dann Speichern und schließen
  10. SQL Server UDP öffnen
  11. Reiter Protokolle und Ports öffnen -> UDP -> Bestimmte Ports -> 1434. Alle Ports müssen eingestellt sein
    Achtung 64.jpg
  12. Alles Speichern und schließen


Danach sollte beim Client Computer der Server in der ODBC angezeigt und ausgewählt werden können.

WICHTIG! Der Zugang zum Server über die Windows Authentifizierung geht nur, wenn der Server auch lokal läuft! Andernfalls muss mit der Serverauthentifizierung gearbeitet werden, also Zugangsname und Passwort! WICHTIG!

3 Links

3.1 Server-Installation

3.2 Client-Installation

  • Bekannte Probleme bei der Installation