Archive for January 2010

The Sorry State of Updates

Automatic updates suck. While it is important to keep your OS and installed software up to date, everyone wants to do it ‘their way’, which usually ends up being annoying, pointless, and time consuming. I’ll start off with a couple pet peeves of mine, and then list some examples of how they could be better handled.

First on the list – Adobe. Reader updates are annoying enough, but at least they install rather quickly. Creative Suite updates however, are a different beast. Oh look, there’s an Illustrator update. Close out of Outlook and Firefox before installing it.  Wait, what? Close Outlook and Firefox for Illustrator?

Fine, so I close out of the 2 most used programs on my system to allow the update to complete. Thankfully, Adobe provides a progress meter. But not just any progress meter, it’s a useless one. It will keep going up to about 60% and then restarting, for about 30 minutes, before it just disappears and says it is done.

Recommendation for Adobe: Make the progress meter actually display progress, and possibly an ETA for completion.

Next up – Java. Sun has made some improvement here. Java updates will now remove the previous version, so you won’t have (as many) Java folders in Program Files.

However, Java loves to stick around in other ways. Take a moment to check Task Manager for jusched.exe. That’s your Java updater running.

When there is a Java update, you get a popup that a ‘New version is available’, with buttons for ‘Download Now’ or ‘Download Later’. If you click Now, it disappears, downloads the update in the background, and then pops up again – ‘New version is ready to be installed’. During the update install process, you have to opt out of the Bing (or whatever other company) toolbar they’re pushing this time around.

That updater does something else too – It rebuilds caches of frequently used Java objects every 30 seconds or so. Watch your disk IO with it running vs. having it closed. Good luck keeping it closed. If you disable the Java Update service, it will be reenabled the next time you install an update.

Recommendation for Sun/Java: Don’t have an updater running in the background as a service (or at all), and don’t turn it back on if I disable it. When I go to a website that uses Java, do an update check, and offer the update on the first load for that day.

How could some of these issues be avoided? Microsoft already provides a way for 3rd parties to provide updates through their Windows Server Update Services product. 3rd party vendors could tie their updates into the WSUS API to push out updates, transparently and controlled via group policy.

Aliasing a Windows File Server

You’ve consolidated 2 servers down to 1 after hours. Great. Then you recreate all the file shares on the new server, and test mapping them using the new name. They work great.

Then in a sudden flash of brilliance, you update DNS and WINS to point the old server name at the new server, so that any scripts that still reference the old name won’t break. And that’s when you start getting this error on your clients:

System error 52 has occurred.
A duplicate name exists on the network.

Duplicate name? On the clients? Whats going on? You might check the server, and be surprised to not see any ‘Duplicate name exists’ errors anywhere. The error actually makes some sense when you think about it:

Client sends SMB request to OldServer > OldServer is an alias for NewServer > NewServer sends reply to request > Client receives reply from NewServer and not OldServer, and assumes that a 2nd machine is responding to the request, and throws the duplicate name error.

To fix this, Microsoft KB281308 tells us to add a new registry key on the server side,  HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters, called DisableStrictNameChecking.  Set it to be DWORD:1, then restart the server.