How to workaround install problems with MSN Remote Record on Windows Vista x64

An updated version of MSN Remote Record that works with Windows Media Center for Windows Vista has been released for download.  The following links contain more information about the MSN Remote Record service:

The Green Button forum post also contains some customer comments about download and installation issues that have been encountered so far.  There are a couple of specific issues that affect the ability to download and install MSN Remote Record on Windows Vista x64 systems, and I wanted to post a workaround that can be used along with more information about what is causing these issues behind the scenes.

How to download and install on Windows Vista x64

  1. Click on the Start menu, choose All Programs, then Accessories, then right-click on the Command Prompt item and choose Run as administrator
  2. Click Continue to grant permission to launch a cmd prompt with administrator privileges
  3. Run the command reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Remote Record" /f
  4. Click on the Start menu, choose All Programs, then Internet Explorer (64-bit)
  5. Navigate to https://tv.msn.com/tv/rr/rrsetup.aspx
  6. Click on the Install Remote Record button to download and install MSN Remote Record

What can cause the Install button to not appear?

The web page at https://tv.msn.com/tv/rr/rrsetup.aspx uses some information from the web browser user agent string to determine whether or not it should offer an Install Remote Record button.  This is done to prevent users from being able to download and attempt to install MSN Remote Record on a system that does not have Windows Media Center.  Therefore, if you browse to this web page on a system that does not have Windows XP Media Center Edition 2005 or Windows Vista Home Premium or Ultimate, you will not see an Install button.

In addition, there is another issue that only affects Windows Vista x64 systems.  Windows Vista x64 includes both 32-bit and 64-bit versions of Internet Explorer, but the 32-bit version is used by default unless you specifically go to the Start menu shortcut or the folder that it is located and launch the 64-bit version.  The 32-bit version of Internet Explorer only reads user agent information from the 32-bit registry.

Windows Media Center for Windows Vista only installs native 64-bit files and registry information on Windows Vista x64.  Therefore, the browser user agent string will be different depending on what version of the registry Internet Explorer is looking at.  The following are example user agent strings from the 32-bit and 64-bit registry on my 64-bit test system:

  • 32-bit: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)
  • 64-bit: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Win64; x64; .NET CLR 2.0.50727; SLCC1; Media Center PC 5.0)

You'll notice above that only the 64-bit user agent string reports that the system contains Windows Media Center.  This difference in user agent strings prevents the Install button from being presented on Windows Vista x64 Home Premium and Ultimate unless you browse to the MSN Remote Record site from a 64-bit instance of Internet Explorer.

Why does installation fail on Windows Vista x64?

If you attempt to install MSN Remote Record on Windows Vista x64 Home Premium or Ultimate without first creating the registry value listed in step 3 of the steps listed above, you will likely encounter an error dialog that states the following, and then setup will rollback and fail:

The installer failed to connect with the MSN Remote Record service.  Please make sure your Internet connection is working and try installing again.

The issue here is that the MSN Remote Record MSI is a 32-bit MSI.  Because of that, when it installs, it uses the Windows Installer Registry table to create an empty registry key in the 32-bit registry hive (the WOW64 reflected hive) in the following location:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Media Center\Service\Remote Record

There is a custom action inside of the MSN Remote Record MSI called ClientServiceInitHelper.exe that attempts to create some service connection registry values.  During a failing x64 install, you can see several warning entries in the application event log that indicate that this custom action is attempting to write to the 64-bit registry in the following location:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Remote Record

It turns out that this custom action code will fail with an error if the sub-key it is trying to create values under does not exist.  Since the MSI is 32-bit, the Remote Record sub-key is written to a different location than the custom action code is expecting, and the custom action fails, which causes setup to rollback.

The workaround listed above creates the Remote Record sub-key in the location expected by the custom action, and installation succeeds on Windows Vista x64 Home Premium and Ultimate.