REFLEX-Installation: Bekannte Probleme bei der Installation
Inhaltsverzeichnis
- 1 Allgemeines
- 1.1 Windows 7: REFLEX kann nicht gestartet werden
- 1.2 Windows-XP®: “Fehler 401, Zeichenfolge zu lang...”
- 1.3 Datenbank-Server nicht gefunden
- 1.4 SQL-Express-Installation bricht ab, Windows 2003-Server
- 1.5 SQL-Server Setup bricht ab
- 1.6 Serverkompatibilitäten oder weiteren Server zu einem bestehenden Basisserver hinzufügen
- 1.7 Versteckter SQL-Server bei Backup-Exec®
- 2 Firewall-Blockade, Virenscanner
- 3 Links
1 Allgemeines
Hier werden die bekannten Probleme bei der Installation beschrieben.
1.1 Windows 7: 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.
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
Es besteht die Möglichkeit zu einem bestehenden Basisserver einen weiteren Server hinzuzufügen, auf welchem sich dann die Datenbank von REFLEX befindet.
Aus unserer bisherigen Erfahrung funktioniert die Kombination:- Small Business Server (SBS) 2011 als Basis und dazu MS SQL Server 2012 express
- Small Business Server (SBS) 2003 als Basis und dazu MS SQL Server 2008 R2 express
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 unseren 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, Support fragen!
- Für SQL-Spezialisten:
- Prüfen Sie, ob Sie auf 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.
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.
- Siehe auch Zugriff auf SQL-Server nicht möglich.
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 die Standard-Datenbank "REFLEX" haben. Außerdem müssen sie der Rolle "Public" 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
Idapi32.cfg wird 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:
- 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.
- 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.
- 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!
- 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 durchgeführt
Sollten Sie zum Beispiel beim Start keine Meldung erhalten, das eine neuere REFLEX.EXE vorliegt, obwohl diese real eingespielt 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.
....es darf kein Häckchen gesetzt sein!!!
...dann wird das Autoupdate angezeigt.
2.5 Portfreischaltung auf dem Server
2.5.1 Small Business Server 2011 in Verbindung mit MS SQL Server 2012 express
- SQL-Server-Konfiguration
- Windows-Startmenü öffnen und darin den SQL Server Configurationsmanager aufrufen
- Punkt Protokolle für SQLEXPRESS (bzw. Name der benannten Instanz) aufrufen -> (Named Pipes) Aktiviert - JA
- Punkt TCP/IP --> Reiter Protokoll Aktiviert - JA und Alle Überwachen - JA auswählen
- 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!
- SBS-/Firewall-Konfiguration
- Windows SBS Konsole auf dem SBS-Server direkt aufrufen
- Windows Firewall aufrufen - Punkt "Ein Programm oder Feature durch die Windows Firewall zulassen" aufrufen
- Einstellungen ändern auswählen
- Anderes Programm zulassen auswählen
- Programm hinzufügen und über den entsprechenden Pfad ändern und sqlserv.exe verknüpfen
- Programm schließen und Windows Firewall mit erweiterter Sicherheit öffnen
- Punkt "Eingehende Regeln öffnen"
- SQL Server Windows NT - 64bit öffnen
- Reiter Erweitert im Fenster öffnen und Domäne, Privat und Öffentlich anhaken, dann Speichern und schließen
- SQL Server UDP öffnen
- Reiter Protokolle und Ports öffnen -> UDP -> Bestimmte Ports -> 1434. Alle Ports müssen eingestellt sein
- 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