Zune Error
Apparently the error below from Zune is indicative of some sort of problem with your DRM data. The redirect is to KB 929642 which of course doesn't list the error message, but it was a useful clue.
---------------------------
Zune
---------------------------
Zune encountered a critical error and needs to close. For instructions on correcting this error, open the URL below in a web browser.
http://go.microsoft.com/fwlink/?
LinkId=105744&locale=409&geoid=f4&version=2.5.447.0&userlocale=409&system=ZuneClient
---------------------------
OK
---------------------------
On my x86 box which hosts the Zune software, C:\Documents and Settings\All Users\DRM is where all this stuff is. You can check by going to HKLM\Software\Microsoft\DRM and looking at the DataPath value. If you double click it, the registry editor is kind enough to decode the binary data to ASCII. The KB referenced above also has some info on where to find this folder on other platforms.
I simply opened a command prompt, renamed my DRM folder, and let the Zune software rebuild it:
C:\Documents and Settings\bdesmond>cd\
C:\>cd "Documents and Settings"
C:\Documents and Settings>cd "All Users"
C:\Documents and Settings\All Users>cd DRM
C:\Documents and Settings\All Users\DRM>dir /a
Volume in drive C has no label.
Volume Serial Number is F8EB-D584
Directory of C:\Documents and Settings\All Users\DRM
12/18/2007 05:44 PM <DIR> .
12/18/2007 05:44 PM <DIR> ..
05/25/2008 12:48 AM <DIR> Cache
08/06/2008 03:35 PM 3,739,648 drmstore.hds
12/18/2007 02:43 PM 1,536 drmv2.lic
12/18/2007 02:43 PM 1,536 drmv2.sst
05/25/2008 12:48 AM 1,194,512 IndivBox.key
12/18/2007 05:29 PM 4,867 migration.log
12/18/2007 03:53 PM 312 v2ks.bla
12/18/2007 03:53 PM 48 v2ks.sec
05/25/2008 12:48 AM 13,579 v2ksndv.bla
12/18/2007 05:29 PM 9,722 v3ks.bla
12/18/2007 05:29 PM 740 v3ks.sec
10 File(s) 4,966,500 bytes
3 Dir(s) 27,084,025,856 bytes free
C:\Documents and Settings\All Users\DRM>cd ..
C:\Documents and Settings\All Users>attrib drm
SH C:\Documents and Settings\All Users\DRM
C:\Documents and Settings\All Users>attrib -s -h drm
C:\Documents and Settings\All Users>move DRM DRM2
1 file(s) moved.
C:\Documents and Settings\All Users>
Word Tip - The Draft View Gutter
Since I've been living in Microsoft Word lately, I figured why not take some time for a couple more handy Word tricks. This one is about getting a gutter to show up in Draft view so you can see what styles have been applied to text. If you've ever worked with a complex stylesheet before, especially one which is post-processed by some other tool, getting the styles properly applied to your content, and also debugging messed up styles is important. The display I'm talking about looks something like this in my sample document:
You'll notice the various style names which apply to that particular line (and all the lines until the next style name). If you could see my document, you'd be able to see all the different text formatting in my document. If you're looking to get this functionality, it's pretty easy, actually. Go to the Office button and then Word Options. Select Advanced on the left and scroll down to the display section in the main pane.
Set your style area pane width to something like 2". You can drag the divider in Word once you get the pane showing (only in Draft and Outline views, accessible via the Draft button on the View tab of the ribbon).
Word Tip - Outline View and Document Map
Another handy Word tip today is using Outline view to work with big documents. If you've got a sizeable document, chances are your document is also structured hierarchically. By this I mean that you are probably using multiple levels of Heading styles to organize your content. If you flip to Outline view (on the View tab of the ribbon), Word will give you a collapsed view of your document based on these heading style elements.
You can use the Show Level option on the Outlining ribbon to manage how deep the outline is, and you can also expand and collapse sections using the +/- buttons embedded in the document. The main use I have for Outline view is actually for rearranging documents for flow. You can drag the expand collapse buttons for different sections around in the Outline and Word will rearrange your document based on those actions. If you move a level 1 heading, everything below that heading will be moved as well.
You can also edit document text in Outline view although I've never really been comfortable doing this compared to working in Draft mode or the usual Print layout view.
Similar to the outline view is the document map. If you check the Document Map checkbox on the View tab of the ribbon, the document outline will appear in a task pane to the left of the main text editor and you can click on the different headings to jump around the document.
Slick Site - GrubHub.com
If you happen to live in Chicago, New York, Boston, or San Francisco, GrubHub.com is definitely a site worth checking out. I'd heard of it but never tried it until last night, and it's great. The site has a very extensive collection of restaurants (at least for me in Chicago) which deliver based on my address. You can filter on cuisine and a number of other parameters. One of the most useful filter parameters is the "currently delivering" one which at 2AM this morning when I decided it was time for dinner, was very helpful. I found a Mexican place in the filtered list and ordered through their interactive menu on GrubHub.com. My food showed up well within the prescribed time and was quite good actually. I would have never known of the restaurant without this site as it's not really near anyplace I ever go.
I did a bit more poking around on the site and their business model is around a commission they collect for orders placed to restaurants which allow you to order online through GrubHub.com. They also list restaurants that don't allow this which is nice, but I'll certainly remember that the site only makes money with the restaurants which support online ordering.
MSDTC Exits on PDCe Transfer
One of my colleagues reported an issue at a customer this past weekend where every time he transferred FSMO roles, MOM would report that the MS DTC (distribution transaction coordinator) service had terminated unexpectedly on all the domain controllers in a domain at this customer. At this particular customer that bought us about 350 emails from MOM since the roles got transferred twice over the weekend in each domain. For reference, it's a highly distributed Windows Server 2003 SP1 environment with a mix of x86 and x64 installations.
A quick look at MOM & the event viewer on a suspect machine showed a standard event from the SCM, and an MSDTC event about a dc promotion/demotion:
Event Type: Information
Event Source: MSDTC
Event Category: SVC
Event ID: 4145
Date: 8/5/2008
Time: 4:54:10 PM
User: N/A
Computer: SOMEDC
Description:
MS DTC has been notified that a DC Promotion/Demotion has happened. It is shutting down as a result.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
And from MOM:
Severity: Service Unavailable
Status: New
Source: Service Control Manager
Name: The service terminated unexpectedly.
Description: The Distributed Transaction Coordinator service terminated unexpectedly. It has done this 1 time(s). The following corrective action will be taken in 1000 milliseconds: Restart the service.
Domain: ASIA
Agent: SOMEDC
Time: 8/2/2008 13:07:58
Owner:
(Yes the times don't match - just grabbed the first samples I could find)
I decided to take a look at this today, and bounced the FSMOs around until I determined that the PDCe specifically was the root cause here. I was able to kill the MSDTC service on every DC in the domain by moving the PDCe around. This ruled out that it wasn't some weird quirk from the patching activities that were going on this weekend when this symptom presented.
My first troubleshooting step was to see if the service was actually crashing, so, I setup Dr. Watson to collect full dumps and installed it as the default debugger on a problem machine and moved the PDCe. The service terminated as expected but nothing in Dr. Watson. This was annoying but not entirely unexpected. If a service just exits like a normal process does then we'd get this event too.
I xcopy'ed the x64 debug package to this particular machine from a utility box that had the debug tools installed (note you can just copy and paste the tools - no need to run the MSI) and fired up windbg. If you're following along at home, do this:
- Press F6 and find msdtc.exe and select it
- The debugger will break in and likely complain about symbols
- Issue a .symfix C:\symbols
- Issue a .reload
- Issue a g
At this point you're ready to go and when something interesting happens the debugger should break in (you'll know when the textbox at the bottom of the screen becomes enabled). I wanted to collect a process dump for this and I had a suspicion I knew what was happening, so, I also did this:
- Issue a bp ntdll!NtTerminateProcess
This tells the debugger to breakin on a call to NtTerminateProcess. As soon as I transferred the PDCe, my breakpoint got hit. I saved a dump (.dump /mf c:\msdtcissue.dmp) as this particular environment has Internet issues and I was having problems getting to the symbol server. When I opened it up on my workstation (Press Ctrl+D and browse in windbg), I located this stack (Issue a k):
11 Id: 1550.1590 Suspend: 1 Teb: 000007ff`fff9a000 Unfrozen
Child-SP RetAddr Call Site
00000000`0165fd78 00000000`77d5a316 ntdll!ZwTerminateProcess
00000000`0165fd80 000007ff`7fc4069b kernel32!ExitProcess+0x25
00000000`0165fed0 000007ff`7fc40863 msvcrt!_crtExitProcess+0x3b
00000000`0165ff00 000007ff`66fd25f5 msvcrt!cinit+0x143
00000000`0165ff40 00000000`77d6b69a msdtctm!DCPromoThreadFunction+0x124
00000000`0165ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a
Note if you're wondering how to find the correct thread, you can issue a ~*k to dump the stack of every thread. To switch to the thread (11 here), you'd do a ~11s.
I got zero hits on this on Google searching for this, so I had a quick chat with a PSS friend who dug something up on this. It's a known bug in Windows Server 2003 and presently there's no QFE. MSDTC subscribes to dcpromo's (which I knew), but, because of the manner in which it does this, it also catches PDCe changes. This behavior is fixed in Windows Server 2008, though. If you've got a good reason you can call and try and make the case for a QFE, but, seeing as the service restarts straight away, I just am going to go tweak my monitoring so MOM ignores this.
Formulas in Word
I discovered this afternoon that you can insert simple formulas in Microsoft Word tables, at least in Word 2007. This is really pretty helpful when you just need to do something simple like sum a column or row and don't want to build the table in Excel, copy it into Word, and then format it.
I had a table something like this:
Foo | Bar | Snafu | Total | ||||
X | Y | X | Y | X | Y | ||
Day 1 | .5 | 1.5 | 0 | 1 | 1.25 | .5 | |
Day 2 | .5 | 1.5 | 0 | 1 | 1.25 | .5 | |
Day 3 | .5 | 1.5 | 0 | 1 | 1.25 | .5 | |
Total | |||||||
I needed to add totals for rows and columns so it would look like this:
In order to do this, click in one of the total cells, and then click the formula button on the Layout tab on the ribbon:
.
You'll get a dialog something like this - it defaults to the SUM formula, and automatically figures out whether you want "ABOVE" or perhaps "LEFT". If you need a different function (like to take the average or something), use the Paste function combobox.
You'll note if you look at the screenshot of my resulting table that the sums are highlighted in gray. This is because I have Field Shading enabled in Word. When you print they won't actually be highlighted. One difference from Excel here is that the fields won't automatically recompute if you update one of the cells. In order to do this, you need to right click and select Update Field:
Cool feature - enjoy.
Authoritative Restores
So I'm working on a project which involves some documentation around disaster recovery and I flagged a word in the text for the technical reviewers to suggest a better word (BCD40). The feedback I got really made me laugh:

Update on the MCSE Upgrade
I was complaining (more or less) several weeks ago about the amount of work it was going to take to upgrade my MCSE to the latest version. The good news is I went and did the Windows end of things and now I'm apparently an "MCITP: Enterprise Administrator". Now compared to MCSE, no HR person is going to know what that means. Most folks are trained to look for MCSE and it's going to be a long time before that mentality is changed I suspect. Personally if someone asks me if I have an MCSE or if I'm certified on Windows 2008, I may drop the MCITP acronym in, but "MCSE" and "2008" are definitely going in the response as that's what people look for.
I had to take three tests to convert my MCSE: Messaging 2003 to this MCITP: Enterprise Administrator:
- 70-647 - "Pro: Windows Server 2008, Enterprise Administrator"
- 70-649 - "TS: Upgrading Your MCSE on Windows Server 2003 to Windows Server 2008, Technology Specialist"
- 70-620 - "TS: Configuring Microsoft Windows Vista Client"
I took 70-647 in beta in January, so I have no recollection of what it was like nor would it be a good representation of what it probably is now. 70-649 is really easy if you know what you're doing on 2003. 70-620 was easy enough, although it had simulation questions which I have never seen on a Microsoft exam before. I'm used to them from taking Cisco exams but never Microsoft. I struggled with these a bit simply because I have zero Vista experience and they were to do oddball things that you'd be stupid to ask me to do because I would just look at you funny. I own one Vista machine, a laptop, and I turn it on about four times a year, so that roughly translates to I own no Vista machines. I passed the exam with a pretty good score, so, I guess interpret that however you want.
Thanks to Russ who was standing in line when I was to take these things and unlike me he knew what tests I needed to take. Also thanks to the Prometric guy whose computer was particularly broken when I was trying to register for the wrong test and thus was able to rethink my plan with Russ' help.
Running with a Third Screen on my Desk
Scott's post prompted this post as I've found that unlike Scott, my recent upgrade to a third screen is really helpful. I run with two PCs under my desk. One PC is a simple Dell tower with 4GB of RAM, a dual core chip in it and a couple of SATA spindles - it's a few years old at this point I think [1]. This is what I call my personal machine - I do email, IM, and pretty much everything else on it - all my files are stored here. My second machine is a fairly high end Dell tower with dual Xeon chips, 8GB of RAM, and about 1TB of storage online in a RAID. I run a 64-bit OS on here and run numerous VMWare instances. I also have my company issued laptop on my desk sometimes sitting on the docking station when I need it for one reason or another.
On my VMWare machine, I have all of my lab and test VMs, and I also have one VM for each of my customers. By having a virtual machine for each customer, I gain a few things:
- I keep customer data separate
- My customer machines are portable - when I travel I copy the VMs I need to my laptop and I have everything I need to do work with that customer
- I can be VPN'ed into multiple customers at once
- I can run multiple types of VPN clients (right now I have four different kinds across my VMs)
Up until a couple weeks ago, I ran with two screens on my desk - Dell 19" flat panels. Each of these panels has two inputs, so, when I needed to move between machines, I would change the active input and toggle my KVM. This worked, but, it was a complete context switch. The most inconvenient thing was the lack of clipboard synchronization.
About a year ago, my manager was kind enough to ship me a screen that he felt I should have for my desk, and I left it in the box as I didn't really have a use for it. I discovered this program called Multiplicity the other day which basically acts as a KVM over the network. Multiplicity gave me a reason to unbox my third screen and connect it. I now have my screens arranged horizontally in the following fashion:
A B C
Screens are connected in the following fashion:
Screen | Input | Machine |
A | 1 | Personal |
B | 1 | Personal |
2 | VMWare | |
C | 1 | VMWare |
I have Multiplicity installed as a "server" on my personal machine, and as a "client" on my VMWare machine. Now, whenever I move my mouse to the edge of screen B, it jumps to screen C which is actually physically wired to the VMWare machine. The only time I use my KVM now is if I need to do something in text mode (e.g. BIOS change or something). I also have synchronized clipboards [2]. If I upgrade to the more expensive (like $20 more) version of Multiplicity, I could even add my laptop as a client, but, I don't really have a need for that right now.
Overall, I think this new setup is great - I can bounce between tasks in a much smoother fashion now and it's just generally more convenient. This is what it looks like:
[1] I actually just got a replacement personal machine as Dell had a refurb Quad Core w/ 4GB going for ~$600 the other day. I haven't put it into production yet but I am planning to run Windows Server 2008 x64 on it now.
[2] I run so many applications that play in this space that my clipboard chain is seemingly broken half the time so this has some limited value
Unblocking Windows Update
If you've ever gotten the error below when you go to Windows Update on a machine or Windows Update is completely missing from the Tools menu in Internet Explorer, it's fortunately an easy registry change to temporarily back out.
Network policy settings prevent you from using this website to get updates for your computer.
If you believe you have received this message in error, please contact your system administrator. Read more about steps you can take to resolve this problem (error number 0x8DDD0003) yourself.
This is generally set as a group policy setting and thus will get refreshed, but, you can delete the registry value below and restart your browser and Windows Update will work again at least temporarily.
Key - HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Type - REG_DWORD
Value Name - NoWindowsUpdate
I'm of course not recommending that you circumvent your organization's policies, but, since I periodically need this setting and I usually forget it, I've put it here for the permanent record.


