Solved

Windows 10 and Broken  Printing from DOSBox App

Posted on 2016-09-02
41
295 Views
Last Modified: 2016-09-19
We have a client with an application that runs under DOSBox.

POeviously the App was running in Windows 7 and we were able to setup printing from the application to a shared printer on the network by mapping the shared printer to the local LPT1 port via net use:

net use lpt1 \\servername\printername /persistent=yes

The computer has been upgraded to Windows 10 and the printing is broken again.

We have done the same thing but printing still won't work - an error int eh DOSBox app along the lines of unable to open port or device.

I did some reasearch and someone posted that you had to chage the LPT port settings to make it work.

However, Device Manager does not show Com and Printer Ports.  I had to manually add the Printer Ports in Device Manager via Add Legacy Device, and manually set the address range and IRQ for the port once added.  Even this didn't work.

Would appreicate it if anyone could provide additional thoughts/things to try as I'm out of ideas.
0
Comment
Question by:Kenosti
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 21
  • 7
  • 7
  • +2
41 Comments
 
LVL 88

Expert Comment

by:rindi
ID: 41781176
If there is a physical LPT port on the PC itself shouldn't matter as far as I know. I think it is a problem with networking being more secure more secure on Windows 10 than it used to be on DOS. If you try mapping a shared directory on your host to a drive letter probably won't work either.

What I think you must do is change your LAN Manager Authentication level to LM & NTLM rather than NTLM2 using group policies. Check the link below as to what I mean:

https://technet.microsoft.com/en-us/itpro/windows/keep-secure/network-security-lan-manager-authentication-level
0
 

Author Comment

by:Kenosti
ID: 41784033
Mapping Shared drive works.  No issues.

Changed the Group Policy setting for authentication.  had the user reboot and relogin - still doesn't work, - says the printer is not online.

"Error -32764: I/O Port Error hex04 (device not online)".

Tried all of the above even by deletign the LPT1 Port I setup in Device Manager - still same error.

I'm not sure what a physical LPT port has to do with a virtual LPT port.
0
 
LVL 88

Expert Comment

by:rindi
ID: 41784051
I'm not sure what a physical LPT port has to do with a virtual LPT port.

Nothing, so it doesn't matter. Have you made sure your DOSBox version isn't outated?
0
WordPress Tutorial 1: Installation & Setup

WordPress is a very popular option for running your web site and can be used to get your content online quickly for the world to see. This guide will walk you through installing the WordPress server software and the initial setup process.

 

Author Comment

by:Kenosti
ID: 41784067
The version of DOSBox being used is the version that was workign under Windows 7.  We could print under Widnows 7.  It no longer prints and has that error message under Windows 10.

The version of DOSBOX used is the MegaBuild version (due tot he printing features) with DOSBox 7.6.
0
 
LVL 88

Expert Comment

by:rindi
ID: 41784363
Have you made sure you are using the correct IP address and share name?
0
 

Author Comment

by:Kenosti
ID: 41785560
I refuse to answer that question because it shouldn't even be asked.

When i checked net /use it still had the same settings in Widnows 10 as it did in Windows 7.  nothign there changed.

It was workign under Windows 7.

Can we ask some intelligent questions, or offer solutions please?
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41791182
Technically, you need to add the colon after LPT1 in your net use lpt1: \\servername\printername /persistent=yes
But, if you go to the device manager and an entry for LPT1 exists, you need to right-click and disable it.  The PC thinks there is a physical LPT1 inn the box and it is conflicting with your redirect.
0
 

Author Comment

by:Kenosti
ID: 41791189
There is no physical LPT port in device manager.
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41791208
OK, what O/S version is running on the PC with the printer physically attached and does it work if you try it on that PC?
0
 

Author Comment

by:Kenosti
ID: 41791230
The printyer is a network printer and the print queue is on a Windows Server.  It is Friday night and I am not at work so specific versions will need to wait until Monday.
0
 

Author Comment

by:Kenosti
ID: 41791231
Again, the application was working and printing in Windows 7.  The issue started occuring after upgrading to Windows 10.  That is the only difference.  Everything else remained the same.
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41791257
OK, Monday it is, then; but, it ought to work in a CMD Window or DosBox run directly on the server with a few caveats.
1) The server name must be 8.3 friendly (it's MS-DOS, remember?) and cannot contain any spaces.
2) The share name needs to be the same, too.
If its working, you ought to be able to do:
DIR > LPT1: and
ECHO ^L > LPT1: (CTRL-L which is FormFeed)
and the printer should spit out a directory listing.
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41791258
Your win 7 is 64 bit?

Your win 10 is 64 bit?
0
 

Author Comment

by:Kenosti
ID: 41791265
Yes, both were 64 Bit.  Windows 7 Pro.  Widnows 10 Pro.  C'mon people.  Work with me.
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41791277
Kenosti,
I am trying to work with you.
0
 

Author Comment

by:Kenosti
ID: 41791279
I was referring more to the poeple asking questions that shouldn't need to be asked.
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41791297
If your question has not stated the info, I will ask.

I need to know the printer brand and model too.
0
 

Author Comment

by:Kenosti
ID: 41791328
The only thing you need to know is that it was working in Windows 7, and doesn't work in Windows 10.  Printer model doesn't matter.
The printer is a shared network printer so the local LPT port is mapped to the network printer.
0
 

Author Comment

by:Kenosti
ID: 41791338
I'm nopt answerign any more questions until I ma back at work Monday Morning.  So you will just have to wait.
0
 

Author Comment

by:Kenosti
ID: 41793800
Sorry, been a busy day (short staffed).
Server is Windows Server 2008 R2 Standard with Service Pack 1.
Nothing changed with the server between when printing was working and stopped working.

Printer is a Konica Minolta C224e.  Nothing has changed with the printer since printing was workign and stopped working.

The PC was running Windows 7 Professional (latest version).  Printing was working.
The PC was upgraded to Windows 10 Professional.  printing stopped working.
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41793973
Does what I posted work when you do it on the server?  Just try it in a CMD window.
0
 

Author Comment

by:Kenosti
ID: 41795320
I am not on site.  I would need to contact an on-site resource to see if the command shave worked and the printer has output something.  However, considering all other applications work and can print, and the DOSBox application was working under Windows 7, I don't think this is a relevant test.

The issue is with Windows 10.  Something in Windows 10 is stopping the printing from working.  The local computer is the only thing that has changed, from Windows 7 to Windows 10.
0
 

Author Comment

by:Kenosti
ID: 41795331
There is nothing attached to the server on LPT1:  So your test would result in nothign being printed as no printer is attached to LPT1:.

Again, the printer is a network printer, not physically attached.

It seems to me like people are focussing on the wrong thing so let's get back on track, As I said above:

Nothing has changed on the server or the printer.  Everything there is exactly the same as it was before.

The issue is the computer was upgraded from Windows 7 Pro to Windows 10 Pro.  The DosBox app was working in Windows 7.  Now it is not working under Windows 10.

The printer mapping to the local LPT1: port on the local computer was still set under Windows 10.  however, the application gives the error listed above when trying to print:

"Error -32764: I/O Port Error hex04 (device not online)".

Other applications on the same computer can print to the printer.  

Have tried turning Windows Firewall off - same issue.
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41795406
net use lpt1 \\servername\printername /persistent=yes

Do you run the above command in elevated command prompt?
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41795407
"Error -32764: I/O Port Error hex04 (device not online)".
 
means that the net use command is not working -> no LPT1 -> device not online
0
 

Author Comment

by:Kenosti
ID: 41795408
it did't require admin/elevated rights in Windows 7.  Will give it a try when i can get access to the computer again.
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41795410
net use lpt1 \\servername\printername /persistent=yes

need to supply username password at the end of the above command.

http://www.windows10forums.com/threads/net-use.4928/
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41795411
Your DOSBox should be run using elevated command prompt.

http://www.tenforums.com/network-sharing/23918-net-use-not-working-properly.html

From the above link, it says:-

"If you run it from an Administrator command prompt you'll not see it in explorer as explorer doesn't run elevated.

Run it in a normal command prompt and you should see it OK (but elevated apps will not see it)"

So, your DOSBox app will NOT see LPT1 if you do not run net use command in elevated command prompt.
0
 
LVL 70

Expert Comment

by:Qlemo
ID: 41795794
Elevation and UAC are definitely enforced on W10, and it makes a difference. More, each major update of W10 makes it more difficult to not use UAC.
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41795865
Kenosti,
You keep saying that testing is irrelevant or unnecessary which, I think, is slowing this down and making it more difficult to solve; but, heck, I've only been doing this since 1976 and MS-Dos since it came out so......
BTW, the only time I needed DosBox was for graphics and sound in games.  The bulk of the time, a CMD window works fine.  Have you tried it? (just using CMD instead of DosBox, that is)
I can; though, see the need in 10 for the Net Use commands requiring local admin privileges.
So here is a repeat of my comments:

Technically, you need to add the colon after LPT1 in your net use lpt1: \\servername\printername /persistent=yes  The colon identifies it as a device and it sometimes hasn't worked without it.
It ought to work in a CMD Window or DosBox run directly on the server with a few caveats.
 1) The server name must be 8.3 friendly (it's MS-DOS, remember?) and cannot contain any spaces.
 2) The share name needs to be the same, too.
If its working, you ought to be able to do:
DIR > LPT1: and
ECHO ^L > LPT1: (CTRL-L which is FormFeed)
and the printer should spit out a directory listing.
0
 

Author Comment

by:Kenosti
ID: 41797082
Davis, please don't be condescending.  I've also been working with computers since MSDOS days, so don't pull that with me.

DOSBox is used because that's what the application runs in.  Not Command Line.
0
 

Author Comment

by:Kenosti
ID: 41797083
And yes, I know the importance of testing, but you were talking about running the test from the server, where the server has nothing to do with the issue.  therefore, your test would be invalid.  re-read your notes above.
0
 
LVL 47

Expert Comment

by:Jackie Man
ID: 41797158
Any luck with elevated command prompt?
0
 

Author Comment

by:Kenosti
ID: 41797370
If I try and set the LPT1: port via net use on a elevated command prompt I get:

"A specified logon session does not exist. It may already have been terminated."

I even tried setting the DOSBox app to run in Windows 7 Compatibility mode - no luck either.

I'm just wondering why Command Line is being equated with MS DOS.  The Command Line is not MS DOS, and it does understand long filename paths,
0
 
LVL 70

Expert Comment

by:Qlemo
ID: 41797389
Since you wonder: The misuse of MS DOS and Command Prompt synonymously originates from pre-NT times (W9x), where they were the same. I'm still inclined to say DOS Prompt, as many others, though it's not correct ... A habit hard to wipe out.
0
 
LVL 43

Expert Comment

by:Davis McCarn
ID: 41797607
Then it is working from other PC's on the LAN?
If it is, then we can eliminate the possibility that an update changed the server.
0
 

Author Comment

by:Kenosti
ID: 41798948
The DosBox App is only installed on the one computer.  Not ont he server.  The DosBox App is NOT ON THE SERVER.

And the directory listing did not print from that computer.

All the server does is sharing the printer and the print queue for the printer.  Nothing has changed on the server.  Same OS Server and version. Same server.  Same Printer. Same Print Queue.

The computer that has the DOSBox app running was upgraded from Windows 7, where it was working, to Windows 10, where now it doesn't work.  That's the ONLY change.

I'm not sure why this is so hard for you to understand Davis.  I'm not sure how much clearer I can make it for you.

Perhaps like this?

Windows 7 -> working.  Windows 10 -> Not working.
0
 

Author Comment

by:Kenosti
ID: 41799142
Hmm, this looks promising: https://www.vdos.info/index.html
0
 

Accepted Solution

by:
Kenosti earned 0 total points
ID: 41799208
Well vDOS wasn't a help as the DOS app was embedded inside DOSBox so...

But I did find a solution, and as I have been saying all along it had nothing to do witht he printer or the server but the local workstation.

On a hunch I had a closer look at the executable being used for the application.  It was running from DOSBox 0.74.  There was also DOSBox 0.73 and MegabUild version of DosBox installed, all running the same app.

So, on a hunch I researched the MB version and discovered vanilla DOSBox doesn't really do printing very well, if at all, but the MB version was developed to allow printing.

And then I remembered this is the version that they were suppose to be using.  Somehow Windows 10 had removed the MegaBuild icon on the Desktop and replaced it with the 0.74 version.

I created a shortcut from the MegaBuild version to the Desktop, deleted the 0.74 version, and, surprise surprise, printing is now working again.

As I have said all along, the issue was workstation and Windows 10 related, not server or printer related.
0
 

Author Closing Comment

by:Kenosti
ID: 41804478
No one else was helpful, they were focussing on the wrong things, and I found the solution myself as posted.

Also, one of the contributors was condescending.
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows 10 Creator Update has just been released and I have it working very well on my laptop. Read below for issues, fixes and ideas.
This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
This Micro Tutorial will give you a basic overview of Windows DVD Burner through its features and interface. This will be demonstrated using Windows 7 operating system.
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…

632 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question