Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

You cannot use the "runas" command to print from different user accounts in a single session from a 32-bit program on a computer that is running 64-bit version of Windows Server 2008 or Windows Vista


View products that this article applies to.

Symptoms

On a computer that is running a 64-bit version of Windows, you cannot use the runas command to print from a 32-bit program from different user accounts in a single session.

↑ Back to the top


Cause

This behavior occurs because the system uses the Splwow64.exe process to translate between 32-bit programs and the driver model of the 64-bit operating system. After a print job is finished in a user account, the Splwow64.exe process stays in memory for a period of time to increase system performance. However, the Splwow64 process does not end as expected. Therefore, when you use the runas command to start a 32-bit program, you cannot print from different user accounts.

↑ Back to the top


Resolution

For Windows Server 2003, 64-bit, all versions

No hotfix is available for this issue.

For more information about similar issue on Windows Server 2003, click the following article number to view the article in the Microsoft Knowledge Base:
923357 You cannot use the RUNAS command to print from a 32-bit program in different user accounts in a single session on a computer that is running a 64-bit version of Microsoft Windows

For Windows Server 2008 and Windows Vista 64-bit versions

A hotfix is available to resolve this issue. This hotfix sets the default time-out value for the period in which the Splwow64.exe process remains in memory. This default value is two minutes. Therefore, the Splwow64.exe process shuts down two minutes after the last print job in one user account closes. Additionally, you can configure this time-out value by changing the registry value in the "Registry Information" section below.

For Windows Server 2008 R2 and Windows 7 64-bit versions

When you print from multiple 32-bit applications that run in different user accounts within one session, multiple Splwow64.exe instances run under each user account for that application. This means that an instance of Splwow64.exe works independently and does not interfere with other running instances. This overcomes the limitation of a only one user being able to print from a single session.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.


Important Windows Vista and Windows Server 2008 hotfixes are included in the same packages. However, only one of these products may be listed on the �Hotfix Request� page. To request the hotfix package that applies to both Windows Vista and Windows Server 2008, just select the product that is listed on the page.

Prerequisites

To apply this hotfix, the computer must run one of the following operating systems:
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows Server 2008
  • Windows Vista Service Pack 2(SP2)
  • Windows Vista Service Pack 1(SP1)

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Registry information

To configure the time-out value, follow these steps.

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
  1. Click Start, then click Run.
  2. Type regedit , and then click OK.
  3. Locate and then right-click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print�
  4. Point to New, and then click DWORD Value.
  5. Type SplWOW64TimeOutSeconds�as the registry entry name, and then press Enter.�
  6. Double-click the SplWOW64TimeOutSeconds entry that you created in step 4.
  7. Enter a value in the Value data box, and then click OK.
Note�You must enter a value that is greater than 0 (zero) in the�Value data box. The value that you enter is the number of seconds that the system periodically waits while the system checks whether the Splwow64.exe process must be unloaded. The Splwow64.exe process is unloaded when the number of seconds that is specified in SplWOW64TimeOutSeconds elapses since the last 32-bit print process closed. Therefore, when a service process prints, the print capability is not released until the service closes and at least the time that you specify in the Value data box passes. For example, if you type 15 in the Value data box, and the last 32-bit process takes two minutes to print and close, the print capability is released between two minutes and 15 seconds and two minutes and 30 seconds. If no time-out value is specified, the default time-out value is two minutes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

For all supported x64-based versions of Windows Server 2008 and Windows Vista

File nameFile versionFile sizeDateTimePlatform
Splwow64.exe6.0.6001.2246439,93607-Jul-200916:27x64
Splwow64.exe6.0.6002.2216539,93607-Jul-200916:01x64

For all supported Itanium-based versions of Windows Server 2008

File nameFile versionFile sizeDateTimePlatform
Splwow64.exe6.0.6001.2246484,48007-Jul-200916:53IA-64
Splwow64.exe6.0.6002.2216584,48007-Jul-200916:00IA-64

↑ Back to the top


Workaround

To work around this problem, use one of the following methods.

Workaround 1

Do not use the�runas�command to print.�

Workaround 2

End the Splwow64.exe process before you use the runas command to print from a 32-bit program in different user accounts in a single session.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More information

On a computer that is running a 64-bit version of Microsoft Windows, only one user account may print from a 32-bit program in a single session. In a single session, the user account that prints first is the only user account in which a 32-bit process can print, until a time-out occurs or the session ends. If another user account in the same session tries to print before the session ends, the user account receives an "Invalid Handle" error message. Additionally, the print request is unsuccessful.

More than one process can run in different user accounts in the same session. Examples include the following:
  • Service processes that run in the same session. However, the user accounts that run the service processes are determined by the service settings.
  • Processes that are initiated by using the runas command.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

↑ Back to the top


Keywords: kbautohotfix, kbexpertiseadvanced, kbfix, kbsurveynew, kbqfe, kbhotfixserver, KB972616

↑ Back to the top

Article Info
Article ID : 972616
Revision : 11
Created on : 8/6/2012
Published on : 8/6/2012
Exists online : False
Views : 569