Les programmes DOS sont toujours utilisés dans le monde des affaires. Les conseils pour les faire fonctionner correctement sur une plateforme informatique moderne sont légion 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à, une part du programme est mappée sur deux machines clientes 32 bits du domaine principal avec la politique de groupe. Un raccourci vers le fichier .cmd qui lance le programme est placé manuellement sur les clients, également sur le domaine principal. Le programme fonctionne bien sous Windows 8.1. C'est un peu un compromis, mais les machines seront mises à niveau vers Windows 8.1 64 bits lorsque le programme DOS, qui fonctionne à partir du domaine secondaire, sera 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 n'imprime que sur un seul port et il n'y a pas d'option pour changer ce comportement. Vous avez besoin d'imprimer un chèque sur l'imprimante laser ? Elle doit être connectée au port LPT1. Vous devez imprimer un transfert de données vers l'imprimante matricielle ? Elle doit être également connectée au port LPT1. Deux personnes travaillent quotidiennement avec ce programme, nous utiliserons donc leurs ordinateurs, un pour chaque imprimante. Installons la première imprimante :
Si l'ordinateur a un port physique DB-25 (parallèle), vous pouvez le désactiver dans le BIOS. Windows 8.1 ne le supportera pas et nous n'en avons pas besoin.
Un adaptateur pour imprimante parallèle Cables-to-Go modèle 16899 USB à DB25 est utilisé pour connecter l'imprimante à l'ordinateur. L'adaptateur s'installe automatiquement et n'est pas reconnu comme un dispositif parallèle ou un port LPT.
Ouvrez maintenant la section Dispositifs et imprimantes. Cliquez sur Ajouter une imprimante et sélectionnez L'imprimante que je veux n'apparaît pas dans la liste. 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, Utiliser un port existant. Sélectionnez un port d'imprimante virtuel pour USB, soit USB001 ou USB002, dans la liste et non les options de port LPT.
La première imprimante est une imprimante matricielle multimode KX-P1191 de Panasonic. L'imprimante n'est pas listé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 du tout prise en charge pour le moment, mais un spécialiste de l'assistance technique de Panasonic a aidé à reconstituer la piste qui a conduit au pilote Epson FX Series 1(80) inclus dans Windows 8.1. Il fonctionne parfaitement.
Maintenant, l'imprimante est installée. Mais elle est 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 qui est utilisé pour démarrer le programme. Faisons un tour de magie avec notre imprimante : nous la partagerons et imprimerons sur LPT1 de cette façon.
Cliquez sur l'imprimante avec le bouton droit de la souris et choisissez Propriétés. Partagez l'imprimante, ne l'inscrivez pas dans le répertoire, créez un nom de partage court juste pour faire bonne mesure, puis assurez-vous que l'utilisateur de la machine cliente figure dans la zone Groupe ou nom d'utilisateur sous l'onglet Sécurité.
Les deux personnes qui imprimeront sur ces imprimantes créent mon chèque de paie, je leur ai donc donné les droits d'administrateur de domaine. Cela n'était peut-être pas nécessaire. Les deux sont des utilisateurs du domaine principal mais pas du domaine secondaire, et je ne voulais pas passer du temps à résoudre le problème des autorisations.
Maintenant, modifiez le fichier batch et utilisez la commande bien documentée net use pour mettre en place 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ù COMPUTER est le nom de l'ordinateur et PRINTER 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 en utilisant le pilote “HP LaserJet 1100 (MS)” fourni avec Windows 8.1.
– NOTES –
Erreur système 5:
Assurez-vous que l'utilisateur est listé sous l'onglet sécurité. “Tout le monde” peut être supprimé. L'utilisateur doit-il disposer de privilèges d'administrateur de domaine ? 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 point est nécessaire, selon la documentation de Microsoft. L'ajout d'un deux-points inutile à lpt1[ :] provoque-t-il un échec ?
Tout sur l'utilisation du net https://technet.microsoft.com/en-us/library/bb490717.aspx