Q152451: Applications Run from the Schedule Service Fail to Print
Article: Q152451
Product(s): Microsoft Windows NT
Version(s): 3.5,3.51
Operating System(s):
Keyword(s):
Last Modified: 20-FEB-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Windows NT Workstation versions 3.5, 3.51
- Microsoft Windows NT Server versions 3.5, 3.51
-------------------------------------------------------------------------------
SYMPTOMS
========
Applications run from the Windows NT Schedule service fail to print.
CAUSE
=====
Printing fails because no default print device is defined for the service
account. When an application sends a print request, Windows NT queries the
Windows NT registry for the default print device and the print driver.
Applications run from the Windows NT Schedule service should be running under
the context of the System account to work correctly; however, there is no
default print device defined for the System account (which is actually relying
on the default user information in the registry). Such an application,
therefore, is unable to print and usually issues an error, the text of which
varies from application to application.
RESOLUTION
==========
To ensure successful printing from a scheduled application, complete the
following procedure:
1. Open Control Panel, click the Services icon, and from the list of available
services, select the Schedule service. Then click the Startup button and
verify that this service is configured to log on as the System account and
that it is allowed to interact with the desktop.
NOTE: For a scheduled application to print correctly, and for these
instructions to produce successful results, you must use the System account
for the service (Log On As) account.
When you have verified the above settings, click the OK button, and from the
Services window click the Stop button (with the Schedule service selected),
if the Stop button is available. This ensures that the changes take effect
the next time you start the Schedule service.
2. In Print Manager, create a local printer--regardless of whether the printer
is actually a local printer or a remote network printer--by choosing Create
Printer from the Printer menu, using the printer driver appropriate for the
type of printer you are using. Configure the printer to print to LPT1, and
set it as the default printer.
3. Start and maximize Registry Editor (Regedt32.exe).
WARNING: Using Registry Editor incorrectly can cause serious, system- wide
problems that may require you to reinstall Windows NT to correct them.
Microsoft cannot guarantee that any problems resulting from the use of
Registry Editor can be solved. Use this tool at your own risk.
Minimize the windows titled "HKEY_LOCAL_MACHINE on Local Machine" and
"HKEY_CLASSES_ROOT on Local Machine" and position the remaining two windows,
titled "HKEY_CURRENT_USER on Local Machine" and "HKEY_USERS on Local
Machine," such that they are tiled vertically on the screen with each filling
about one half of the available window space in Registry Editor. This step is
provided for convenience in completing the remaining steps, in which you will
review and edit certain registry keys.
4. Select the key
HKEY_CURRENT_USER \Software\Microsoft\Windows NT\Current Version\Devices
and note the information for the value of the key that represents the default
printer created in step 2 above (for example, "LocalPrinter : REG_SZ :
winspool,LPT1:").
5. Select the key
HKEY_USERS \.DEFAULT\Software\Microsoft\Windows NT\Current Version\Devices
and choose Add Value from the Edit menu to create the same value you noted in
step 4 (using the above example, "LocalPrinter" is the value name, "REG_SZ"
is the data type, and "winspool,LPT1:" is the string).
6. Select the key
HKEY_CURRENT_USER \Software\Microsoft\Windows NT\Current Version\PrinterPorts
and note the information for the value of the key that represents the default
printer created in step 2 above (for example, "LocalPrinter : REG_SZ :
winspool,LPT1:,14,45").
7. Select the key
HKEY_USERS \.DEFAULT\Software\Microsoft\Windows NT\Current Version
\PrinterPorts
and choose Add Value from the Edit menu to create the same value you noted in
step 6 (in the example from step 6, "LocalPrinter" is the value name,
"REG_SZ" is the data type, and "winspool,LPT1:,14,45" is the string).
8. Select the key
HKEY_CURRENT_USER \Software\Microsoft\Windows NT\Current Version\Windows
and note the information for the device value of the key (for example,
"LocalPrinter,winspool,LPT1:").
9. Double-click the device value of the key
HKEY_USERS \.DEFAULT\Software\Microsoft\Windows NT\Current Version\Windows
and edit it to reflect the same information you noted in step 8 (in the
example from step 8, you would enter "LocalPrinter,winspool,LPT1:" for the
string).
10. Close Registry Editor.
11. Open Control Panel, click the Services icon, and from the list of available
services, select the Schedule service. Click the Start button to start the
Schedule service with the above settings changes in effect.
12. If the printer is actually a local printer, schedule the application to run
at the desired time, using the following command as a model:
at 10:00am /interactive c:\excel\excel.exe c:\excel\macro.xls
13. If the printer is a remote network printer, create a batch file to start the
application, using the following file, Example.bat, as a model:
EXAMPLE.BAT
-----------
@echo off
net use lpt1: /d
net use lpt1: \\<PrinterServer>\<PrinterShare> <password>
/user:<DomainName>\<AuthorizedUserName>
c:\excel\excel.exe c:\excel\macro.xls
net use LPT1: /d
NOTE: The third and fourth lines of the above batch file are actually only
one line, with just a space between "<password>" and "/user".
Schedule the application to run at the desired time, using the following
command as a model;
at 10:00am /interactive example.bat
Use of a batch file is necessary in this case because by default the System
account does not have network access to the printer share, so the batch file
establishes the connection to the network printer with the required
credentials (the user name and password of a user granted access to the
printer share).
Additional query words: prodnt 3.50 3.51 scheduler program process
======================================================================
Keywords :
Technology : kbWinNTsearch kbWinNTWsearch kbWinNT351search kbWinNT350search kbWinNTW350 kbWinNTW350search kbWinNTW351search kbWinNTW351 kbWinNTSsearch kbWinNTS351 kbWinNTS350 kbWinNTS351search kbWinNTS350search
Version : :3.5,3.51
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.