SMS: Service Pack Upgrades Not Automatic for RAS Clients (185344)



The information in this article applies to:

  • Microsoft Systems Management Server 1.2

This article was previously published under Q185344

SYMPTOMS

Windows 95 clients that dial in to the network by means of RAS will not upgrade to a later Systems Management Server service pack or receive other Systems Management Server file updates.

CAUSE

When a user logs on through RAS, Smsrun16.exe does not connect to a logon server during the logon process. This is because SMSRUN16 typically runs from the load line of the client's Win.ini file, which starts well before a RAS session is established.

When the client uses RAS to dial in and calls the Runsms.bat or Smsls.bat batch files from its logon script, RUNSMS and SMSLS alter the Sms.ini file to put the client in "Upgrade Mode." However, by the time this occurs, SMSRUN16 has finished processing. Therefore, the client will not connect to a logon server to perform the upgrade.

WORKAROUND

To work around this problem, call Smsrun16.exe in the client's logon script after the logon process is complete. This restarts Smsrun16.exe, which will then parse the Sms.ini, see the UPGRADE flag, and perform the upgrade.

MORE INFORMATION

SMSRUN16 functions in this way to prevent large Systems Management Server client file transfers through the RAS session.

Page 95 of the Systems Management Server BackOffice Resource Guide provides further information on the functionality of SMSRUN16.

If the need exists to upgrade a client that will never log on locally (as opposed to RAS), a convenient workaround is to modify the logon script to perform a check for a RAS connection, and, based upon the check, call SMSRUN16 a second time to perform the upgrade.

For example, you can check for the existence of a dummy file, or use CHECKRAS from the Back Office Resource Kit. For more information on this method, see the following article in the Microsoft Knowledge Base:

185346 SMS: Logon Script Takes a Long Time over RAS or Slow Connection

Example Logon Script Addition 1

call %0\..\smsls.bat
if exist %windir%\ras.txt goto RAS
goto END
:RAS
c:\ms\sms\bin\smsrun16
:END
				

Example Logon Script Addition 2

echo Checking for existence of Checkras.exe
if exist %windir%\checkras.exe goto yes
copy \\server\netlogon\checkras.exe %windir%
:yes
%windir%\checkras
if errorlevel 1 goto RAS
goto end
:RAS
c:\ms\sms\bin\smsrun16
:END
				
The modification to the script should only be temporary; in other words, only when the RAS clients need to be updated with a service pack, or specific 'fix' from the logon server.

Modification Type:MinorLast Reviewed:6/14/2005
Keywords:kbConfig kbprb kbsetup kbsmsUtil KB185344