Wednesday, April 7, 2010

Windows 2008 Hyper-V R2 Background Merge

When you remove a snapshot or snapshot subtree from a Hyper-V VM, there is a merge process that combines the data in the .avhd snapshot file back into the VM's VHD.

In Windows 2008 RTM, the merge process only happened once the virtual machine was shut down. The VM was unavailable for the duration of this process. There was, however, a progress bar displayed in either SCVMM or Hyper-V Manager that would indicate the completion percentage.

In Windows 2008 R2, however, the merge process happens in the background. Any indication of it happening is no longer easily visible in the console.

To view the progress of a merge, run the following PowerShell command:

Get-WmiObject -Namespace "root\virtualization" -Query "select * from Msvm_ConcreteJob" | Where {$_.ElementName -eq 'Merge in Progress'}


This will give you output about all merges happening, the elasped time (in seconds, so be prepared to do some math), as well as the job completion percentage.

Thursday, February 11, 2010

Troubleshooting WinSXS (Side-by-Side) problems

While attempting to run a newly-installed OmniPage Pro 17 on a Windows 2008 x64 machine, I received a cryptic and frustrating error:

The application has failed to start because its side-by-side configuration is incorrect. Please see the application log for more details.

So, what do I do? I try re-running it. I try removing and reinstalling it. I run a repair from the Programs and Features Control Panel Applet. Nothing seems to be yielding any results.

So, I decide to check out the Application Log, like the dialog box suggested.

The Application Event Log has a little more detail about what's missing:

Activation context generation failed for "C:\Program Files (x86)\Nuance\OmniPage17\OmniPage17.exe". Dependent Assembly Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762" could not be found. Please use sxstrace.exe for detailed diagnosis.

So, I crack open a command prompt and run the following command:

sxstrace trace -logfile:omnipage.etl

The system returns the following message:

Tracing started. Trace will be saved to file omnipage.etl.
Press Enter to stop tracing...


I launch the application again, generate the error, tab back to the command prompt window, and then press Enter to stop tracing.

You can try to read the trace file, but it's not going to do you any good. You need to convert it to human-readable form with the following command:

sxstrace parse -logfile:omnipage.etl -outfile:omnipage.txt

After a few moments, you should receive a notification that it's complete:

Parsing log file omnipage.etl...
Parsing finished! Output saved to file omnipage.txt.


At that point, you can open up the result file (omnipage.txt in my case) to get a detailed analysis of what is wrong.

=================
Begin Activation Context Generation.
Input Parameter:
Flags = 0
ProcessorArchitecture = Wow32
CultureFallBacks = en-US;en
ManifestPath = C:\Program Files (x86)\Nuance\OmniPage17\OmniPage17.exe
AssemblyDirectory = C:\Program Files (x86)\Nuance\OmniPage17\
Application Config File =
-----------------
INFO: Parsing Manifest File C:\Program Files (x86)\Nuance\OmniPage17\OmniPage17.exe.
INFO: Manifest Definition Identity is (null).
INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"
INFO: Reference: Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"
INFO: Reference: Microsoft.Windows.Common-Controls,language="*",processorArchitecture="x86",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.0.0"
INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762".
INFO: Resolving reference for ProcessorArchitecture WOW64.
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.762__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.


The long and short of it is that OmniPage is looking for some C++ components that it can't find in the program files directory or the SxS manifest. Specifically, it can't find the x86 platform version of the C++ components. So, I download and install the Visual Studio 2005 C++ Redistributable package (which the application vendor should have bundled), and the problem is resolved.

You can download the components here:

Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)

Microsoft Visual C++ 2005 SP1 Redistributable Package (x64)

Sunday, February 7, 2010

A Series of Unfortunate Events

While reading about and watching coverage of Sarah Palin's closing remarks at the Tea Party convention, I couldn't help but compare it to a car accident--you want to look away, but you can't.

While we all have the right--even duty--to criticize our leaders, I find it frustrating that she is speaks with vehemence about things of which she has little or no knowledge. Since it's now rumored that she may not have been the only one in the Governor's office, one must wonder how much of this opportunist's speech is her husband's thoughts.

Her speech was light on real details, quoting few specific policies or circumstances that she was criticizing. It's typical fiery rhetoric that panders to the audience. It's much easier to criticize than it is to offer solutions (look at this post, for example).

One of few specifics that she did mention was her perspective on trying the Christmas Day bomber in civilian courts. "Because that's not how radical Islamic extremists are looking at this. They know we're at war, and to win that war we need a commander in chief and not a professor of law standing at the lectern," she was quoted as saying.

She seems to have forgotten that under Bush, more than 200 alleged terrorists were tried and convicted in the civilian court system. Apparently, what was good for the goose isn't good for the gander. One interesting study from the Center for American Progress notes that terrorists tried in military tribunals get substantially less jail time.

In the case of Salim Hamdan, Osama bin Laden's driver, a military tribunal punished Hamdan with 5 years in prison. He was credited for time served, and only was only imprisoned for an additional 5 months after his conviction. Salim Hamdan is now running around free in Yemen. Similar is the case of David Hicks, who was convicted in a military tribunal of material support for terrorism. He now lives in Australia--a free man.

Contrast those with terrorists charged in criminal court. Ali Asad Chandia, convicted in civil criminal courts for driving a member of Pakistani extremist group Lashkar-e-Taibi from Washington National Airport and helping him ship packages containing paintball equipment back to Pakistan, was punished with 15 years in prison in 2006. John Walker Lindh, the "American Taliban," is also still serving out his 20-year sentence for providing material support to terrorists and being involved in a terrorist army faction.

Palin also made remarks criticizing President Obama for his foreign policy, stating that his policies don't recognize the true threats America faces.

Perhaps her memory needs a little jogging. There were reports all over the news from 2004 through 2006 of military leaders in Iraq begging for more troops, more armor, more weapons, and more equipment in general. And, even in 2008, well after "the surge," Gen. David McKiernan had asked for up to three additional combat brigades in Afghanistan--a request that President Bush ignored. President Obama committed 17,000 troops within two months after taking office. And, when General Stanley McChrystal asked in the now-famous "McChrystal Report" for another infusion of Troops in October 2009, Obama started preparing the citizens of the US to send more of their sons and daughters. He answered by announcing in November that he would sending an additional 34,000 troops to fulfill the General's request. It would appear (to me, at least), that President Obama takes the requests seriously and processes them in a timely fashion.

As Brad Woodhouse from the DNC was quoted in the Washington Post, "No one should take national security advice seriously from a person who told the world in 2008 that her qualifications in this area were that she could see Russia from her home state." Well played.

While in one moment calling President Obama a "charismatic guy with a teleprompter," she misspoke when reading from her notes in saying that U.S. policies might discourage those who "see Alaska as a beacon of hope" (presumably instead of America). Pot? Kettle? At least the charismatic guy can read.

The principles advocating smaller, more nimble government seem like laudable goals, but champions of this effort leave a sour taste in my mouth. If people like *that* support efforts like these, what else is lurking under the covers that I should know about?

At the end of the day, I admire grass-roots movements like the Tea Party that want to put control back in the hands of the people. While I'm not a Tea Partier, I do respect the mobilization that they have achieved. Palin was quoted as saying that the Republican party would do well to try to absorb as much of the Tea Party movement as possible. I think it would be more profitable to capture the fire into your own organization as opposed to trying to dilute your core principles to get more votes.

Many Democrats who see the Tea Party as an almost-off-the-map right organization, would welcome Palin's call to action. The truth for any party is that the more mass media coverage these growing fringe groups get, the more folks are driven to the other side.

Wednesday, February 3, 2010

Masterful Mojito

I like to make the kinds that people talk about. The ones that are so good, that you can't order them out any more.

As the days grow longer, my thoughts turn to summer. Yes, it's only February, but a great drink is always in season.



Masterful Mojito
1 1/2 oz Bacardi Superior Rum
1/4 oz Cointreau Orange Liqueur
3 tsp sugar
1 lime
Mint leaves

Quarter the lime. In a shaker, combine ice, Bacardi Superior, Cointreau, sugar, and the juice from one half of the lime. Shake until frosty. Gently muddle 12-14 fresh mint leaves in the bottom of a Collins glass with the juice from one lime quarter. Add 6-8 ice cubes to the glass and pour the contents of the shaker over the ice. Top off with club soda and a mint sprig and garnish with the remaining lime quarter.

Change it up a little bit by adding a splash of your favorite limoncello.

How to change the company name displayed in Windows Small Business Server 2008 Remote Web Workplace (RWW)

I recently found myself in a place where I had misspelled the name of a company during one of the SBS Setup Wizards and could not find where to change it.

The file that needs to be modified is C:\Program Files\Windows Small Business Server\Data\RWWConfig.xml

Look for the section that says signinorgname and change it to the correct spelling.

<?xml version="1.0" encoding="utf-8" ?>
<RWWConfig>
<fileName>RWWPluginSBS, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</fileName>
<className>Microsoft.WindowsServerSolutions.IWorker.RWW.RWWPluginSBS</className>
<signinOrgName>Company Name</signinOrgName>
<signinBackgroundImage>images/background.jpg</signinBackgroundImage>
<signinUserBackgroundImage />
<orgLogo />
<wssgLogo>images/RwwOemLogo.png</wssgLogo>
<readEmailIcon>images/E-mail.png</readEmailIcon>
<connectToComputerIcon>images/RemoteDesktop.png</connectToComputerIcon>
<internalWebSiteIcon>images/CompanyWeb.png</internalWebSiteIcon>
<changePasswordIcon>images/changepassword.png</changePasswordIcon>
<helpDocumentationIcon>images/Help32.png</helpDocumentationIcon>
<adminConsoleIcon>images/AdminConsole.png</adminConsoleIcon>
<helpDeskIcon>images/helpdesk.png</helpDeskIcon>
<techNetIcon>images/technet.png</techNetIcon>
<showOWALink>true</showOWALink>
<showTSLink>true</showTSLink>
<showSharepointLink>true</showSharepointLink>
<showChangePasswordLink>true</showChangePasswordLink>
<showHelpDocumentationLink>true</showHelpDocumentationLink>
<showAdminConsoleLink>true</showAdminConsoleLink>
<showHelpDeskLink>true</showHelpDeskLink>
<showWebGadget>true</showWebGadget>
<showCustomOrgLinks>true</showCustomOrgLinks>
<showCustomAdminLinks>true</showCustomAdminLinks>
</RWWConfig>

Tuesday, February 2, 2010

How to enable Outlook Logging

From time to time, we get customers complaining about Outlook POP3/SMTP problems. 99% of the time, the customer has configured Outlook incorrectly (wrong username/password, wrong server, wrong ports, etc). Enabling Outlook logging can help you make the most of your troubleshooting session.

To turn on Outlook logging:

1. Launch Outlook.
2. Navigate to Tools > Options.
3. Click the Other tab.
4. Under the General section, click the Advanced Options button.
5. Place a checkmark in the Enable logging checkbox.
6. Click OK three times, acknowledging that the settings will take effect next time you start Outlook.
7. Restart Outlook.
8. Retry the action that was causing the problem.

Now, where to find this elusive logfile?

If you're running Outlook 2000, 2002/XP, or 2003 on Windows 2000, 2003, or XP:
C:\Documents and Settings\%username%\Local Settings\Temp\OPMLOG.LOG.

If you're running Outlook 2007 on Windows 2000, 2003, or XP:
C:\Documents and Settings\%username%\Local Settings\Temp\Outlook Logging\OPMLOG.LOG.

If you're running Outlook 2007 on Windows Vista, Windows 7, or Windows 2008:
C:\Users\%username%\AppData\Local\Temp\Outlook Logging\OPMLOG.LOG.

For more information, check out the following Microsoft articles:

What is the Enable logging (troubleshooting) option?

How to enable transport logging in Outlook

Wednesday, January 13, 2010

I love my IPhone, but...

There are so many things from a design and features perspective that keep holding this device back (at least for me, anyway). Having owned, used, and supported numerous smart phones for the last 6 years, I can definitely see places where some improvements can be made.

Don't get me wrong--this is a good device. There are some fantastic concepts here, but even Apple needs a little help now and then.

1. I think the foremost feature missing from the IPhone is Adobe Flash. We live in a Web 2.0 world--a world depedent on interactive Flash applications. It's not like the device doesn't have the capability to run Flash--the IPhone 3GS is arguably one of the most powerful devices currently on the market. The reason is that Apple sees Flash as a competitor to its own QuickTime/h.264 technologies. Flash means that developers can bypass the App Store, which further would loosen Apple's stranglehold.

2. The next big hitter is the App Store. The App Store is one of the greatest innovations in the mobile device market--it's a place where the Microsoft Windows Mobile platform totally missed the boat. It's great to be able to go to one spot to find all of the software available for the platform. Of course, having that the *only* place from which to get content seems very restrictive and very un-internet-like.

3. Cut and paste. Yes, "Cut and Paste" now works--sort of. I can't believe the massive oversight here. Every smart platform before it had this type of "feature." I had Windows CE and Windows Mobile 2003 devices that could do this. Apple had the gall to herald it's coming to the IPhone like they'd revolutionized the market. Its implementation isn't that great (a triple-tap to select a paragraph or functionality in all Apps would be nice), so there's places where its intuitiveness could be improved.

4. Where is smart dialing? I'm spoiled as a Windows Mobile user here--the phone dialer on the IPhone is absolutely awful. Even non-smartphones have a better auto-filtering interface. Most phones filter the contact list automatically as you type in either letters or numbers. Not the IPhone. You either have to go to your contact list and search or go to the Search screen to hunt up a contact. Too many steps.

5. The ability to call someone directly from anywhere in an SMS message. It's great that I can copy the text of an SMS, but in order to initiate a phone call to someone with whom I'm texting, I need to scroll to the top of the window and press the "Call" button. Let me tap (or double-tap) the user's name anywhere in the SMS message and prompt me to call from there.

6. Select multiple messages for delete in Mail. So, I can search for messages; that's great. What if I want to mass delete all messages that meet a certain search criteria (such as a particular subject)? That would be nice. You can't even single-delete messages from a Mail search, much less select multiple messages.

7. Folder expand/collapse in Mail. As an Exchange ActiveSync user, I can see and retrieve content from any of my Outlook folders without having to individually select folders for synchronization. I dig it. But what I don't dig is the fully-expanded view of all my folders. I have about 150 folders in my Outlook tree. If I want to go to "Sent Items," it takes several swipes to get there--and then I usually have to swipe back up.

8. Speaking of Mail navigation, don't give me what appears to be a scroll/position bar on the right side of the screen when I'm scrolling through folders without the ability to click/drag it. That's just plain frustrating.

9. "Invisible" Bluetooth. While it does display a small icon next to the battery, it would be nice to see a low-power blinking LED to remind me that it's on, since a lot of my apps run full-screen and I lose the on-screen icon. All of my other phones had a little blue light that flashed whenever Bluetooth was activated. Throw a guy a bone, please, Apple.

10. Ability to password-prompt for app removal. I can't tell you how many Apps have been uninstalled inadvertently by my kids. You require a password to buy something from the App store; require one to remove the app as well.

Anyone else have features they'd like to see native to the IPhone?

Sunday, January 10, 2010

Installing Data Protection Manager 2007 on a Dell NX3000

Dell has this great NAS device that runs Windows 2008 Storage Server Standard--the NX3000. The only problem is that Dell treats it like an "appliance," meaning you can't partition it the way you want. I recently ordered two with 6x1TB drives and wanted to deploy DPM to them. Unfortunately, Dell's RAID1/RAID5 combo doesn't make very good use of the available storage. I wanted to be able to use most of the space for DPM storage, so I needed to re-set it up from scratch.

Dell only provides "recovery" media (an image as opposed to install media), so you need to obtain the Windows 2008 Storage Server media on your own (such as from MSDN). Note: Dell's recovery media will not work if the disk configuration if the first two drives are not in a mirror set.

I spent two days figuring it out so you don't have to.

Once you have the media, here are the steps to get it set up completely:

1. Download all of the drivers from the Dell Support Site and save them to a USB stick.
2. Install from Windows Storage Server 2008 media. Be sure to select the edition (if installing from media with multiple editions) that matches the WSS key on the system chassis). Use the WSS key on the chassis for installation.
3. Install drivers from USB stick.
4. Log in to server with username administrator, password wSS2008!. This would be the only OS I've ever installed with a pre-configured administrator password.
5. Install Dell OpenManage software from Dell System Build DVD.
6. Restart.
7. Add Web Server role and add all role services (except FTP).
8. Open command prompt and run start /wait ocsetup.exe SIS-Limited /norestart.
9. Run Windows Update and install all available updates to bring current.
10. Restart.
11. From System Center Data Protection Manager DVD, navigate to SQL2005 installation directory.
12. Run Setup to install SQL 2005.
13. Select Database, Reporting Services, and Workstation/Client components. Ensure all sub-items are selected by clicking "Advanced" button and expanding each component.
14. Specify an instance name of MS$DPM2007$.
15. On the Service Account page, select the Customize for each service check box and configure as follows:
a. Select Customize for each service account.
b. In the Service box, select SQL Server.
c. Select Use the built-in System account, then select Local System account.
d. In the Service box, select SQL Server Agent.
e. Select Use the built-in System account, then select Local System account.
f. In the Service box, select Reporting Services.
g. Select Use the built-in System account, and then select the Network service account.
h. In the Service box, select SQL Browser.
i. Select Use the built-in System account, then select Local Service account.
16. Accept defaults for the rest of the SQL 2005 installation.
17. Open the Internet Services Manager (Windows 2008 version).
18. Expand Web Sites, expand Default Web Site, and then click the virtual directory for the report server.
19. Under Features View, double-click Handler Mappings.
20. Under Actions, click Edit Feature Permissions.
21. Click to select the Scripts check box, and then click OK.
22. Close Internet Services Manager.
23. Open Services applet.
24. Stop all SQL services.
25. Run SQL 2005 SP2 setup.
26. Restart.
27. Launch System Center Data Protection Manager 2007 setup.
28. Select the local database instance (MS$DPM2007$).
29. Enter a strong password for the DPM account.
30. Complete setup, accepting all defaults.
31. Restart.
32. Download and install DPM 2007 SP1.
33. Restart.
34. Download and install most recent hotfixes from http://support.microsoft.com/kb/961659/EN-US.
35. Call 1-888-571-2048 (if in USA) to activate WSS by phone (online activation will most likely not work in this instance; you will need to speak to a representative).

Good luck!

Thursday, January 7, 2010

A Long Way Home

Most bar Long Island Iced Teas are made with a mix of bottom-shelf liquors and sour mix. This one is not.

1/2 oz Tanqueray Gin
1/2 oz Cointreau Orange Liqueuer
1/2 oz 1800 Silver Tequila
1/2 oz Bacardi Superior Rum
1/2 oz Absolut Citron Vodka
1/2 oz filtered water
1 Lemon
3 tsp sugar
Coca-Cola, Royal Crown, or other cola with a sweet aftertaste

Fill a shaker with fresh cracked ice and add all alcohols, water, and sugar. Cut lemon in half; squeeze one half into the shaker. Shake vigorously and strain into ice-filled glass. Top with Coca-cola or RC until it is the color of traditional iced tea. Cut the remaining lemon half in half and garnish drink.

Tuesday, December 22, 2009

Microsoft and EC Reach Settlement

In Geek news last week, Microsoft reached an agreement with the EC for their antitrust case (yes, THAT antitrust case). Microsoft has agreed to give users the option of choosing from 12 web browsers upon the installation of Windows versions shipped to the EU.

Now, no matter how you feel about about Microsoft (love 'em, hate 'em, indifferent), I think this settlement has a much farther-reaching effect than many people care to consider.

For those of you who haven't been paying attention to this, the case stems back to the 90s, when Microsoft's Internet Explorer browser dominated the marketplace. It was argued that some of Microsoft's business tactics were anti-competitive (such as its agreements with OEMs), and the result was driving competitors like Netscape out of business. Lawsuits were filed, and Microsoft defended its position stating that Internet Explorer was an integral and inseparable part of Windows. It lost that argument, and now, for its punishment, must give consumers the opportunity to shop around for other browsers.

The plaintiffs contend that if given a choice, people will choose browsers other than Internet Explorer. Microsoft, of course, asserts that if people really wanted something different, they'd go get it.

Again, no matter how you feel about Microsoft, one has to really consider the implications of this agreement.

Showing (what I would consider to be) an utter lack of misunderstanding of the marketplace, EU Competition Commissioner Neelie Kroes said, "Millions of European consumers will benefit from this decision by having a free choice about which web browser they use."

She went on to say, according to The Register, "Microsoft’s biz strategy of tying its IE browser to the firm’s Windows OS was akin to a supermarket only offering one brand of shampoo on the shelf, with all other choices tucked away out of sight. “What we are saying today is that all the brands should be on the shelf.”"

Her analogy is very poor, not taking into consideration that the supermarket in her example might have a marketing deal with a particular shampoo company or have a family feud going between the maker of another brand of shampoo.

And, if you just go to the gas station on the corner, they might only stock one or two shampoos, unlike one of the megaliths (Wal-Mart, Target, etc.) that will stock dozens. Her idea of competition is more like forcing a particular chain of supermarkets to carry a set variety of product lines.

With the forthcoming release of a Google-branded netbook running Chrome OS (which, is essential, a browser on hardware), one has to wonder if lawsuits are going to pop up against Google to allow other browsers to be run? Google may very well try the "our hardware and software are inextricably linked" argument, if such a suit were to be filed.

If such a suit were to be filed (and Google were to lose with such an argument), that opens yet another Pandora's box:

Can anyone sue any vendor to be able to run any application they choose on the vendor's platform? Could I sue Sony to let me run the Nintendo OS on a PS3? Now that Apple is selling x86-based hardware, should I be able to sue so that I can get Windows factory-loaded on a MacBook Pro?

Even one step further, would it open the door for any competitor of any type of product to sue for compatibility and integration, predicated on the assumption that customers want a choice. For example, if ABC auto OEM sells 123 accessory, and XYZ auto OEM sells 789 accessory that performs a similar function--could XYZ sue ABC to make their interface compatible so that customers could choose to run XYZ's 789 accessories in ABC's autos?

Conversely, if Google were to win such a suit with the "our hardware is made to run only our software" argument, the opposite question is valid:

Could Microsoft (or any other vendor) start branding computers and sell Microsoft-branded laptops with Windows and Internet Explorer only and bypass the EC's judgment?

One could argue that if a consumer goes to a Microsoft brick-and-mortar store and buys a Microsoft-branded computer, that they are overtly choosing the Microsoft platform.

It may sound ridiculous, but if you really look at the arguments that have been played over the last decade, I don't think those types of questions are outside the realm of legal possibility. And, seeing as how we are quite a litigious race, I could imagine such lawsuits being on the horizon.