JohnB has asked for the wisdom of the Perl Monks concerning the following question:

The Problem

I have several Perl programs constantly running on Windows 98/ME/NT computers. These programs run tests on our products, gather test data and send the results to web a site on our local area network.

I have been investigating problems with the programs slowing down or crashing in the middle of the night and even a few minutes after the test starts. Often the computer locks up with an "Out of memory error" or the program CLISV95.EXE not reponding.

After doing some investigating I found out that the program CLISV95.EXE is part of some Microsoft Software called SMS (Software Management System). See this article on SMS and how to get rid of it. This software is automatically installed everytime we log onto the corporate network. My boss has talked to the IT department about getting rid of this software without results.

SMS Description

This is a description of what SMS is from the article.

SMS is a Microsoft product, Systems Management Server. SMS is mainly used by sysadmins for software and hardware inventory, product licensing and remote diagnostics. It's a client-server big brother, with a client on every PC sending back information about the machine to the SMS server. Amongst other things the sysadmin has the abilty to scan the entire hard drive and catalog every .EXE on your machine, as well as forcing you to take downloads he thinks is necessary for your PC to run correctly.

The SMS client software is typically installed on the client PC by a WinNT login script. The login script installs some base software, including a new control panel, to the client PC. The base software then runs in the background, and installs some more control panels and software, known as agents, to the PC. These agents are typically the hardware and software agents, which run periodically in the background and collect information about the PC before sending the information back to the SMS server.

The SMS client is supposed to be transparent - the user should not notice it is running, and it should not affect any other programs. I say "should" because that's not always the case. For most users (secretary's, financial, HR etc) it runs as designed, but for power-users, especially developers, it's a real PITA. Is this problem a bug in your code, a bug in you development environment, or is SMS generally screwing things up?

How to get rid of it

Before we rebel and create our own network in the Engineering department I would like to try disabling SMS. According to the article you can make some changes to the Registry to disable SMS or write protect the Autoexec.bat file in Windows 95/98 computers. The changes to registry work for a few days but SMS eventually comes back. A can write a quick Perl program to change the registry.

Any ideas?

Replies are listed 'Best First'.
(tye)Re: Big Brother Is Watching?
by tye (Sage) on Jan 12, 2001 at 02:30 UTC

    The Registry changes are probably being undone by 1) an automated process that is triggered when you use a domain login -or- 2) an IT process (perhaps manual) that periodically undoes such things to make sure SMS keeps running. So you could try just not logging in to that machine with domain accounts (make local accounts just on that machine for whatever you need).

    But the sure-fire fix is to remove Domain Admins and any domain users (or other domain groups) from the Admins group and make sure there aren't any other local groups that have been given special access rights. If you need Admin privilege on the machine, then create a separate non-domain account for that. Then the IT department won't have privilege to undo your Registry changes.

            - tye (but my friends call me "Tye")
Re: Big Brother Is Watching?
by jepri (Parson) on Jan 12, 2001 at 08:30 UTC
    Sheesh, get over yourself mate. SMS isn't evil big brother software, it's a damn convenient way for site administrators to keep all machines updated. Microsoft oftens releases poorly written code, but most of it has a real purpose. Contrary to the bad press they get, their goal is NOT to punish the user. That's just a feature. Almost all systems come with some way to remote upgrade, even Unix machines can be upgraded by logging in remotely.

    Second, you are overstating your case because CLIMONTV95 does not run on NT, and I doubt it runs on ME either. The program that runs on NT is called CLIMONNT. You are actually whinging about 95/98 crashing. If you insist on running lightweight desktop OSs then you're going to get the problems that come with them. Move to NT/2k.

    You also give the game away when you say "slowing down or crashing in the middle of the night and even a few minutes after the test starts". So the SMS programs run fine for everyone else in the company, they run fine when you aren't running your test programs but they crash soon after you start the test programs. Check your programs aren't running away and consuming all the system resources. Note that there are more scarce resources than memory/drivespace - if you instance lots of GDI objects you can run out of 'system resources' while you still have megs left.

    The correct way to deal with the problem is:
    1 find out who in the IT department runs the SMS system, check that they have configured SMS correctly, then explain you need it removed from your test machines. Asking your boss to do this is not likely to work, since he may not have all the details/be that interested (varies with your boss).
    2 kill CLIMON from the process list after bootup/logon - no process, no crash. This way you get the immediate updates that you may need, but the process won't get in your way.
    3 Stop reading conspiracy websites, they're bad for your mind.

    This post may seem a little rude, but you should have seen it before I edited it. People who describe themselves as power users are a menace. I've got one here at moment who rings me up saying things like "Do we have Bus-Mastering network cards on the server?"
    me:"Yes."
    him:"How do you know that?"
    me:"..."
    (I did a PNP dump when I installed them, but how do you explain that to someone who thinks PNP is a transistor type?).

    ____________________
    Jeremy
    'Tagline deleted to maintain decorum'

      I did a PNP dump when I installed them, but how do you explain that to someone who thinks PNP is a transistor type?

      Actually, your menacing power-user is correct: "PNP" is an abbreviation for the positive-negative-positive junctions of doped (impure) materials used when fabricating semiconductor wafers.

      My apologies for going OT, but I suppose this thread is already way out in the boonies.

        You're trolling me right? You can't really be that thick. If you are in context for engineering then yes, PNP refers to transistors (not wafers, which are composed of millions of PNP junctions).

        However, if I talk about network cards in servers then PNP refers to Plug and Play (or Pray), a protocol used to collect information about cards plugged into the ... ok, you successfully trolled me. Update: Comments withdrawn because they were stupid.

        As a boredom-cure, I went and found other things that PNP could stand for:
        Personal NewsPaper
        The Peoples National Party of Jamaica
        Pediatric Nurse Practitioners
        Polish National Parks
        Poisson-Nersnt-Planck Equation (for ions in bulk electrolyte)

        Somebody's going to get a real suprise when they search the monastery for PNP :D

        ____________________
        Jeremy
        I didn't believe in evil until I dated it.

Re: Big Brother Is Watching?
by lzcd (Pilgrim) on Jan 12, 2001 at 03:44 UTC
    The corporate LAN that I've been known to haunt is fairly typical of most that use the SMS delivery method.

    Windows 9x

    If your a windows 9x/Me user then your probably pretty close to being stuffed, as SMS (AFAIK) does most of it's evil through a domain logon script.
    If somebody knows how to kill this in the registry without taking out the rest of the profile stuff, you get my open mouthed awe.

    If you can't make the upgrade to NT and you've got a little free reign with the cabling, I'd investigate getting on old unused machine,setting up something like E-smith and running your own (sub)domain throught it.

    Windows NT

    This one is a little easier as you can just set yourself up for local logon instead of domain logon. This way you loose out on a little trust but don't need to deal with logon scripts.
    The only pain comes around if (or when) your corporate domain user password expires. Then you'll need brief access to a Win 9x box to login and change it. It's not perfect but my dept' has found it the better of two evils.

      Without SMS my Perl programs keep running for days until I stop the programs. With SMS there are problems with my Perl programs and other applications such as Outlook, Word and Access. Outlook would often lock up while writting an email and when I look in the task manger and find "CLISVC95.EXE or CLICORE not responding". Other people had had these same lockup problems on other applications.

      After logging on the corporate network I stop these programs from running. There is one Perl program that was started over a week ago and it is still running without problems on a computer without SMS. I am going to write a Perl program to delete these files.

      Here is a way to disable SMS on a Windows 95/98 which I tested on one computer. Check the first line of your Autoexec.bat file for SMS and delete this line. Rename your autoexec.bat to something else like auto.bat. Edit this file a put the word SET in front of your path and you may have to edit other statements in the file. Delete any file with autoexec in the name. There is a hidden file called autoexec.sms that also needs to be deleted. Create two directories called AUTOEXEC.BAT and AUTOEXEC.SMS. Reboot your computer and log in, there will be a couple of error messages but the login script kept loading. Run the file batch file you created. Program editors, Outlook, Word, and Excel on this 233 MHz Pentium II with 64 Meg Ram now runs much faster than the 550 MHz Pentium III computers with 256 Meg Ram.

      I am going to write a Perl program to kill SMS a few minutes after login to keep Jeremy and the other system administrators happy. This should allow time for SMS to to do it updates and then prevent it from crashing my programs as well as Outlook, Word and Exel.

Re: Big Brother Is Watching?
by swiftone (Curate) on Jan 12, 2001 at 02:19 UTC
    Wow, I guess you're asking how to write a script to edit the registry? Check out Win32::TieRegistry.