Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 848
  • Last Modified:

Windows 10 and Broken Printing from DOSBox App

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
Kenosti
Asked:
Kenosti
  • 21
  • 7
  • 7
  • +2
1 Solution
 
rindiCommented:
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
 
KenostiAuthor Commented:
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
 
rindiCommented:
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
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
KenostiAuthor Commented:
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
 
rindiCommented:
Have you made sure you are using the correct IP address and share name?
0
 
KenostiAuthor Commented:
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
 
Davis McCarnOwnerCommented:
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
 
KenostiAuthor Commented:
There is no physical LPT port in device manager.
0
 
Davis McCarnOwnerCommented:
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
 
KenostiAuthor Commented:
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
 
KenostiAuthor Commented:
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
 
Davis McCarnOwnerCommented:
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
 
Jackie ManCommented:
Your win 7 is 64 bit?

Your win 10 is 64 bit?
0
 
KenostiAuthor Commented:
Yes, both were 64 Bit.  Windows 7 Pro.  Widnows 10 Pro.  C'mon people.  Work with me.
0
 
Davis McCarnOwnerCommented:
Kenosti,
I am trying to work with you.
0
 
KenostiAuthor Commented:
I was referring more to the poeple asking questions that shouldn't need to be asked.
0
 
Jackie ManCommented:
If your question has not stated the info, I will ask.

I need to know the printer brand and model too.
0
 
KenostiAuthor Commented:
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
 
KenostiAuthor Commented:
I'm nopt answerign any more questions until I ma back at work Monday Morning.  So you will just have to wait.
0
 
KenostiAuthor Commented:
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
 
Davis McCarnOwnerCommented:
Does what I posted work when you do it on the server?  Just try it in a CMD window.
0
 
KenostiAuthor Commented:
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
 
KenostiAuthor Commented:
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
 
Jackie ManCommented:
net use lpt1 \\servername\printername /persistent=yes

Do you run the above command in elevated command prompt?
0
 
Jackie ManCommented:
"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
 
KenostiAuthor Commented:
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
 
Jackie ManCommented:
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
 
Jackie ManCommented:
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
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
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
 
Davis McCarnOwnerCommented:
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
 
KenostiAuthor Commented:
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
 
KenostiAuthor Commented:
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
 
Jackie ManCommented:
Any luck with elevated command prompt?
0
 
KenostiAuthor Commented:
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
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
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
 
Davis McCarnOwnerCommented:
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
 
KenostiAuthor Commented:
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
 
KenostiAuthor Commented:
Hmm, this looks promising: https://www.vdos.info/index.html
0
 
KenostiAuthor Commented:
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
 
KenostiAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 21
  • 7
  • 7
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now