WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Error Codes

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Windows 95 Error upon Exit from Logon Script

Keywords:  performed an illegal command	 

Question:

I converted our WFW logon script to one that will run on Win95. The compiled WBT executes as designed, however, upon termination, Win95 reports that the program has performed an illegal command. When viewing the details, it looks like either the network extender or radmin32 gets an exception.

This executable resides in the NETLOGON share along with the requisite DLLs (www95...,wb..., radmin.., rlocal...). I feel that the error occurs when the netlogon share, Z: is released upon completion of the logon script processing and something doesn't get cleaned up properly. I can attach to NETLOGON after the fact and execute the WIL program with no problems.

Any suggestions about placement of the DLLs, or should they be ok in the NETLOGON share along with the compiled WIL program?

Answer:

The illegal operation is from the \netlogon share being pulled out from under your script. Here's my .BAT file for nt & 95 logons:
@echo off
@if "%OS%"=="Windows_NT" set NTLOGSW=/HIGH
@path=%PATH%;%0\..\SUPDLL
@start /w /max %NTLOGSW% %0\..\tstlogon.exe
The START /w eliminates the illegal operation, so long as you are only doing RunWaits (not waiting for a WinBatch program to finish will cause the problem again).

One way to eliminate these illegal operations is to explicitly connect \netlogon to LASTDRIVE-1 and do any runs from that drive. The drawback is that the drive is connected through the whole session.

The %NTLOGSW% helps a little bit with execution time on NT.
The SUPDLL in the path lets you take the .DLLs out of the \netlogon subdir, and then you can put them locally (you'll want a refresh routine in your script though). The idea is that \supdll protects you from missing DLLs letting you get WinBatch up (so you can replace them).

Regarding LMSCRIPT.$$$: a 0 length file with this name finishes the logon script. But leave a calling card so the LMSCRIPT closes on its own:

FLAG=Strcat(WINDIR,"\lmscript.$$$")
BLOWOFF=FileOpen("%FLAG%","WRITE")
FileClose(BLOWOFF)
I think the strange WFW behaviour might be related to the netlogon share persistency. If WFW doesn't think that the logon script has finished, then you'll have problems. (I had trouble with 95 and NT initially as I was just blowing the logon script window away.)
Article ID:   W12982
Filename:   Win95 Error upon Exit from Logon Script.txt
File Created: 2001:01:02:12:22:56
Last Updated: 2001:01:02:12:22:56