Here is my setup:
Folder structure:
¦ Install.bat
¦ mediactr.cab
¦ plus.cab
¦ sonic.cab
+---Copy Files
¦ +---Windows
¦ +---Inf
¦ ¦ medctroc.inf (extracted from
¦ ¦ plusoc.inf
¦ ¦ sonic.inf
¦ ¦ sysoc.inf
¦ +---System32
¦ ¦ ehOCGen.dll
¦ ¦ encdec.dll
¦ ¦ medctroc.dll
¦ ¦ mpeg2data.ax
¦ ¦ msvidctl.dll
¦ ¦ plusoc.dll
¦ ¦ quartz.dll
¦ ¦ sbe.dll
¦ ¦ sbeio.dll
¦ ¦ vbicodec.ax
¦ ¦ wstpager.ax
¦ ¦ wstrenderer.ax
¦ ¦ wstrendr.ax
¦ +---CatRoot
¦ +---{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
¦ mediactr.cat
¦ plus.cat
¦ sonic.cat
+---ehShell backup
¦ ehshell.exe
+---Framewrk
¦ 1.0.3705.0.exe
+---Registry
¦ MCE.reg
+---Tools
sn.exe (from SDK, see below)
Contents of install.bat:
rem Install .NET Framework 1.0 if needed
If NOT EXIST "%systemroot%\Microsoft.NET\Framework\v1.0.3705\ngen.exe" call :InstallFramework
rem Copy Needed Files
xcopy /E /I /Y /H "Copy Files\Windows" %systemroot%
rem Register DLLs
regsvr32 /s %systemroot%\eHome\custsat.dll
regsvr32 /s %systemroot%\System32\encdec.dll
regsvr32 /s %systemroot%\System32\msvidctl.dll
regsvr32 /s %systemroot%\System32\quartz.dll
regsvr32 /s %systemroot%\System32\sbe.dll
rem Set Path
rem Install MCE
rundll32 syssetup,SetupInfObjectInstallAction Freestyle 128 medctroc.inf
rem Install Add-Ons
rem rundll32 syssetup,SetupInfObjectInstallAction PlusTheme 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusSpac 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusGold 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusDavn 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusNatr 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusMpix 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusDancer 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusParty 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusAudio 128 plusoc.inf
rem rundll32 syssetup,SetupInfObjectInstallAction PlusCDLM 128 plusoc.inf
rem Copy Needed Files Again
xcopy /E /I /Y /H "Copy Files\Windows" %systemroot%
rem Register DLLs Again
regsvr32 /s %systemroot%\eHome\custsat.dll
regsvr32 /s %systemroot%\System32\encdec.dll
regsvr32 /s %systemroot%\System32\msvidctl.dll
regsvr32 /s %systemroot%\System32\quartz.dll
regsvr32 /s %systemroot%\System32\sbe.dll
Rem Backup Original ehShell
ren %systemroot%\ehome\ehshell.exe *.bak
rem Copy Patched ehShell
copy "ehShell Backup\ehshell.exe" %systemroot%\ehome
Tools\sn -Vl
Tools\sn -Vr *
rem Setup Registry
regedit /s Registry\MCE.reg
rem Run MCE
%systemroot%\eHome\ehShell.exe
exit
:InstallFramework
Framewrk\1.0.3705.0.exe /Q
Contents of MCE.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Media Center\Extensibility]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Media Center\Extensibility\Applications]
@=""
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Media Center\Extensibility\Categories]
@=""
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Media Center\Extensibility\Entry Points]
@=""
ehShell.exe:
- Install Framework 1.0 SDK
- Run "C:\Program Files\Microsoft.NET\FrameworkSDK\Bin\ildasm.exe"
- Open ehshell.exe from mediactr.cab. Go to File > Dump and in the options dialog that appears afterwards make sure only 'Dump IL Code' and 'Expand try/catch' checkboxes are checked.
- Open ehshell.il in notepad and replace true in line "IL_001e: brtrue.s IL_002d" to false. Save it
- Delete ehshell.res and replace it with ehshell.res in the attachment below
- Open a command prompt and switch to the folder where you decompiled ehshell to
- Recompile it using "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\ilasm.exe /resource:ehshell.res /exe ehshell.il"
Credits go out to Cactus, Raphael and tmksnyder.