Earlier this week Microsoft released the XNA studio 3 to CTP, and it now includes support for Zune gaming.  I have been excited about the idea of gaming on the Zune since they announced the support, so I downloaded it and set it up on my Zune.  Here is what I found in my first day of messing with it:

Because the toolkit has only been out for a couple of days, there aren't too many games for the Zune yet, but they are coming out quickly.  Every day I find a couple of new ones.  Most of the games so far are simple, but as people have more time with the toolkit, I'm sure we'll see some cool stuff.  At this point, think Tetris, not Call Of Duty 4.  Most of the games are simple "dodge the falling object" type of games, and I have a Tetris port, a Bejeweled-like matching game, a clock application, a space invaders clone, that sort of thing.   A while back there were some XNA games showcased on the Xbox 360 Merketplace that were much more complex, and the Zune should be able to run most of those without too much modification to the code.

Installation and setup was pretty simple (see my previous post for some links to good walkthroughs and to game code http://myitforum.com/cs2/blogs/smchugh/archive/2008/05/08/xna-gaming-available-on-zune-now.aspx ) but I ran into a couple of minor issues.  Some are obvious, some not quite so much but maybe I can save someone a bit of time by not making the same mistakes I did.  I tried setting the whole thing up on a clean Windows XP VPC to start, and that caused me some minor bumps.  For starters you have to install the Zune software (and drivers) on the machine, as the XNA game studio uses them to communicate with the Zune (OK, duh...) and you will need to run the setup on a Vista machine or a machine with Office 2007 installed, because there is a truetype font used in the XNA games that comes with either Vista or Office 2007 that you need to have instaled to build the games.  You could also find the font (Segoe UI) and insttall just that, but I found it easier to just move my operation to a machine that already had it.  The install will also put .NET 3.5 and SQL Server Compact on your machine, so if that could cause conflict with anything else you already run be aware that it is part of the install.  You'll also need to shut down pretty much everything running on your system including the Vista sidebar to get through the install.

Once up and running I found getting the games built and deployed to the Zune to be simple.  Connect your Zune, shut down Zune software, Start VS C# Express, open the project file, build and deploy.  The Zune shows status of the XNA files being installed and indicates that it is connected to the XNA Game Studio.  The games were pretty easy to figure out how to play, and some even had support for the touchpad on my Zune 80.  I have installed games on a Zune 80 and 2 Zune 30's so far with no issues.  Some games are better on the 30 without touch, some are better on the 80 with the touch circle, but so far I haven't had problems running any of the games on either type of Zune.

Every time you exit a game, the Zune will completely reboot.  I assume that is to take a safe approach to completely clearing all of the game files out of memory, so the games do not step on each other or the Zune media player functions.  I'm sure they will have a more elegant solution on release, but I'm OK with the resets for now.  It's all part of the Beta experience ;-)

I haven't blown up any Zunes by doing this and so far the games are fun little diversions.  If you have some time to spend messing with this and understand what you are getting into, I would recommend it.

Following close on the heels of the Zune 2.5 software/firmware update, Microsoft has released the XNA 3.0 Game studio with Zune support support!

It is still a Community Technical Preview (read: beta) but if you're brave, you can get games on your Zune now!  If you program, you can also start creating Zune games.

Download here:


There are already a couple of games out there (for orignal Zunes and V2 Zunes) and there are some excellent step by step guides to installing and compiling them for use at the following links:


I expect there will be a lot of games showing up pretty quickly and I am looking forward to getting mine set up for gaming tonight.

Disclaimer: I have not installed these games on my Zune yet, and there is a known issue where exiting out of a game can cause the Zune to reset, but that seems a small price to pay to me...  I'll update once I have games running on my Zune.


After 2 years of attending MMS in San Diego, my employer decided that they were not willing to pay for me to go to MMS 2008 in Las Vegas.  No matter how well I demonstrated the value of attending MMS in the past, the answer simply came down as no.  Fortunately, I was not easily deterred, and even more fortunately there is a great community in MyITForum.com and fantastic supporting vendors like Secure Vantage that came together to make it happen for me for this year.

For those that do not know, MMS sold out for the first time this year.  When I got the news that the conference was sold out and I still had not figured out a way to convince my company to pay, or even co-pay for me to attend, my hopes got pretty slim.  As I was trying to see if there was any way I could make it happen, I saw a post on the MyITForum blogs that they were given a sponsor pass from Secure Vantage and were going to raffle it off as the April prize for MyITForum donors.  I immediately broke out my PayPal account and made a donation (been meaning to do that for some time, guess this was a sign) crossing my fingers as I clicked "submit" that maybe there was still hope.  Days passed, and then I got the e-mail that I had been chosen as the lucky winner of the pass!  My MMS admission was paid for!  I immediately talked to my boss to see if they would pay for the airfare and a cheap room since the lions share of the cost was taken care of now.  He ran it up the chain and unfortunately the answer once again came back no.  There was no way was I going to be denied at this point so I hit the web and started checking airfare and hotels.  Wow, do they take you for a ride when you try to travel last minute.  The airfare that I had priced out at $130 a couple weeks ago had suddenly tripled, and "cheap room in Vegas" is something of an oxymoron as well.  I was talking about the situation with my good friend and former co-worker Brian Leary, when he said " Hey man, I have a suite at the conference, let me see if I can get it set up with 2 beds and you can room with me."   Amazing, the blessings just keep coming.  All that was left now was to get there, and after some quick calculations, the decision was made... ROAD TRIP!  I live in Denver, so Vegas is only 750 miles away and even with current gas prices being what they are, it was going to be much cheaper to drive than fly, in addition to the fact that after a year and a half of owning it, I hadn't broken my Pontiac Solstice in with a proper road trip yet.  So after checking the weather and loading up my things, I headed off to Beverly... uhhh, Las Vegas.

I ran into Rod from MyITForum almost immediately after registering on Monday and thanked him for helping to make it happen and I could tell that he was genuinely pleased that someone who really needed the pass had won it.  When I spoke to Jeremiah from Secure Vantage, he was happy to have been able to help and also that I was not only from Colorado where Secure Vantage is headquartered, but an active member of the local Microsoft Management User Group, which Secure Vantage also generously sponsors each month.  They also had a "VIP area" at the closing party which they welcomed me to join them at.  Thanks again for everything Secure Vantage!

At the MyITForum party they announced that they will be setting up a "scholorship fund" for future MMS sponsorship of a needy person much like myself this year.  They will be taking sponsor donations and have an account set up to take donations in an attempt to create a fund to pay for airfare, hotel, and admission to MMS 2009.  As soon as I heard that I talked to Rod, Megan, and Ron and told them that as soon as it is set up, I want to be the first person to donate to that cause and give a little something back.

Well, I certainly have rambled on enough for one post so I will wrap it by saying once again how thankful I am to Secure Vantage, MyITForum, and Brian Leary for helping me to get to MMS this year.  Without the assistance of this community, its sponsors and fellow members, I most certainly would only have been able to read about MMS this year.

I'll save the sesson recaps, Rock Band contest stories, SWAG inventory, photos, and the return trip with 20" of snow looming ahead of me for other posts to come soon...


We recently ran into a problem with SMS Report number 97 that seems to be cropping up from time to time.  In essence, the problem arises due to a different SQL view of Add/Remove programs data in the SQL database to account for the new 64 bit add/remove programs information now tracked by SMS in SP3.  With SP3, MS has changed the default reports to use this new view in all instances of Add/Remove programs queries.  The old SQL view was v_gs_Add_Remove_Programs which has been replaced with v_ Add_Remove_Programs.

There is a workaround and description of the issue on TechNet here: http://blogs.technet.com/smsandmom/archive/2007/06/28/sms-2003-sp3-add-remove-programs-reports-may-cause-a-cpu-spike-and-or-sql-timeout.aspx 

and Chris Stauffer blogged about running into it here: http://myitforum.com/cs2/blogs/cstauffer/archive/2007/07/09/problem-with-report-97-after-upgrading-to-sp3.aspx

I ran into this problem about a week ago, but had it show up in an interesting manner...through Ron Crumbaker's SMS Web Tool which we use extensively at my company.  Whenever a tech would click on the add/remove programs button to query what programs are installed on a machine, the tool would hang, and nothing in it would work for anyone.  In our case, the SMS reporting server did not show any excessive CPU or memory usage, but it was SQL that was getting hung up.  Stopping and restarting the SQL server would bring it back to life immediately.

After disabling the Add/Remove programs button in the web tool, I ran across the above mentioned post on technet about this issue.  Sounded like exactly the issue we were running into, and sure enough the Add/Remove button in Ron's web tool was calling SMS report 97, which now uses the new SQL view v_ Add_Remove_Programs for displaying Add/Remove programs information.

Unfortunately the workaround suggested on technet is to copy the old reports (from SP2) back into SMS with a different name.  Not only would I have to change the web tool to point at the new report name, but I would also have to track down any other reports we had in the system that may have linked to report 97 and change them as well.  I decided instead to change report 97 to use the old v_gs_Add_Remove_Programs view wherever it was calling v_ Add_Remove_Programs previously.  Sure enough, as soon as I made those changes and saved the report, it started working great.  I re-enabled the button in the web tool, and voila!  No more hangs, no more timeouts, no more screaming techs...well OK, they only stopped screaming about this issue. Stick out tongue

I have not yet gone through all of our reports to replace all instances of the new SQL view in hopes that MS comes up with a workaround soon, but I'm not going to wait long because when this crashes in our site it crashes hard.

From the Softgrid team blog:

Submit your nomination here: https://www.surveymonkey.com/s.aspx?sm=qDdwKbDAXLKrLp9cc4ldXA%3d%3d 


SoftGrid 4.5

The Microsoft SoftGrid team is currently wrapping up our SoftGrid 4.2 release, but is also already hard at work on our next release, version 4.5. New capabilities that we are building into SoftGrid 4.5 include:·         Enhanced client scalability: improvements to allow very large deployments and integration with ESD systems, such as System Center Configuration Manager ·         Availability and maintainability: the most stable and reliable version of SoftGrid to date·         Security tightening: the first SoftGrid release to go through the Microsoft Security Development Lifecycle (SDL) and enhancements to support internet-facing scenarios·         Globalization and localization: support for both virtualizing non-English language applications and running the SoftGrid user interface in certain non-English languages 

We need your help!

Participants in the SoftGrid 4.5 TAP will partner with the SoftGrid product team to validate the product prior to its release through production deployments of Beta and Release Candidate releases


Read the complete article here:


Hurry, nominations are only being accepted until June 15th!

I have been using Vista (part time) for a while now, and as with every OS release for longer than I care to admit, I have spent a lot of time talking to a lot of people about it.  I talk with my co workers about when we want to start rolling it out to our users, I talk with my fellow geeks about the various pros and cons of the new OS, I talk with friends and family about what the benefits are, if they want to get the new OS, and what it will take to get them there.  In most of these conversations I have had about Vista, one recurring complaint keeps coming up.  That complaint is centered around the new UAC feature and how much of a pain it is having to constantly answer the "Windows needs your permission.." prompts when you are making system changes.  There is even one of those "I'm a Mac, I'm a PC" commercials that pokes fun at this very topic.  If you haven't seen it yet, it's here: http://www.youtube.com/watch?v=DUPxkzV1RTc

I personally think that Microsoft is taking an unfair beating over the whole UAC prompt thing.  For years the number one complaint about MS products, and the Windows OS in particular is that they aren't secure enough.  Now that MS has made a concerted effort to make Vista more secure, everyone complains that not as easy to use because they are always getting security prompts.  Keeping systems secure is not easy, especially when users insist on running as administrator level accounts, and installing, clicking, or running every thing that comes across their path.

A lot of people solve the issue by simply turning UAC off.  I'm not a big fan of that approach, as it does leave your system more vulnerable.  Many times websites, or e-mails, or picture files will attempt to automatically install stuff on your system.  UAC popping up when something unexpectedly tries to install in one of these cases can be a lifesaver, especially for less savvy users.  As someone who spends a fair bit of time tweaking my system, I also find the UAC popups annoying at times but don't want to just get rid of UAC, in case something slips by my radar.  It would be great if when I start making tweaks to my system I could just turn UAC off for a while when I know I am performing a lot of tasks that require "permission" then turn it back on when I'm done tweaking.  Unfortunately, turning UAC on or off requires a reboot and no one wants to have to reboot the whole system (twice if you want to turn UAC back on when you are done) just to avoid having to acknowledge a few prompts. 

I recently found a utility that provides a pretty slick solution to this issue, it's called TweakUAC and can be found at http://www.tweak-uac.com/  It's a small executable program (no install required) that allows you to quickly toggle UAC on or off, but the cool thing is that it offers a UAC "quiet mode" that leaves UAC on and protecting your system, but supresses the elevation prompts that you see so much of when tweaking local system settings.  It does not supress the messages you get when trying to run a program, or when installing something on the system or any of the other protections UAC provides.  When you turn this quiet mode on the system will give you a security alert that UAC is off (it really isn't though) that is helpful to remind you that you ran TweakUAC to quiet the messages.  If you forget that you left the system in quiet mode, the next time you reboot you will resume UAC mode as the utility will no longer be running.  I would love it if there was a feature built into the program to have TweakUAC run only for a pre-determined amount of time, then revert back to UAC mode automatically.  Of course you could aways wrap it in a script or something similar to add that functionlity.

This might be just the trick for some of the more "power" users that spend a lot of time messing with system settings and are most likely to be offended by Windows UAC always asking them for permission to do what they just told the system to do.  It's a much better option than having those same users shut UAC off.

Yesterday Microsoft released new firmware for the Zune.  See the details here: http://www.engadget.com/2007/05/31/zune-firmware-update-v1-4-officially-released/

I loaded it up on my Zune last night (Thanks again 1E and myITforum!! Cool) and found that it does seem to shuffle a bit more randomly than before, and the menus are noticably quicker as well.  Where there used to be a bit of a pause between selections in the menus, it is smooth as synthetic oil now.

I wish I could tell you more about the update, like how it now supports Audible files, and how you can now subscribe to Podcasts from the Zune software, and how you can buy TV shows and movies from Zune Marketplace, but alas, those are all things I am still waiting for. [:'(]

I really love the Zune (much more than the numerous iPods floating around my house that belong to the other members of my family) but cannot believe some of the gaping holes Microsoft has left in it on the software side.  The sound quality on the Zune rivals my Zen, the screen is fantastic, and having an FM tuner is great.  MS really got the hardware right on this one, but the software leaves a lot to be desired.  I'm crossing my fingers that the "next version" will be the one that starts plugging some of these holes.

Last week I attended a SoftGrid training class that was quite good.  I got a lot of excellent information on SoftGrid, and there were some excellent hands on labs and exercises as part of the class.  We built a complete test lab with a SoftGrid Server, Sequencer, and SoftGrid Client machine (several times, to familiarize ourselves with the setup process.)  We sequenced applications, deployed them, did in place upgrades, and did some troubleshooting of intentionally broken sequences.  The class was a very good mix of book learning and actual hands on work. 

After the class was over and everyone did the all important Class Evaluation form, we were directed to the online assessment test for SoftGrid.  This test used to be used for SCP certification, but since Microsoft bought SoftGrid the SCP cert has been shelved as an "official" certification, but you can still take the test and get a printable certificate if you pass it.  The Assessment Test is available online to anyone who wants to take it, and can be found at this link: http://www.measureup.com/softgridassessments/  It was a pretty in depth test, and I'm pretty sure I would not have passed it before I took the class.

I took and passed the test and have my "certificate" and the satisfaction of knowing that I passed the test ;-)  I'm sure that someday Microsoft will make their own SoftGrid (or maybe MDOP) certification test and when they do, I'll be sure to take that one too.

With all of the discussion of MOF changes for SMS SP3 lately, I was reminded that there are some MOF additions available for SoftGrid reporting as well.  I am planning to implement these in my MOF as part of the SP3 upgrade so we will have the inventory of streamed apps available for the SoftGrid clients we are in the process of rolling out at my company.  The actual MOF changes are below, but I recently came across that great blog post here: http://blogs.msdn.com/crisag/archive/2006/12/14/inventorying-microsoft-softgrid-streamed-applications.aspx that completely documents the process and shows snapshots of the new inventory, and also includes a simple SQL statement to create an SMS report of the new SoftGrid inventory information.

 SMS_DEF.MOF chages for Softgrid virtual application inventory:

#pragma namespace("\\\\.\\root\\CIMv2")
[dynamic, provider("RegProv"),
ClassContext("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Softricity\\SoftGrid Client\\CurrentVersion\\Applications")
class Win32Reg_SoftGridApplications
string ApplicationName;
string DescriptionURL;
string OriginalDescriptionURL

#pragma namespace("\\\\.\\root\\CIMv2\\sms")
class Win32Reg_SoftGridApplications : SMS_Class_Template
string ApplicationName;
string DescriptionURL;
string OriginalDescriptionURL;


This week I am in Chicago attending SoftGrid 4.1 training.  I have really been excited about this product since I first saw it at MMS in 2006 and have been working to get it deployed in my company.  I have found a few good sites with information on SoftGrid, but have been looking forward to attending the 4 day training class to really get more in depth information on how some things are supposed to be done the right way in addition to the ways I have figured out on my own ;-) 

To that end, I'm in Chicago this week taking the class and am lucky enough to have one of the original SoftGrid trainers here in class with us to help answer questions.  I've never been to Chicago before and I have a former Chicago native attending class with me so I'm really getting some of the local "flavor"  Last night we started off on the right foot with stuffed deep dish pizza from Giordanos...Delicious!

There used to be an "official" SoftGrid certification, but with the MS acquisition of them, the official SCP Certification is currently no longer available, but you can still take the "assessment test" and get a certificate anyhow.  Eventually they think the SoftGrid curriculum will be integrated into the Microsoft cert program, but it is kind of in limbo now.  At least I get the training, and can print out the certificate at the end of the assessment to have a little something to show for it.


God Speed Scotty...


We have arrived at MMS 2007 and it's already off to a great start.   This is the second year at MMS for my co-worker Brian and I, and we are already reaping the benefits.  We arrived yesterday (which I recommend, it's nice to get the travelling and settling in out of the way before having to start in on the conference, it feels like getting a rolling start rather than jumping in from a dead stop.)  Right from go, the check in process was very smooth, and the give away bag is head and shoulders better than last year's.  It's a very nice rolling laptop bag with all kinds of pockets and compartments for storing stuff.  It seems very heavy duty, and much roomier (a big plus when you lug a lot of stuff like I tend to) than last years bag.  It came with a few goodies to start off with including an T-shirt, a water bottle, a bunch of pamphlets, several CD/DVD's of trial software, and a flyer announcing that next years MMS will be back in Vegas.  Since I have only been to MMS in San Diego I'm not sure if it will be better or worse, but it will certainly be different!  Vegas is great (in fact I'm headed there on my way back from MMS) but it can be a bit of a distraction at times.  I enjoyed and got so much out of MMS last year, I don't think it would matter much to me if it was on the moon.  The travel expenditures would be a bit hard to justify.....but I digress...

We will be starting sessions later in the day, so for now it's mostly getting settled in and getting together with other folks and chatting.  I'm particularly excited about the SoftGrid and MDOP sessions, and I can't wait to see a bit more of the advanced stuff, and also to see the "light bulbs" light up in other peoples' eyes like it did on mine as I started to see what SoftGrid can do.  I'm also looking forward to meeting a lot of new people and learning a bunch of new things.  Of course there's the SWAG ;) 

The whirlwind starts soon....



Around my house, one of the Christmas traditions is a viewing of the movie "A Christmas Story"  This movie is the funny tale of young Ralphie's quest to convince his parents to get him his ultimate dream present, an Official Red Ryder Carbine-Action Two-Hundred-Shot Range Model Air Rifle.  If you have seen the film you know that his main obstacle to overcome is his mothers conviction that "You'll shoot your eye out!"  Now, you too can experience the glory of your own Red Ryder BB gun in this fun web game.  Pump the gun up, and shoot BB's at rocks, trees, fences and other backyard targets.  See how many things you can get the BB to ricochet off of, but don't shoot your eye out!!



At my company we recently had to upgrade all of our laptop clients to Cisco VPN client version 4.7.  Unfortunately the Cisco VPN client will not perform an in-place upgrade, you must first remove any existing Cisco VPN client software, then reboot the machine and only then  can you install the new version of the VPN client software.  This has been the case for as long as I can recall working with the Cisco VPN software.  They are always promising that the next version will be able to do an in place upgrade, but I am still waiting for that to happen. Huh? In the meantime, I needed to create a way to identify and remove any older versions of the VPN client and then upgrade them to the new version.  In our environment we had a variety of different versions installed from 3.63 through 4.8.

After much trial and error, I found that Cisco did a very helpful thing; they used the same uninstall string for the MSI installs of every different revision of the major VPN client releases.  In other words, they used the same uninstall string for 4.0, 4.02 4.03(a), 4.03(f) etc. So to remove all of the different versions of VPN client 3.X and 4.X, I only needed 2 different commands. By reading out only the VersionMajor key from the installer section of the registry you can determine which of the two uninstall commands you should run for that particular client.

There are a couple of additional gotchas to look out for with the Cisco VPN install.  The VPN install will momentarily cause all network connectivity to drop, so it MUST be run from the local drive and cannot be run directly from a network share of any kind or it will fail or prompt you that it cannot run from a network drive.  I also had several people ask me "If I am connected with VPN and then SMS removes my VPN client, how do I connect back to the network to have SMS put the new client back on my machine?"  The way I got around that was to make the uninstall and install two separate SMS packages and make the install dependant on the uninstall package.  I also set the advertisement to download and execute rather than run from distribution point.  By doing this, after the uninstall package runs and reboots the machine, the SMS client still knows that it needs to run the linked package, and is able to do so because it is running from the local drive in the SMS cache directory.

To remove a version 3.X Cisco VPN client you would run msiexec.exe /X{3E5562ED-69AB-4CEC-91E2-64E18EC5ACC6} /qn

To remove a version 4.X Cisco VPN client you would run msiexec.exe /uninstall {3E5562ED-69AB-4CEC-91E2-64E18EC5ACC6} /qn

I made an .IPF file with the following as its contents:

Document Type: IPF
item: Global
  Title English=Cisco VPN Removal
  Languages=0 0 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  Default Language=2
  Japanese Font Name=MS Gothic
  Japanese Font Size=9
  Start Gradient=0 0 255
  End Gradient=0 0 0
  Windows Flags=00010100000000000010110000010010
  Message Font=MS Sans Serif
  Font Size=8
  Disk Filename=SETUP
  Patch Flags=0000000000000001
  Patch Threshold=85
  Patch Memory=4000
  FTP Cluster Size=20
item: Remark
  Text=Cisco VPN Client Removal tool
item: Remark
  Text=Created by Sean McHugh 9/13/2006
item: Remark
  Text=This tool will detect and remove the Cisco VPN client silently for any version 3 or 4 install that was performed with an .msi installation
item: Remark
  Text=After the uninstall the machine will automatically reboot.  The reboot is required for functionality, do not supress it!
item: Get Registry Key Value
  Default=not installed
  Value Name=VersionMajor
item: If/While Statement
item: Execute Program
  Command Line= /X{3E5562ED-69AB-4CEC-91E2-64E18EC5ACC6} /qn
item: End Block
item: If/While Statement
item: Execute Program
  Command Line= /uninstall {3E5562ED-69AB-4CEC-91E2-64E18EC5ACC6} /qn
item: End Block