Windows NT - Infos von MS zu DOS-Programmen
Zur Startseite     Tipps & Tricks     Windows NT - Infos von MS zu DOS-Programmen
 
Der folgende Text wurde von Jörg P. in einer Newgroup veröffentlicht.

NT 4.0: Problembehandlung bei MS-DOS-basierten Programmen.

Titel des Originalartikels: Q165214 Troubleshooting MS-DOS-Based Programs in Windows NT 4.0

Die Informationen in diesem Artikel beziehen sich auf: Microsoft Windows NT Server, Version 4.0, Microsoft Windows NT Workstation, Version 4.0


TESTEN DES NTVDM-SUBSYSTEMS - Wenn Sie Probleme mit MS-DOS-basierten Programmen haben, sollten Sie stets als erstes das Windows NT Virtual Dos Machine (NTVDM)-Subsystem testen. Mit Hilfe von "Command.com" können Sie testen, ob das NTVDM-Subsystem einwandfrei funktioniert. Sie können "Command.com" durch Ausführen der folgenden Schritte starten:

1. Klicken Sie auf die Startfläche "Start", und klicken Sie anschließend auf "Ausführen".

2. Geben Sie im Feld "Öffnen" "command.com" (ohne Anführungszeichen) ein, und klicken Sie auf "OK".

Dadurch wird ein Eingabeaufforderungsfenster geöffnet. Wenn dies nicht der Fall ist, liegt ein Problem mit dem NTVDM-Subsystem vor, und Sie sollten die folgenden Punkte überprüfen:

Überprüfen Sie die Dateien "Config.nt" und "Autoexec.nt" im Ordner "%systemroot%\system32" auf Einstellungen, die nicht der Standardeinstellung entsprechen.
Versehen Sie mit Hilfe einer REM-Anweisung alle Einträge *außer* den folgenden Standardeinträgen mit einer Anmerkung:

Config.nt:

dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=20


Autoexec.nt:

lh %SystemRoot%\system32\mscdexnt.exe
lh %SystemRoot%\system32\redir
lh %SystemRoot%\system32\dosx
lh %SystemRoot%\system32\nw16 (nur wenn CSNW installiert ist)
lh %SystemRoot%\system32\vwipxspx (nur wenn CSNW installiert ist)

ANMERKUNG: Eine weitere Möglichkeit ist die Erweiterung von "Autoexec.nt_" und "Config.nt_" von der Windows NT-CD in den Ordner "%SystemRoot%\SYSTEM32".
Beenden Sie ale anderen Programme, die ausgeführt werden. Führen Sie dazu den Task-Manager aus, schließen Sie alle Programme, die ausgeführt werden, und stellen Sie sicher, daß keine anderen NTVDM-Prozesse ausgeführt werden. Wenn Sie den Task-Manager starten möchten, drücken Sie auf STRG+Umschalt+ESC. Verhindern Sie, daß Programme bei Autostart ausgeführt werden. Programme können beim Starten von drei Stellen aus ausgeführt werden:

den Autostart-Gruppen, den Zeilen "Run" und "Runonce" in der Registrierung und den Zeilen "run=" und "load=" in der Datei "Win.ini". Sie können diese Stellen wie folgt überprüfen:

- Die Autostart-Gruppen sind Ordner auf der lokalen Festplatte und befinden sich in den Ordnern "%SystemRoot%\profiles\%username%\startmenu\programs" und "%systemroot%\profiles\default user\startmenu\programs".

- Die Zeilen "Ausführen" und "Runonce" befinden sich in der Registrierung unter dem Schlüssel "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\".

- Sie können die Datei "Win.ini" mit Hilfe von Notepad bearbeiten. Sie befindet sich im Ordner "%SystemRoot%".

Überprüfen Sie die NTVDM-Systemdateien im Ordner "%SystemRoot%\System32". Überprüfen Sie die folgenden Dateien, und stellen Sie sicher, daß es sich um die korrekte Version handelt, indem Sie Größe und Datum überprüfen:

Ntio.sys
Ntdos.sys
Ntvdm.exe
Ntvdm.dll (nur Windows NT 3.1)
Redir.exe

Die mit dem NTVDM-Subsystem assoziierten Systemeinträge sind:

"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\Environment".
Dieser Schlüssel speichert die Umgebungsvariablen aus den Dateien "Config.sys" und "Autoexec.bat" zur Verwendung in Windows NT.

"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\VirtualDeviceDrivers".
Dieser Schlüssel speichert die Gerätetreiber, die in einer NTVDM-Sitzung verwendet werden. Diese Einträge werden von Windows NT Setup erstellt, wenn ein Gerätetreiber installiert wird.


PROGRAMMSPEZIFISCHE PROBLEME - Die folgenden Funktionen werden von Windows NT nicht unterstützt:

Alle MS-DOS-Funktionen außer aufgabenwechselnde APIs (Programmierschnittstellenfunktionen des Programms) werden unterstützt.

Gerätetreiber im Blockmodus werden nicht unterstützt. (Blockgeräte werden nicht unterstützt, also werden MS-DOS IOCTL-APIs, die mit Blockgeräten und SETDPB-Funktionen zu tun haben, nicht unterstützt.)

Interrupt 10-Funktion 1A gibt 0 zurück; alle anderen Funktionen werden an den Nur-Lese-Speicher (ROM) übergeben.

Interrupt 13-Aufrufe, die unerlaubte Zugriffe auf die Festplatte bearbeiten, werden nicht unterstützt.

Interrupt 18 (ROM BASIC) generiert eine Meldung, die besagt, daß ROM BASIC nicht unterstützt wird.

Interrupt 19 startet den Computer nicht neu, beendet jedoch die aktuelle VDM (Virtual DOS Machine).

Interrupt 2F in Verbindung mit dem DOSKEY-Programmaufrufen (AX= 4800) wird nicht unterstützt.

Die Funktionen 2, 3, 4, 5, 8, E und F von Microsoft CD-ROM Extensions (MSCDEX) werden nicht unterstützt.

Das 16-Bit-Windows-Subsystem auf einem x86-Computer unterstützt Programme im erweiterten Modus; es unterstützt jedoch 16-Bit-VxDs (virtuelle Gerätetreiber) nicht.

Das Subsystem auf x86-fremden Computer emuliert den Befehlssatz von Intel 40486, durch den der Computer Programme im erweiterten Modus, wie etwa Microsoft Visual Basic, auf RISC-Computern ausführen kann.

Windows NT unterstützt also keine 16-Bit-Programme, die uneingeschränkten Zugriff auf Hardware benötigen. Wenn das Programm, mit dem Sie arbeiten, dies erfordert, kann es unter Windows NT nicht ausgeführt werden.

Als nächstes sollten Sie überprüfen, ob die Einstellungen der Dateien "Autoexec.nt" und "Config.nt" korrekt sind. Die oben aufgeführten Standardeinstellungen eignen sich normalerweise immer. Einige Programme benötigen besondere Einstellungen oder Treiber, die in den Dateien "Config.sys" oder "Autoexec.bat" ausgeführt werden. Wenn dies der Fall ist, bestehen zwei Möglichkeiten, um diese Dateien beim Starten des Programms zu initialisieren:

Geben Sie diese Zeilen in den Dateien "Config.nt" und "Autoexec.nt" im Ordner "%SystemRoot%\System32" ein. Erstellen Sie neue Config- und Autoexec-Dateien, die beim Starten dieses Programms ausgeführt werden. Führen Sie dazu die folgenden Schritte aus:

1. Erstellen Sie die Dateien, und speichern Sie sie mit der Erweiterung .nt in einen Ordner; bei diesem Ordner darf es sich nicht um "%SystemRoot%\System32" handeln (diese Dateien werden normalerweise in demselben Ordner wie das Programm gespeichert).

2. Klicken Sie mit der rechten Maustaste auf den Desktop, zeigen Sie auf "Neu", und klicken Sie anschließend auf "Verknüpfung".

3. Geben Sie im Feld "Befehlszeile" den vollständigen Pfad für die Datei ein, die Sie ausführen möchten, und klicken Sie auf "Weiter".

4. Geben Sie im Feld "Geben Sie einen Namen für die Verknüpfung ein" den Namen für die Verknüpfung ein, und klicken Sie auf "Fertigstellen". Dadurch wird eine neue Verknüpfung auf dem Desktop erstellt.

5. Klicken Sie mit der rechten Maustaste auf die neue Verknüpfung, und klicken Sie anschließend auf "Eigenschaften".

6. Klicken Sie auf der Registerkarte "Programm" auf Windows NT. Dadurch wird ein Dialogfeld für den Pfad für die Dateien "Autoexec" und "Config" geöffnet.

7. Geben Sie den vollständigen Pfad zu den erstellten Dateien ein, und klicken Sie anschließend in beiden Dialogfeldern auf "OK". Jedes Mal, wenn dieses Symbol gestartet wird, werden die für das Programm festgelegten Dateien "Autoexec" und "Config" ausgeführt.

Diese Einstellungen unterliegen denselben Einschränkungen, wie sie für MS-DOS-basierte Programme aufgeführt sind.

Es existieren weitere Einstellungen in den Eigenschaften eines Programms. Wenn Ihr Programm nicht einwandfrei funktioniert, sollten Sie alle Registerkarten überprüfen und sicherstellen, daß die Programmeinstellungen in Übereinstimmung mit den Herstellerangaben festgelegt wurden. Wenn das Programm noch immer nicht ausgeführt werden kann, sollten Sie sich mit dem Softwareanbieter des Programms in Verbindung setzen und feststellen, ob das Programm von Windows NT unterstützt wird.

Weitere Informationen finden Sie in den folgenden Artikeln in der Microsoft Knowledge Base:

ARTICLE-ID: Q171940
TITLE : MS-DOS Application I/O Operations Cause Floppy Drive Access

ARTICLE-ID: Q102418
TITLE : NTVDM Error: There Is No Disk in the Drive

ARTICLE-ID: Q156687
TITLE : Entries in CONFIG.NT or AUTOEXEC.NT May Cause NTVDM Errors

ARTICLE-ID: Q142026
TITLE : PRB: Hidden Console of WOWVDM Error Running 16-bit Program

Weitere Informationen über den Druckvorgang in einem MS-DOS-basierten Programm finden Sie im folgenden Artikel in der Microsoft Knowledge Base:

ARTIKEL-ID: D34793
TITEL : Behandeln von Druckerproblemen unter Windows NT 4.0


Zum Anfang der Seite     Zuletzt geändert 20.05.14 Mütze