Tips Upgrade from MediaBrowser 2 to MediaBrowser 3 on my Acer Idea 510 with MediaCenter as a shell

I have always been using Windows MediaCenter as a replacement for the Windows Shell on my Acer, even after the upgrade of this HTPC to Windows 8 x86. But I have always been also a big fan of the MediaBrowser plugin for MediaCenter. I was unfortunately stuck to MediaBrowser 2 as the latest version was relying on a server component which couldn't be run without the windows shell.

Good news, MediaBrowser 3's server part can now be run as a Service as solve my issue!

Click to Read More

As a reminder (see here), I am user a "public" Windows Account (i.e.: with a blank password) to grant my kids access to Windows MediaCenter. Windows MediaCenter is replacing the Windows Shell to improve the user experience; it's indeed much easier for the kids to start a cartoon if they don't have to go through Windows Explorer to start MediaBrowser (embedded into Windows Media Center).

To upgrade from MediaBrowser 2 to MediaBrowser 3:

  1. Log on Windows with a local administrator Windows Account
  2. Uninstall Media Browser 2
  3. Install Media Browser 3's server part
  4. Complete the server configuration wizard to define your libraries, etc...
    1. http://<your server>:8096/mediabrowser/dashboard/wizardstart.html
  5. I suggest to configure (*):
    1. One user profile without password to grant guests and kids access to public content.
    2. Another user profile with a password to protect accessed to private/adult content.
  6. Edit the "Custom User Interface" of the Windows Account without password to run Media Browser 3:  %windir%\ehome\ehshell.exe /mediamode /nostartupanimation /entrypoint:{CE32C570-4BEC-4aeb-AD1D-CF47B91DE0B2}\{FC9ABCCC-36CB-47ac-8BAB-03E8EF5F6F22}
  7. Check that you didn't tick the option "Run server at Startup" in the "Advanced" tab as this is not compatible with MediaBrowser running as a Service.
  8. Stop the "Media Browser" Service via the Windows Services Management console
  9. Check that this Media Browser Service is configured to start 'automatically' and not 'manually'
  10. Set the Windows account of a local administrator - with adequate rights to access your media (e.g.: on your NAS) - as a "log on" account on the Media Browser Service.
  11. Back to MediaBrowser's configuration UI, rescan the media libraries via the "Scheduled Tasks" tab.
  12. Install MediaBrowser 3's client part
  13. Possibly wait until the "rescan" task is completed and run Media Browser to check that you can access your media.
  14. Log-off.
  15. Log-on with your "public" Windows Account and check that you can access your media.

(*) The user profiles defined in MediaBrowser are not related to any specific Windows account. E.g.: the username and password set for those users is not used to access network resources, etc... There are only used to define various "profiles" within MediaBrowser. It's also (among other) a replacement for the "pin code" that used to protect access to libraries depending on the "rating".

Tips Run MediaBrowser 2.6.1 on Windows 8.1

MediaBrowser 2.6.2 does not run anymore on Windows 8.1.

The problem is that it needs the version 6.1.0.0 of the MS libraries "mediacenter". But the version available on Windows 8.1 is 6.3.0.0. Configuring the adequate BindingRedirect fix the problem.

Click to Read More

Simply edit the config files "Configurator.exe.config" and "MediaBrowserService.exe.config" located by default in "C:\Program Files (x86)\MediaBrowser" or "C:\Program Files\MediaBrowser" depending respectively if Windows is a x64 or x86.

Search for 6.2.0.0 and replace each occurrence with 6.3.0.0 (using Notepad++ run as administrator)

It works for me... both for the service and the configurator ;)
This is a workaround for those who don't want to move from MediaBrowser 2.6.2 to 3...

Here is the Configurator.exe.config file:
<?xml version="1.0"?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
 <supportedRuntime version="v4.0"/>
 <supportedRuntime version="v2.0.50727"/>
 </startup>

<runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter.UI" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 </assemblyBinding>
 </runtime>
</configuration>
And here is the MediaBrowserService.exe.config file:
<?xml version="1.0"?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
 <supportedRuntime version="v4.0"/>
 <supportedRuntime version="v2.0.50727"/>
 </startup>

<runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter.UI" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehRecObj" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehShell" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter.Shell" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstore" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstoredb" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehiExtens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="BDATunePIA" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstore" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstoredb" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcepg" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehiProxy" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 </assemblyBinding>
 </runtime>
</configuration>