Microsoft KB Archive/140609

= TPSTART Enhanced to Support 16-bit Windows Applications =

Article ID: 140609

Article Last Modified on 5/22/2003

-

APPLIES TO


 * Microsoft SNA Server 2.0, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 2.1, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 2.11 Service Pack 1, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 2.11 Service Pack 2, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 4.0, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 3.0 Service Pack 2, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 3.0 Service Pack 3, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 3.0 Service Pack 4, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 4.0, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 4.0 Service Pack 1, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 4.0 Service Pack 2, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft SNA Server 4.0 Service Pack 3, when used with:
 * Microsoft Windows NT 4.0

-



This article was previously published under Q140609





SYMPTOMS
When you attempt to invoke a 16-bit Windows application with TPSTART.EXE, the invokable transaction program (TP) application program starter for SNA Server Windows NT clients, the following errors occur:  On Windows NT 3.5:

16-bit Windows subsystem

NTVDM encountered a system error. Access is denied

Choose close to terminate the app, or ignore to continue

After pressing Ignore, this popup occurs 10-12 times. After choosing Ignore each time, the application finally starts. However, subsequent attempts to autostart the application fail. On Windows NT 3.51:

TPSTART.EXE calls CreateProcess properly, but it receives an Error 5 (ACCESS_DENIED).





CAUSE
TPSTART.EXE does not support the startup of 16-bit Windows applications.

The TPSTART.EXE program is setting the DETACHED_PROCESS flag when calling CreateProcess, which causes the startup of 16-bit Windows applications to fail with ACCESS_DENIED. This problem does not occur when starting 32-bit Windows applications, even though the 32-bit application is not a detached process.

Also, if the TP is configured as queued (with SNAServiceType=5), SNA Server does not detect that the application has ended since the default Windows NT virtual DOS machine (VDM) is still running. This causes a second invocation of the TP to fail.



RESOLUTION
Microsoft has updated the file \SYSTEM\TPSTART.EXE to correct this problem.

To support autostarting of 16-bit Windows applications, the following new TP-specific registry settings are now supported under the subtree HKEY_LOCAL_MACHINE under the subkey:   /SYSTEM/CurrentControlSet/Services/SnaBase/Parameters/TPs/ / Parameters/ Add following information:

Value Name: Win16App

Data Type: REG_SZ

Data: YES

The following entry under the same subkey is also required to autostart 16- bit Windows applications:

Value Name: SeparateWowVDM

Data Type: REG_SZ

Data: YES

This causes TPSTART.EXE to start the 16-bit application in its own Windows NT VDM. This entry is required if TP is queued (where SNAServiceType=5). If the TP is configured as queued, and SeparateWowVDM is not set to YES, then the TP is only invoked once. Subsequent attempts to start the TP fail, because according to SNA Server the TP is still running, because SNA Server finds that the Windows NT VDM (NTVDM) process ID is still running. Starting a separate NTVDM corrects this problem because the NTVDM process ends when the 16-bit Windows application ends.



STATUS
This feature is included in the latest U.S. Service Pack for SNA Server for Windows NT, version 2.11. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

S E R V P A C K

Additional query words: prodsna appc cpic

Keywords: kbnetwork KB140609

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.