Solved

Windows 10 and Broken  Printing from DOSBox App

Posted on 2016-09-02
41
72 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
  • 21
  • 7
  • 7
  • +2
41 Comments
 
LVL 87

Expert Comment

by:rindi
Comment Utility
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
Comment Utility
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 87

Expert Comment

by:rindi
Comment Utility
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
 

Author Comment

by:Kenosti
Comment Utility
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 87

Expert Comment

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

Author Comment

by:Kenosti
Comment Utility
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 42

Expert Comment

by:Davis McCarn
Comment Utility
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
Comment Utility
There is no physical LPT port in device manager.
0
 
LVL 42

Expert Comment

by:Davis McCarn
Comment Utility
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
Comment Utility
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
Comment Utility
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 42

Expert Comment

by:Davis McCarn
Comment Utility
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 41

Expert Comment

by:Jackie Man
Comment Utility
Your win 7 is 64 bit?

Your win 10 is 64 bit?
0
 

Author Comment

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

Expert Comment

by:Davis McCarn
Comment Utility
Kenosti,
I am trying to work with you.
0
 

Author Comment

by:Kenosti
Comment Utility
I was referring more to the poeple asking questions that shouldn't need to be asked.
0
 
LVL 41

Expert Comment

by:Jackie Man
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 42

Expert Comment

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

Author Comment

by:Kenosti
Comment Utility
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
Comment Utility
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 41

Expert Comment

by:Jackie Man
Comment Utility
net use lpt1 \\servername\printername /persistent=yes

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

Expert Comment

by:Jackie Man
Comment Utility
"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
Comment Utility
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 41

Expert Comment

by:Jackie Man
Comment Utility
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 41

Expert Comment

by:Jackie Man
Comment Utility
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 68

Expert Comment

by:Qlemo
Comment Utility
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 42

Expert Comment

by:Davis McCarn
Comment Utility
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
Comment Utility
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
Comment Utility
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 41

Expert Comment

by:Jackie Man
Comment Utility
Any luck with elevated command prompt?
0
 

Author Comment

by:Kenosti
Comment Utility
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 68

Expert Comment

by:Qlemo
Comment Utility
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 42

Expert Comment

by:Davis McCarn
Comment Utility
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
Comment Utility
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
Comment Utility
Hmm, this looks promising: https://www.vdos.info/index.html
0
 

Accepted Solution

by:
Kenosti earned 0 total points
Comment Utility
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
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Storage devices are generally used to save the data or sometime transfer the data from one computer system to another system. However, sometimes user accidentally erased their important data from the Storage devices. Users have to know how data reco…
Recently Microsoft released a brand new function called CONCAT. It's supposed to replace its predecessor CONCATENATE. But how does it work? And what's new? In this article, we take a closer look at all of this - we even included an exercise file for…
Windows 8 comes with a dramatically different user interface known as Metro. Notably missing from the new interface is a Start button and Start Menu. Many users do not like it, much preferring the interface of earlier versions — Windows 7, Windows X…
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.

744 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now