My experiences as an IT professional - Anything that I write here is my personal opinion and should not be officially associated with any other entity

2 posts from August 2012

Monday, August 13, 2012

I like Slacker Radio and think it's the best streaming service that I have used, however, the service is not without problems. I currently have three issues with Slacker.

First, their Android app sucks on Gingerbread. It has multiple flaws, the biggest of which is that if you quickly skip a few songs it starts skipping songs like crazy for at least 30 seconds. It has apparently been fixed on new

er phones running Ice Cream Sandwich, but that doesn't help those of us on older phones very well.

Second, I'm a Premium subscriber and one feature of the Premium service is that all of my stations should be ad free, however, for some reason Slacker is injecting Slacker ads into my stations. You can imagine how annoying it is to pay for a service and have it not work as advertised.

Third, they have a music scoring system. You can click the heart to tell the system that you like a song and want to hear it more on a station or you can ban a song. Unfortunately, many times when I ban a song, it keeps popping up on the station as though it was not banned. What's the point of having a scoring system if it's not going to work?

I raised these issues to Slacker support and instead of getting useful answers, or a statement that the problems were being looked into, they treated me as if I was a noob user of the service and not a knowledgeable longtime customer and asked me to turn off the DJ feature of the stations, only problem with that is that I did not report a problem with a DJ erroneously talking on my station, I reported a problem with Slacker ads. The DJ service is off, by the way.

I don't like complaining about services that I like, but I like bad service even less. So here we are.

Friday, August 03, 2012

Specifically, the patch does a check of a system's keyboard layout registry keys and makes sure that each layout key has a resulting dll file. If no file is found, it adds the missing dll to a file named C:\Windows\faultykeyboard.log and stops the install until either the registry keys are removed, or the missing dll is readded to the file system.

In my case, I found that all of the systems having problems installing the patch were failing because kbdsf.dll and kbdcr.dll were missing from C:\Windows\System32. The offending registry objects are:

The two files, incidentally are for the "Luxembourgish" and Slovakian keyboard layouts.

Since we use neither layout here, the simple fix was to remove the registry keys before running the patch.

Because we use a patch management system and because that system is able to run VB scripts in order to do things like remove registry keys, it was a fairly simple matter of researching the VBScript code required to delete the keys.

I made a custom patch in the system that first checks to make sure that the offending registry objects are not in the registry, and if they are then proceeds to run the following VBScript to remove the keys:

Here's a quick rundown of what the script does... It sets up a constant &H80000002 as HKEY_LOCAL_MACHINE (go here to find out what constants apply to which registry hive)It then sets up a number of variables to be used later, including the registry keys and value to be deleted. It then deletes the registry objects one at a time using the previously defined variables to complete the function. Lastly we echo True and nice job! out so that the system running the script knows that the script completed successfully. Without that last bit, our patch management system would keep reporting that the custom patch failed.

We then set up a custom patch cloned from the patch management system's own definition for MS12-034 and add our registry fix as a dependency so that it runs before MS12-034 is installed.

And there you have it. The things we go through to fix Microsoft's messes, eh?