Dépannage des programmes MS-DOS sous Windows

Traductions disponibles Traductions disponibles
Numéro d'article: 165214 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F165214
Pour obtenir une version Microsoft Windows XP de cet article, consultez l'article 314106.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit les procédures à suivre pour résoudre les problèmes affectant les programmes MS-DOS sous Windows.

Plus d'informations

Testez le sous-système Ntvdm

La première opération à effectuer lorsque vous rencontrez des problèmes avec des programmes MS-DOS consiste à tester le sous-système NTVDM (NT Virtual Dos Machine) de Windows. Vous pouvez utiliser Command.com pour vérifier si le sous-système NTVDM fonctionne correctement. Pour démarrer Command.com, procédez comme suit :
  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la zone Ouvrir, tapez command.com, puis cliquez sur OK.
Une fenêtre d'invite de commande doit s'afficher. Si ce n'est pas le cas, c'est qu'il y a un problème avec le sous-système NTVDM. Procédez alors comme suit :
  • Contrôlez la présence de paramètres non standard dans les fichiers Config.nt et Autoexec.nt dans le dossier %SystemRoot%\System32.

    À l'aide d'une instruction REM, placez en commentaires toutes les entrées, *sauf* les entrées par défaut suivantes :
          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 (uniquement si CSNW est installé)
          lh %SystemRoot%\system32\vwipxspx (uniquement si CSNW est installé)

    REMARQUE : vous pouvez également effectuer cette opération en décompressant les fichiers Autoexec.nt_ et Config.nt_ du CD-ROM Windows dans le dossier %SystemRoot%\SYSTEM32.
  • Fermez tous les autres programmes en cours d'exécution, Pour cela, vous pouvez démarer le Gestionnaire de tâches, fermer tous les programmes exécutés et vérifier qu'aucun autre processus NTVDM n'est en cours d'exécution. Pour démarrer le Gestionnaire de tâches, appuyez sur CTRL+MAJ+ESC.
  • Empêchez tous les programmes de s'exécuter au démarrage. Des programmes peuvent être exécutés au démarrage à partir de trois emplacements : les groupes Démarrage, les lignes Run et Runonce du registre, et les lignes "run=" et "load=" du fichier Win.ini. Vous pouvez contrôler ces emplacements comme suit :
    • Les groupes Démarrage sont des dossiers situés sur le disque dur local dans les dossiers suivants :
      • %SystemRoot%\Profiles\ nom_utilisateur\menu Démarrer\Programmes
      • %SystemRoot%\Profiles\Default user\menu Démarrer\Programmes


    • Les lignes Run et Runonce se trouvent dans le registre, sous la clé suivante :
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
    • Vous pouvez modifier le fichier Win.ini à l'aide du Bloc-notes. Il se trouve dans le dossier %SystemRoot%.
  • Vérifiez les fichiers système NTVDM dans le dossier %SystemRoot%\System32. Vérifiez les fichiers suivants en vous assurant que leur version est correcte en contrôlant la taille et la date :
          Ntio.sys
          Ntdos.sys
          Ntvdm.exe
          Ntvdm.dll (Windows NT 3.1 uniquement)
          Redir.exe
  • Les entrées du registre associées au sous-système NTVDM sont les suivantes :
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
      Cette clé stocke les variables d'environnement provenant des fichiers Config.sys et Autoexec.bat, destinées à être utilisées dans Windows.
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ VirtualDeviceDrivers
      Cette clé stocke les pilotes de périphérique destinés à être utilisés lors d'une session NTVDM. Ces entrées sont créées par le programme d'installation de Windows lors de l'installation d'un pilote de périphérique.

Problèmes spécifiques aux programmes

Les fonctions suivantes ne fonctionnent pas dans Windows :
  • Toutes les fonctions MS-DOS à l'exception des API à commutation de tâches (fonctions de l'interface de programmation du programme) sont prises en charge.
  • Les pilotes de périphérique en mode bloc ne sont pas pris en charge. (les périphériques de bloc n'étant pas pris en charge, les API IOTCL MS-DOS associées aux périphériques de bloc et les fonctions SETDPB ne sont pas prises en charge non plus.)
  • La fonction 1A de l'interruption 10 retourne la valeur 0 ; toutes les autres fonctions sont transférées en mémoire morte (ROM).
  • Les appels de l'interruption 13 associés aux accès disque interdits ne sont pas pris en charge.
  • L'interruption 18 (ROM BASIC) génère un message indiquant que ROM BASIC n'est pas pris en charge.
  • L'interruption 19 ne redémarre pas l'ordinateur, mais arrête " proprement " la machine DOS virtuelle (VDM) active.
  • L'interruption 2F associée aux appels du programme DOSKEY (AX = 4800) n'est pas prise en charge.
  • Les fonctions des pilotes d'extension CD-ROM Microsoft (MSCDEX) 2, 3, 4, 5, 8, E et F ne sont pas prises en charge.
  • Le sous-système Windows 16 bits sur un ordinateur x86 prend en charge les programmes en mode étendu, mais pas les pilotes de périphérique virtuels (VxD) 16 bits. Sur un ordinateur non-x86, le sous-système émule le jeu d'instructions Intel 4086 qui permet l'exécution de programmes en mode étendu, comme Microsoft Visual Basic, sur des ordinateurs RISC.
En d'autres termes, Windows ne prend pas en charge les programmes 16 bits qui requièrent un accès illimité au matériel. Si c'est le cas de votre programme, il ne fonctionnera pas sous Windows NT ou Windows 2000.

Puis, vous devez vérifier si les paramètres des fichiers Autoexec.nt et Config.nt sont corrects. Essayez toujours les paramètres par défaut répertoriés ci-dessus. Certains programmes requièrent des paramètres ou des pilotes spéciaux dans le fichier Config.sys ou Autoexec.bat pour pouvoir fonctionner. Si tel est le cas, vous avez le choix entre deux options pour initialiser ces fichiers au démarrage de votre programme :
  • Saisir ces lignes dans les fichiers Config.nt et Autoexec.nt dans le dossier %racine_système%\System32.
  • Créer des nouveaux fichiers Config et Autoexec exécutables au démarrage du programme concerné. Pour cela, procédez comme suit :
    1. Créez les fichiers et enregistrez-les avec l'extension .nt dans un dossier autre que %racine_système%\System32 (ces fichiers sont généralement enregistrés dans le même dossier que le programme).
    2. Cliquez avec le bouton droit sur le Bureau, pointez sur Nouveau, puis cliquez sur Raccourci.
    3. Dans la zone Ligne de commande, tapez le chemin d'accès complet au fichier à exécuter, puis cliquez sur Suivant.
    4. Dans la zone "Sélectionnez un nom pour le raccourci", tapez le nom du raccourci, puis cliquez sur Terminer. Vous avez créé un nouveau raccourci sur le Bureau.
    5. Cliquez avec le bouton droit sur le nouveau raccourci, puis cliquez sur Propriétés.
    6. Sous l'onglet Programme, cliquez sur Windows. Une boîte de dialogue s'ouvre pour entrer le chemin d'accès aux fichiers Autoexec et Config.
    7. Tapez le chemin d'accès complet aux fichiers que vous avez créés, puis cliquez sur OK dans les deux boîtes de dialogue.
    À chaque fois que vous double-cliquerez sur cette icône, les fichiers Autoexec et Config spécifiés pour le programme seront exécutés. Ces paramètres sont soumis aux même restrictions que celles applicables aux programmes MS-DOS.
Les propriétés d'un programme contiennent d'autres paramètres. Si votre programme ne fonctionne pas correctement, il peut être judicieux de contrôler tous les onglets et de vous assurer que les paramètres du programme sont définis selon les spécifications du fabricant. Si le programme ne fonctionne toujours pas, il est recommandé de contacter le distributeur du programme afin de vous assurer qu'il est bien pris en charge sous Windows.

Pour plus d'informations, reportez-vous aux articles suivants de la Base de connaissances Microsoft :
RÉF. ARTICLE : 171940
TITRE : Les opérations d'entrée-sortie d'applications MS-DOS causent un accès au lecteur de disquette

RÉF. ARTICLE : 102418
TITRE : Erreur NTVDM : Aucun disque dans le lecteur

RÉF. ARTICLE : 156687
TITRE : Des entrées dans CONFIG.NT ou AUTOEXEC.NT peuvent entraîner des erreurs NTVDM

RÉF. ARTICLE : 142026
TITRE : Err : "Console cachée de VDM WOW" à l'exécution d'une application 16 bits ou DOS
Pour plus d'informations concernant l'impression dans un programme MS-DOS, consultez l'article suivant dans la Base de connaissances Microsoft :
RÉF. ARTICLE : 163551
TITRE : Résolution des problèmes d'impression dans Windows NT 4.0

Propriétés

Numéro d'article: 165214 - Dernière mise à jour: dimanche 26 septembre 2004 - Version: 3.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows 2000 Professionel
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Édition Développeur
Mots-clés : 
kbtshoot KB165214
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com