Point of Sale (POS) program will not print  XP and windows 7

kargen27
kargen27 used Ask the Experts™
on
A client is replacing an old DOS machine and 98 machine with one XP and one Win7.  He has a DOS POS program that needs to run on both with the data kept on one.  I figured out how to make that happen but can't get the POS program to print.  I have had the program printing on an XP machine that was temporary, but now can't get the program to print on either computer.  Obviously I am forgetting something somewhere.  
The printers are both (one hooked to each machine) Okidata 9pin printers.  They will both print a test page and I can print from a DOS prompt on both computers.  The program tells me the printer is offline when I try to print from the POS program.

Any ideas on how to make the thing print again?  I know it worked once on a XP machine.  I can tranfer out harddrives on the Win7 machine so it is also XP if I need, but would prefer that I get the POS program to print using Win7.  
And even if I switch out I still have the problem of I am forgetting something so that I can't get the XP machines to print now either.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Make sure that the POS program is setup to print to the proper port.  I've had this issue in the past when my software was printing to LPT1 and the printer was recognized as LPT2.
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018

Commented:
You may have to find some old Capture programs such as the following:

http://www.dsbglobal.com/dosprinter/CaptureLpt1.htm

Does your DOS program have a Capture (capture LPT1) ability in it printing section?

This only goes as far as XP and it is a long (long, long) way back that I did this.

It is not likely to work in Windows 7 32-bit and simply will not work in Windows 7 64-bit.

.... Thinkpads_User

Author

Commented:
The program is set to use LPT1 and the printer is connected to that port.  When ordering the computer I had to make sure it had a parellel port specifically for this.  I have also tried using a printer attached by USB port and using the net use command to make the computer think it was on LPT1.
I knew the windows 7 was going to be a longshot so I will just dual boot that computer so they can use XP when using the POS program if I have to.  Not a perfect solution, but he understands that it just might not work with Win7.
With XP I made one other machine work, but can't remember what I did and kept lousy notes.  I've looked for batch files and all that fun stuff and as far as I can tell the two XP machines are set the same, but one will not print.  Program is same for both computers so it has me puzzled.

The machine that does print has NetBEUI and other stuff installed because it was connected to a DOS machine.  Any chance that might be the difference?  Just thought of that and can't look to see if that matters until tomorrow.
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018
Commented:
Did you try mapping the printer with the NET USE command (I don't know how far you got in the prior post).

NewViews is a DOS financial system. It ran natively on an XP machine at a client. The print section of NewViews "captured" LPT1.  From there, the NET USE command worked.

NET USE LPT1 \\servername\printername

With those two things, NewViews could print.

..... Thinkpads_User
Gerwin Jansen, EE MVETopic Advisor
Most Valuable Expert 2016

Commented:
Hi, don't know if you tried XP mode already (XP mode can't access LPT ports), but here is a setting that should enable the LPT port. Other option is to use VMWare (player).
Commented:
This is how I've used the NET USE LPT1: approach with 100% reliability. I posted this solution in a help group for HP users a few years ago, and have been using it ever since.

I've added more details so  you can follow what is going on. It works on Vista, Windows 7, and I'll test it in Windows 8, but I'm sure it will work fine.

On some computer on your network (or the one that will be doing the DOS printing) get the NAME of the computer: System Properties, Computer Name Tab, Full Computer Name (not the description).  It's helpful to have a short name with no spaces in it, but you can change the computer name on this tabbed page of System Properties.

Then in "Printers and Faxes" be sure you have the printer that will handle the DOS output on your printer list.

Next, Right Click the printer, and select SHARING
Give the printer a short name for sharing

Now you can create a BAT file to run on startup, or whenever you want to assign LPT1: to this printer with the following NET USE command:



But using NET USE LPT1:  directly to a network printer may first require that
the printer is setup on a computer, and that computer then SHARES the printer with a share name.

The shared printer can be on the local computer, and while it seems odd to have a network share on a local computer to be used by the local computer, this works. But it also works for other computers on your network that want to print to your shared DOS printer.

I'm doing this in a virtual machine, so not much in it.

I'm sharing a SAMSUNG networked printer that shows up in the Printers & Settings list.
using this Share name: "SAMSUNG1"

THe computer name is "xp-test-sp3"

Now I'm going to run the CMD prompt
--------------------------------------------------------------------------
C:\Documents and Settings\Jeff>

(Now I type in the NET USE LPT1: knowing that so far it should fail)

C:\Documents and Settings\Jeff>net use lpt1:
System error 67 has occurred.

The network name cannot be found.


(Now do the actual assignment of lpt1: to my computer name and shared printer name)

C:\Documents and Settings\Jeff>net use lpt1: \\xp-test-sp3\SAMSUNG1
The command completed successfully.

(now check what shows up with NET USE LPT1: )

C:\Documents and Settings\Jeff>net use lpt1:
Local name        LPT1
Remote name       \\xp-test-sp3\SAMSUNG1
Resource type     Print
Status            OK
# Opens           0
# Connections     1
The command completed successfully.

(Now try printing something as follows)

C:\Documents and Settings\Jeff>

C:\Documents and Settings\Jeff>dir/w > lpt1:

(you don't need to disconnect LPT1: from the printer resource but if you want to test it, try this)

C:\Documents and Settings\Jeff>net use lpt1: /d
lpt1 was deleted successfully.

(then check the assignment)

C:\Documents and Settings\Jeff>net use lpt1:
System error 67 has occurred.

The network name cannot be found.

(successfully removed from LPT1 assignment)

C:\Documents and Settings\Jeff>

----------------------------------------------------------------------------

Create a .BAT file with the NET USE LPT1: command in it after you've verified it works, and run the BAT file every time you reboot by putting a shortcut to the BAT file in the STARTUP folder.

Report back on your success (or failure)

Jeff

Commented:
kargen27 -- Any suggestions worthwhile?  Next, maybe you can assign points?

Thanks

Jeff

Author

Commented:
I have tried the Net use commands but am going to give that another try as I might have got it wrong.

I did find something interesting on the XP machine.  When I move the POS.EXE file and a couple of other files I can print invoices after I create a few.  If I put the DBF files in the folder and try to use that database to print an invoice it will not print.  Same data base will print on another XP machine I set up a couple of months.  Set up looks the same on both machines but obviously there is a difference in there somewhere.  

 The NET USE command did what is was suppose to on the windows 7 machine and set the printer to the LPT1 port but the problem now seems to be somewhere else.  I'm going to have time to play with both machines again tonight so I'll go through all the suggestions again and see where I need to go from there.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial