More Software‎ > ‎

IsolateUserStartups

www.foolishit.com is the new website.

Visit it now!  This site will be going away completely, soon...

Current Version:  0.1.1

IsolateUserStartups is a tiny program intended for YOU schedule to run at a user account logoff.  When run, it copies any new startup program entries in common areas (affecting all user accounts) to the local user account's own startup area. 

Currently, the program monitors items on the %allusersprofile%\Desktop, the %allusersprofile\Start Menu\Programs\Startup folder and the HKLM\Software\Microsoft\Windows\CurrentVersion\Run and ...\RunOnce registry keys. 

Also, each time a startup entry is moved from a common startup area to the current user's startup area an entry is written to the Windows Event Log to notify you or an administrator of the change. 

A minimalist "whitelist" type functionality is added into the program for a master user, where anything the master user adds to a common startup will STAY in common startup and won't be moved out when another user logs off.  This is useful because you want to install Windows Updates, new Anti-Virus software, and other things that affect the entire system, on this master user account. Using a master user account in this way, a critical Run or RunOnce added value will run on restart no matter what user logs in.  Additional registry entries or tools like Microsoft SteadyState can be used to restrict things like Windows Updates from being installed from other user accounts in order to compliment this behavior, but this isn't necessary. 

CURRENTLY THERE IS NO GUI.  There really isn't a need for one, but some day I will sit down and add one in with a few other features I have in mind. 

purpose:

The need exists because many programs install "startup" programs that start when your computer does, or when your users login, INSTEAD of only when the current user logs in.  This is bad form. 

This program ensures other user accounts on your computer don't get bogged down with startup entries from programs that one user chooses to install. 

It also works the same magic on the Desktop folder, making sure a user-installed program doesn’t dump some shortcuts on the All Users\Desktop for you to scoff at. 

For example, you and any other computer users in your household use different user accounts.  You think this keeps things seperate, but not really.  So one day the kid installs a game that places a "common" startup entry which  constantly nags for online updates; you don't want that pestering you, it should pester only your kid!  

OR, say your wife (like mine) is into Facebook IM, AIM Chat, iTunes, or whatever, and she installs these apps, all placing common startup entries, and when YOU login you have to wait for all that crap to load, slowing your login experience, just to close all that junk as soon as you can. 

Well NO MORE. 

I wrote this app today for a client with kids who play lots of games among other things.  Rather than go through the complications of getting certain games to work on limited user accounts, or new games to install without administrator credentials, the client will leave the kids with their own administrator account.  Still, this creates a hassle for my client who will be pestered with the game related and other startup apps.  Yeah, we created the kids a seperate user account, but that doesn't get rid of all the startup junk these programs place in common startup areas.  This program was the solution. 

FYI, no, it won't work with any half-way decent ad/spy/malware infestation.  Most *ware will use startup locations other than those monitored, among other sneaky tricks. 

revision history:

0.1.1 - Extended functionality to cover the All Users Desktop folder to cover new shortcuts in the same way it works with startup entries. 

0.1 - Birth!

system requirements:

IsolateUserStartups is designed for WINDOWS XP and 2003, any version. It may or may not work on other NT based OSes such as Vista or 7, currently untested -- it would be a matter of them allowing the program to add and remove registry entries in HKLM...

For Windows XP, the Professional edition is required to use Group Policy Editor (gpedit.msc) to run programs at user logoff.  This functionality is available in XP Home edition, however you must edit the registry directly, or use a 3rd party application, if one exists.  I have included some sample registry files for XP Home that you *could* merge, see below...

instructions::

INSTALLATION:

DO NOT INSTALL THIS PROGRAM IF YOU AREN'T COMFORTABLE WITH THESE STEPS. 

WARNING:  DO NOT USE THIS PROGRAM IF YOU FEAR ACCIDENTAL LOSS OF YOUR STARTUP REGISTRY ENTRIES OR SHORTCUTS.  It's not the end of the world, and it shouldn't ever happen (I have error checking code in place before any move/delete of a setting) but don't drag me into it if you experience a bad result. 

  1. Before starting, be sure that you are logged into the account you wish to run in whitelist mode.  Whitelist mode is used for the one user or users you want common startup entries to REMAIN common.  This creates a whitelist so that different user account logoffs do not inadvertantly remove common startup entries that they didn't put there.   
  2. Download and run the setup file, it will then prompt you to open the application folder.  You will need to open this to get to the .reg files for XP Home, but it isn't necessary for any other OS.  

 

  1. For XP Pro, fire up Group Policy Editor (START > RUN > gpedit.msc) and navigate to USER CONFIGURATION > WINDOWS SETTINGS > SCRIPTS (LOGON/LOGOFF) then open the LOGOFF value in the right pane. 
  2. Click ADD, then BROWSE to where you extracted the download and select IsolateUserStartups.exe
     
  3. To run in whitelist mode, specify the parameter "/whitelist" without the quotes.  You will want the first user, YOUR user account, to have the /whitelist parameter.  You want other users to NOT have this parameter.  Otherwise, leave this blank. 
  4. Click OK.  Close Group Policy Editor. 
  5. Log on to subsequent user accounts and do the same thing for each user.  From here on out you will want to leave off the /whitelist parameter.  Leaving this blank for other users ensures that common entries (except the whitelisted ones from your account) are always copied to the current user startup area at logoff. 

 

  1. For a Server OS, you can use Group Policy in the same way as explained above, and also to push this out to workstations. 

 

  1. For XP Home, you will need to edit the registry or import one of the included registry files by double-clicking it.  Before importing the registry files, know two things.  If your program files directory isn't "C:\Program Files" then you MUST edit .reg the files to change the Script= line to reflect this, and be sure to leave in the double \\ backslashes.  Also note that without additional edits, this will overwrite any existing logoff script(s) you have configured (hah, you probably don't have one there already if I have to explain this to you.) 
  2. Double click the ...Whitelist reg file to import it into the registry for the first user.  The whitelist action should take place immediately upon logoff, however you could restart your computer, logon with the same user, and back off again just to be certain.  You can also verify this in the Application Event Log. 
  3. For subsequent users, logon to that user account and doubleclick the Subsequent_User reg file. 

 

USAGE INSTRUCTIONS:
1. Logoff.  That's it.  The program is executed automatically on logoff.  That's the point! 

You can find event log entries in the Windows Application Event Log (eventvwr.msc or compmgmt.msc) and note the source:  IsolateUserStartups and the Event ID:  10177. 


This software is licensed, however it is completely FREE for personal and commercial use under the terms of this license. A thank you email would be nice! You could even donate a few bucks via Paypal if you really wanted to.
  • ANY use of this application is FREE only if you acknowledge that this program is provided with no warranties or guarantees of any kind, and that you (not John N. Shaw, not  Foolish IT, LLC, not my web host, not your ISP, not your mother) and only you are held as the bearer of sole responsibility for any use or misuse of this software and any resulting damages in any form, monetary or otherwise. If you do not accept this policy but are still compelled to use the software, there is a small one-time licensing fee of 10 million dollars. 
  • There are no limitations, no trial versions, no included code for licensing/activation/etc., no ads, no nags, no 3rd party *ware of any sort included in this software or it's installer. This program is provided as-is, with no guarantees, no warranties, and no worries. 
  • Source code for this application remains the sole property of the author; this is at least until I can learn to code better and re-write it so that it isn’t not so embarrassing. I may open source it at some point after this. Don't count on it because I'm really lazy. 
  • Any use of this software requires that you accept the fact that I'm not responsible for anything you do with any software, including this app!

download:

 * By downloading any of the following software, you accept the license above. 

IsolateUserStartups

Comments