DOS-programma’s worden nog steeds gebruikt in de bedrijfswereld. Advies over hoe je ze goed kunt laten werken op een modern computerplatform is welig tiert op het web. Hier is wat voor mij werkte.
Het 16-bit DOS programma waarmee we moeten werken staat op een 32-bit Windows 2003 server die binnenkort zal worden verwijderd. Tot die tijd wordt een deel van het programma in kaart gebracht op twee 32-bit client machines van het primaire domein met Group Policy. Een snelkoppeling naar het .cmd-bestand dat het programma opstart wordt handmatig op de clients geplaatst, ook op het primaire domein. Het programma draait goed op Windows 8.1. Een beetje een compromis om zeker te zijn, maar de machines worden geüpgraded naar 64-bit Windows 8.1 wanneer het DOS-programma, dat draait vanaf het secundaire domein, met pensioen gaat.
Printen vanuit het programma vormt de grootste uitdaging. Er worden twee verschillende parallelle printers gebruikt met dit programma, maar het programma print slechts op een enkele poort en er is geen optie om dit gedrag te veranderen. Moet er een controle worden uitgevoerd op de laserprinter? Deze moet worden aangesloten op de poort LPT1. Moet er een datadump naar de dot-matrixprinter worden geprint? Deze moet ook op poort LPT1 worden aangesloten. Twee mensen werken dagelijks met dit programma, dus we gebruiken hun computers, één voor elke printer. Laten we de eerste printer installeren:
Als de computer een fysieke DB-25 (parallelle) poort heeft, kan deze in het BIOS worden uitgeschakeld. Windows 8.1 ondersteunt dit niet en we hebben het ook niet nodig.
Een Cables-to-Go model 16899 USB naar DB25 parallelle printeradapter wordt gebruikt om de printer aan te sluiten op de computer. De adapter wordt automatisch geïnstalleerd en wordt niet herkend als een parallel apparaat of LPT poort.
Open nu Apparaten en Printers. Klik op Printer toevoegen en selecteer De printer die ik wil is niet in de lijst opgenomen. Kies in het volgende dialoogvenster Een lokale printer of netwerkprinter met handmatige instellingen toevoegen en gebruik in het volgende dialoogvenster een bestaande poort. Selecteer een virtuele printerpoort voor USB, ofwel USB001 of USB002, uit de lijst en niet de LPT poortopties.
De eerste printer is een Panasonic KX-P1191 Multi-mode dot matrix printer. De printer staat niet in het dialoogvenster dat vraagt om een stuurprogramma en het bijwerken van de lijst door te klikken op Windows Update helpt niet. Een controle van de ondersteuningssite van Panasonic geeft aan dat de printer op dit punt volledig niet wordt ondersteund, maar een technische ondersteuningsspecialist van Panasonic heeft geholpen bij het uitzoeken van het pad dat heeft geleid tot het Epson FX Series 1(80) stuurprogramma dat bij Windows 8.1 is meegeleverd. Het werkt perfect.
Nu is de printer geïnstalleerd. Maar het staat op poort USB001 en het programma print alleen naar poort LPT1. De oplossing is relatief eenvoudig en kan direct worden geïntegreerd in het batchbestand dat wordt gebruikt om het programma te starten. Laten we een trucje uithalen op onze printer: we delen hem en printen op die manier naar LPT1.
Klik met de rechtermuisknop op de printer en kies Eigenschappen. Deel de printer, zet hem niet in de directory, maak een korte naam voor het delen, en zorg er dan voor dat de gebruiker van de client-machine in de groeps- of gebruikersnamenlijst onder het tabblad Beveiliging staat.
De twee mensen die naar deze printers gaan printen, maken mijn loonstrookje aan, dus ik heb ze Domeinbeheerrechten gegeven. Dat was misschien niet nodig. Beide zijn gebruikers op het primaire domein maar niet op het secundaire, en ik wilde geen tijd besteden aan het oplossen van het rechtenprobleem.
Pas nu het batchbestand aan en gebruik het goed gedocumenteerde netgebruikscommando om de printoplossing te implementeren:
@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>
Waarbij COMPUTER de naam van de computer is en PRINTER de gedeelde naam van de printer. De procedure werkte even goed op een tweede computer voor de HP LaserJet 1100 printer met behulp van de “HP LaserJet 1100 (MS)” driver die bij Windows 8.1.
– OPMERKINGEN –
Systeemfout 5:
Zorg ervoor dat de gebruiker wordt vermeld onder het beveiligingstabblad. “Iedereen” kan worden verwijderd. Zijn domeinbeheerrechten vereist voor de gebruiker? Waarschijnlijk niet, als alles vanuit één domein draait.
Systeemfout 66:
Controleer uw syntaxis. Je hebt waarschijnlijk de naam van de computer, de printer of misschien de dubbele punt gemist? Er is maar één dubbele punt nodig, per Microsoft-documentatie. Zal het toevoegen van een overbodige dubbele punt aan lpt1[:] een storing veroorzaken?
Alles over netto gebruik https://technet.microsoft.com/en-us/library/bb490717.aspx