Creating a Windows XP Service Pack 3 Integrated CD for Windows XP Media Center Edition

System Requirements:

  • Windows XP Media Center Edition 2004
  • Windows XP Media Center Edition 2005

The Problem:

When you create a slipstreamed installation media for Windows XP Media Center Edition you receive the following error message at approximately “26 minutes” until completion during the Windows XP Professional Edition setup routine.

Files Needed
The file ‘ehiEPG.dll’ on Windows XP Professional CD 2 is needed.
Type the path where the file is located, and then click OK.

Slipstream ehiEPG.dll error

If you check the installation media, the file does not exist and you will be unable to install the Media Centre module with the Windows XP installation.

More Information:

If you check the Windows XP Slipstreamed Media, you will not be able to find the file ehiEPG.dll or ehiEPG.dl_ on the disc set. If you are looking for a short answer to your problem, here it is:

  • Windows XP Media Center 2004 – You can slipstream
  • Windows XP Media Center 2005 – You cannot slipstream

 

This one took me a frustratingly large amount of time to work out, but here is a rundown of how I have come to this conclusion.

 

When you slipstream XP SP3 onto Tablet PC Edition Media (which is the same as the MCE media minus the Sonic and Plus CAB’s), the Tablet PC components on CD 2 are updates as part of the slipstream. When you perform the same action on a MCE 2005 media set, no changes are made to the cmpnents\mediactr\i386 folder on disc 2.

So what about this ehiEPG.dll file?

The Media Centre installer is conducted through a sub-file in the i386 folder called: MEDCTROC.IN_

if you expand this file before you perform the slipstream with SP3 (using expand <path>\MEDCTROC.IN_ c:\MEDCTROC.INI) and then do the same after the slipstream you will come up with a completely different set of results (shown in the table below).

MCE 2005 SP2 (Microsoft) MCE 2005 SP3 (Slipstreamed)
Arch.jpg Arch.jpg
AspectRatio16x9.wmv = 1 AspectRatio16x9.wmv =1
AspectRatio4x3.wmv = 1 AspectRatio4x3.wmv =1
bdatunepia.dll = 1 bdatunepia.dll = 1
bdatunepia.ldo = 1 bdatunepia.ldo = 1
BigWave.jpg = 1 BigWave.jpg = 1
Brightness.wmv = 1 Brightness.wmv =1
CBVAFilter.dll = 1
ColorTint.wmv = 1 ColorTint.wmv =1
Contrast.wmv = 1 Contrast.wmv =1
DebugSvc.dll = 1 DebugSvc.dll = 1
down_gem.png = 1 down_gem.png = 1
down_otto.png = 1 down_otto.png = 1
ehchsime.dll = 1 ehchsime.dll = 1
ehCIR.dll = 1 ehCIR.dll = 1
ehCIR.ird = 1 ehCIR.ird = 1
ehcir.ldo = 1 ehcir.ldo = 1
ehCIRcl.dll = 1
EhCM.dll EhCM.dll
ehcm.ldo ehcm.ldo
ehcommon.dll = 1 ehcommon.dll = 1
ehcommon.ldo = 1 ehcommon.ldo = 1
EhDebug.dll = 1 EhDebug.dll = 1
ehdrop.dll = 1 ehdrop.dll = 1
ehentt.dll = 1 ehentt.dll = 1
ehepg.dll = 1 ehepg.dll = 1
ehepg.ldo = 1 ehepg.ldo = 1
ehepgdat.dll = 1 ehepgdat.dll = 1
ehepgdat.ldo = 1 ehepgdat.ldo = 1
ehepgdec.dll = 1 ehepgdec.dll = 1
ehepgnet.dll = 1 ehepgnet.dll = 1
ehGLID.dll = 1 ehGLID.dll = 1
ehiEPG.dll = 1
ehiepg.ldo = 1
ehiExtens.dll = 1 ehiExtens.dll = 1
ehiMsgr.dll = 1
ehIntro.wmv = 1 ehIntro.wmv =1
ehiPlay.dll = 1 ehiPlay.dll = 1
ehiplay.ldo = 1 ehiplay.ldo = 1
ehiProxy.dll = 1 ehiProxy.dll = 1
ehiproxy.ldo = 1 ehiproxy.ldo = 1
ehiTuner.dll = 1
ehituner.ldo = 1
ehiuserxp.dll = 1 ehiuserxp.dll = 1
ehiuserxp.ldo = 1 ehiuserxp.ldo = 1
ehiVidCtl.dll = 1 ehiVidCtl.dll = 1
ehividctl.ldo = 1 ehividctl.ldo = 1
ehiwmp.dll = 1 ehiwmp.dll = 1
ehiwmp.ldo = 1 ehiwmp.ldo = 1
ehiwuapi.dll = 1
ehjpnime.dll = 1 ehjpnime.dll = 1
ehkeyctl.dll = 1
ehmsas.exe = 1 ehmsas.exe = 1
ehPlayer.dll = 1 ehPlayer.dll = 1
ehProxy.dll = 1 ehProxy.dll = 1
ehRec.exe = 1 ehRec.exe = 1
ehRecObj.dll = 1 ehRecObj.dll = 1
ehrecobj.ldo = 1 ehrecobj.ldo = 1
ehRecvr.exe = 1
ehres.dll = 1 ehres.dll = 1
ehreschs.dll = 1 ehreschs.dll = 1
ehresde.dll = 1 ehresde.dll = 1
ehresfr.dll = 1 ehresfr.dll = 1
ehresit.dll = 1
ehresja.dll = 1 ehresja.dll = 1
ehresko.dll = 1 ehresko.dll = 1
ehresnl.dll = 1
ehSched.exe = 1 ehSched.exe = 1
ehshell.exe = 1 ehshell.exe = 1
ehshell.ldo = 1 ehshell.ldo = 1
ehsqdb20.dll = 1 ehsqdb20.dll
ehsqqp20.dll = 1 ehsqqp20.dll = 1
ehsqse20.dll = 1 ehsqse20.dll = 1
ehtray.exe = 1 ehtray.exe = 1
ehui.dll ehui.dll
ehuihlp.dll = 1 ehuihlp.dll = 1
EpgTOS.txt = 1
Fish.jpg Fish.jpg
Freestyl.jpg = 1 Freestyl.jpg = 1
gacutil.exe = 1
GEMMAS~1.MCL = 1 GEMMAS~1.MCL =1
mcdftreg.inf = 1 mcdftreg.inf = 1
MCETuningOverrides.xml = 1
mcrmgr.dll = 1
mcrmgr.exe = 1
mcskin.wmz = 1 mcskin.wmz = 1
medcthlp.cab = 1 medcthlp.cab = 1
medctrro.exe = 1 medctrro.exe = 1
Microsoft.MediaCenter.dll = 1
Otto.mcl Otto.mcl =1
Positioning16x9.wmv = 1 Positioning16x9.wmv =1
Positioning4x3.wmv = 1 Positioning4x3.wmv =1
PositioningOS16x9.wmv = 1
PositioningOS4x3.wmv = 1
RegisterMCEApp.exe = 1
RGBBalance.wmv = 1 RGBBalance.wmv =1
Rio.jpg = 1 Rio.jpg = 1
segmcr.ttf = 1
segmcsb.ttf = 1
Sharpness.wmv = 1 Sharpness.wmv =1
snchk.exe = 1
SS2.dvr-ms = 1
SS51.dvr-ms = 1
winxpfs.jpg = 1 winxpfs.jpg = 1
WMM2DVR.DLL = 1
WMM2ERES.dll = 1
WMM2EXT.dll = 1
WMM2FXPZ.DLL = 1
WMM2FXPZ.XML = 1

 

The differences between the two installation file sets is quite clear, there are many files missing from the SP3 installer list and a hand full of files are new on the SP3 list. The presence of new file is however understandable because of new files included in hot fixes to Media Centre Edition since XP SP2 was released in 2004. Where are the files though?

Extracting the SP3 installer reveals the files to be located within the Service Pack hierarchy in the location:
\i386\root\cmpnents\mediactr\i386

My mistake here was not examining the files closer, because I assumed that perhaps there had been an issue with the slipstream script and the files had not been copied across to the delivery folder for disc 2 during the slipstream.

To test this theory, I halted the Virtual Machine that I had asking me for ehiEPG.dll, copied the contents of service pack \i386\root\cmpnents\mediactr\i386 into \cmpnents\mediactr\i386 of my slipstreamed build folder and recreated the disc 2 ISO image.

Sure enough, the Virtual Machine installation took one look at the disc and was suddenly happy again. Sounds good?

So I abandoned the install and started again to ensure that I was not mixing file versions. The install got to 26 minutes, no problems, the install got to 10 minutes, no problems. The install came up with OOBE and still no problems.

On the start menu there was Media Center link and in clicking it the MCE initiator grumbled about the graphics card not being compatible with MCE (this was Virtual PC after all) but sure enough, MCE loaded.

I immediately hit Windows Update and was offered nothing more than:

  • Internet Explorer 7.0
  • Windows Malicious Software Removal Tool May 2008
  • 923789 – Update for Adobe Flash Player

So it looked like it had worked… until after a couple of minutes of fiddling I realised that something looked very, very wrong (and no, not just the hashed up low-depth graphics). Firstly, the plus pack and sonic plugins were missing from the system, this included the Royal XP skin that is supposed to be included with MCE.

Secondly, not being familiar with MCE for XP having never actually bothered to install the thing, it took me a few minutes to realise that this was so radically different from the Vista version that it looked more like the third party MyCinema Media Centre than screenshots that I have seen of the XP one.

Windows XP Media Centre Edition About Screen

… 5.1.2600 (XP) 5512 (SP3’s build number) it worked!

Oh, wait a minute, that says “Windows XP Media Center Edition 2004

So I checked the disc’s (that I had never used before). They said MCE 2005… but a quick google told me that 5.1.2700 was MCE 2005 and that no references to MCE 2004 had even heard of 5.1.2600.5512.

So I checked Disc 2 \cmpnents\mediactr\i386\mediactr.cab pulled out ehshell.ex_, inflated it and checked the version number: 5.1.2700.2180:
5.1 (XP) 2700 (MCE 2005) 2180 (XP SP2’s build number)

I had Media Center Edition 2005.

Conclusion

I started with MCE 2005 and wound up with MCE 2004. Confused?

It then dawned on me that the SP3 redistributable must not have any awareness of MCE 2005 at all. The reason why the installer from a Slipstreamed MCE 2005 disc is asking for ehiEPG.dll is because when you slipstream, it doesn’t get the files wrong, it just assumes that you are using Windows XP Media Center 2004 and integrates the updater script for the patched version of MCE 2004!

Once I had given it the MCE 2004 source files (provided in the SP3 redist) it was more than happy to install and deliver MCE 2004 for me in fully working order.

So as far as I am concerned, if you have a MCE 2004 installation set, you can create a MCE 2004 slipstreamed media (although I do not know if the slipstream script will populate the updates onto disc 2 for you or not – I am assuming that it will. If however you have MCE 2005, then quite frankly you cannot slipstream MCE 2005 SP3 as there is nothing to slipstream.

Presumably if you reintroduce the MCE 2005 MEDCTROC.IN_ file after slipstreaming the base OS, you will be able to load a SP3 base OS and a clean SP2 level MCE 2005 – but I have not tested this hypothesise.