Les programmes DOS sont toujours utilisés dans le monde des affaires. Des conseils sur la façon de les faire fonctionner correctement sur une plate-forme informatique moderne sont répandus sur le Web. Voici ce qui a fonctionné pour moi.
Le programme DOS 16 bits avec lequel nous devons travailler réside sur un serveur Windows 2003 32 bits qui sera bientôt supprimé. D'ici là, un partage avec le programme est mappé sur deux machines clientes 32 bits du domaine principal avec la stratégie de groupe. Un raccourci vers le fichier .cmd qui démarre le programme est placé manuellement sur les clients, également sur le domaine principal. Le programme fonctionne bien sur Windows 8.1. Un peu un compromis pour être sûr, mais les machines seront mises à niveau vers Windows 8.1 64 bits lorsque le programme DOS, qui s'exécute à partir du domaine secondaire, est retiré.
L'impression à partir du programme présente le plus grand défi. Deux imprimantes parallèles différentes sont utilisées avec ce programme, mais le programme imprime sur un seul port et il n'y a aucune option pour modifier ce comportement. Besoin d'imprimer un chèque sur l'imprimante laser? Il doit être connecté au port LPT1. Besoin d'imprimer un vidage de données sur l'imprimante matricielle? Il doit également être connecté au port LPT1. Deux personnes travaillent quotidiennement avec ce programme, nous allons donc utiliser leurs ordinateurs, un pour chaque imprimante. Installons la première imprimante:
Si l'ordinateur possède un port physique DB-25 (parallèle), vous pouvez le désactiver dans le BIOS. Windows 8.1 ne le prend pas en charge et nous n'en avons pas besoin.
Un adaptateur d'imprimante parallèle USB vers DB25 Cables-to-Go modèle 16899 est utilisé pour connecter l'imprimante à l'ordinateur. L'adaptateur s'installe automatiquement et n'est pas reconnu comme un périphérique parallèle ou un port LPT.
Ouvrez maintenant Périphériques et imprimantes. Cliquez sur Ajouter une imprimante et sélectionnez L'imprimante que je veux n'est pas répertoriée. Dans la boîte de dialogue suivante, choisissez Ajouter une imprimante locale ou une imprimante réseau avec des paramètres manuels et, dans la boîte de dialogue suivante, utilisez un port existant. Sélectionnez un port d'imprimante virtuelle pour USB, USB001 ou USB002, dans la liste et non les options du port LPT.
La première imprimante est une imprimante matricielle multimode Panasonic KX-P1191. L'imprimante n'est pas répertoriée dans la boîte de dialogue qui demande un pilote et la mise à jour de la liste en cliquant sur Windows Update n'aide pas. Une vérification du site d'assistance de Panasonic indique que l'imprimante n'est pas entièrement prise en charge à ce stade, mais un spécialiste de l'assistance technique de Panasonic a aidé à explorer la piste qui a conduit au pilote Epson FX Series 1 (80) inclus avec Windows 8.1. Cela fonctionne parfaitement.
Maintenant, l'imprimante est installée. Mais il se trouve sur le port USB001 et le programme n'imprimera que sur le port LPT1. La solution est relativement simple et peut être intégrée directement dans le fichier batch utilisé pour démarrer le programme. Allons à l'ancienne et jouons un tour sur notre imprimante: nous le partagerons et imprimerons sur LPT1 de cette façon.
Cliquez avec le bouton droit sur l'imprimante et choisissez Propriétés. Partagez l'imprimante, ne la répertoriez pas dans le répertoire, créez un nom de partage court juste pour faire bonne mesure, puis assurez-vous que l'utilisateur de l'ordinateur client est répertorié dans la zone Groupe ou nom d'utilisateur sous l'onglet Sécurité.
Les deux personnes qui imprimeront sur ces imprimantes créeront mon chèque de règlement, je leur ai donc donné les droits d'administrateur de domaine. Cela n'était peut-être pas nécessaire. Les deux sont des utilisateurs sur le domaine principal mais pas le secondaire, et je ne voulais pas passer du temps à résoudre le problème des autorisations.
Modifiez maintenant le fichier batch et utilisez la commande net use bien documentée pour implémenter la solution d'impression:
@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>
Où ORDINATEUR est le nom de l'ordinateur et IMPRIMANTE est le nom de partage de l'imprimante. La procédure a également bien fonctionné sur un deuxième ordinateur pour l'imprimante HP LaserJet 1100 à l'aide du pilote «HP LaserJet 1100 (MS)» fourni avec Windows 8.1.
-- REMARQUES --
Erreur système 5:
Assurez-vous que l'utilisateur est répertorié sous l'onglet sécurité. "Tout le monde" peut être supprimé. Les privilèges d'administrateur de domaine sont-ils requis pour l'utilisateur? Probablement pas, si tout fonctionne à partir d'un seul domaine.
Erreur système 66:
Vérifiez votre syntaxe. Vous avez probablement mal orthographié le nom de l'ordinateur, de l'imprimante ou peut-être manqué les deux points? Un seul deux-points est nécessaire, selon la documentation Microsoft. L'ajout de deux points inutiles à lpt1 [:] provoquera-t-il un échec?
Tout sur l'utilisation nette:
https://technet.microsoft.com/en-us/library/bb490717.aspx