Fixing the sports plugin

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#161

Post by jachin99 » Tue Feb 27, 2018 5:39 pm

This looks like the right namespace for the sports data tables

using Microsoft.MediaCenter.Store
using System

namespace MediaCenter.Sports.Data

Crash referenced how the makeup of an mxf file could be important in determining which table your data goes into. There have aslo been suggestions that the provider ID must be correct. i can't find any provider info using the object store explorer because that field is blank in leftover sports data.

Here is some provider information i got from using the store explorer:

Under MediaCenter.Sports.Data.SportingEvent
Uids
Namespace
IDValue: Microsoft.WMIS.Sports.SportingEvent
Provider
Copyright:
DisplayName:
Name: MediaCenterDefault
ObjectStore: MediaCenterDefault
Object Type: Microsoft.MediaCenter.Store.ObjectType
PasswordHash: Windows Media Center Default Provider

Today I believe that the missing "On" switch might be adding "Microsoft.MediaCenter.Sports.UI.Dll" somewhere. I'm poking around a machine that I have not added the sports strip to, and I dont see it. I do see that data referenced above though. I'll clone this machine because its a VM, add MCS/Sports strip, and try placing the dll in the file system via drag and drop, and see what happens.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#162

Post by jachin99 » Wed Feb 28, 2018 2:05 am

Capture11.PNG
I can find Microsoft.MediaCenter.Sports.DLL in what looks like a normal WMC install. I see it in the GAC, and I see it in WIndows\ehome. I dont see this one there so I tried using gacutil to register it. Media center studio has quite a few manifest files included with it so I'm wondering if it is just a matter of creating or copying the right manifest file in order to restore the sports strip without MCS. If I can find a way to easily add the sports strip, then I can tinker with it more often, and maybe a few new people will add it also.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#163

Post by jachin99 » Wed Feb 28, 2018 3:44 am

Im now wondering if the MS.MC.SPORTS.DLL handles the logic I.E. reads the guide data store and MS.MC.SPORTS.UI is the actual sports strip. I can't be sure if sports.ui is registered in the GAC or just on the start menu via something like registermceapp.exe

User avatar
Crash2009

Posts: 4357
Joined: Thu May 17, 2012 12:38 am
Location: Ann Arbor, Michigan

HTPC Specs: Show details

#164

Post by Crash2009 » Wed Feb 28, 2018 8:42 am


jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#165

Post by jachin99 » Thu Mar 01, 2018 11:08 pm

https://stackoverflow.com/questions/227 ... pplication

Might need this to attempt registering a .dll. The question relates to creating a manifest file. I have tried to do so through test rights but I get the same error message so its on to figuring out how to create a manifest file.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#166

Post by jachin99 » Fri Mar 02, 2018 3:17 am

After poking around some tonight, I noticed two new files in my windows/ehome directory. mediacneter.sports.data.sportingevent and mediacenter.data.sports I'm guessing these were created from my attempts at loading sports data into the guide. They have a .sports file extention but I can't view them with a text editor.

EDIT: I also see two new folders lableled mediacenter.sports.data, and mediacenter.data that each have three files named Blocks.mem, Events.mem, and Root.mem

User avatar
Crash2009

Posts: 4357
Joined: Thu May 17, 2012 12:38 am
Location: Ann Arbor, Michigan

HTPC Specs: Show details

#167

Post by Crash2009 » Sat Mar 03, 2018 1:44 pm

Have you had a look in "C:\ProgramData\Microsoft\eHome\Packages"

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#168

Post by jachin99 » Mon Mar 05, 2018 2:06 pm

I've looked there also. i'm not sure what makes Windows decide if it wants to store something in the Windows directory or the Program Data directory. I stood up a win 7 pro x64 machine, and after setting up WMC libraries, and a few updates I have the packages folder in Program Data/ehome. This is without MCS, or any kind of modifications to Windows. I'm wondering what would happen if we ran an MXF command to load the sports database without MCS. i would like to see if I get lucky, and this somehow turns the sports strip back on. When I find the correct command, I'll post it here so others can try. I believe from an earlier attempt that the command will have to either be ran from a test rights prompt, OR, you will have to take ownership of c:\windows\ehome\mediacenter.sports.data which is a .sports file that doesn't exist until you load the sports data stores via loadmxf so that's wierd. Either way I'll post the comands/mxf modifications that I used to load the sports data stores when I get time so others can test this. I just started more classes so I'll be short on time for WMC over the next 8 weeks but i'm taking the summer off of school so that might help.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#169

Post by jachin99 » Tue Mar 06, 2018 1:35 am

I loaded my egp123 generated guide into my virgin WMC 7 Pro SP 1 machine, and it created the sports.data folders, and .sport files but It didn't get my sports strip back. I did this without testrights, and used a regular command prompt. The command i used was:

loadmxf.exe -s Microsoft.MediaCenter.Sports.data -i c:\folder\epg123.mxf

The mxf file was modified to reference Microsoft.MediaCenter.Sports.Data.SportingEvent namespace.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#170

Post by jachin99 » Tue Mar 06, 2018 3:16 am

I uninstalled, and reinstalled WMP/WMC on the machine in my TV room. My theory about WMP was disproven but something even wierder happened. I see the sports strip again, and it looks like my idea about Microsoft.MediaCenter.Sports.UI.dll was actually right. After my restore, I found the dll in Windows ehome but NOT in the GAC. The assembly version is 6.1.1346.0

User avatar
Crash2009

Posts: 4357
Joined: Thu May 17, 2012 12:38 am
Location: Ann Arbor, Michigan

HTPC Specs: Show details

#171

Post by Crash2009 » Tue Mar 06, 2018 4:43 am

Check post 164, we were replacing existing with hex-editex files...Copy the new files to the same place as the old. Then I think k we used ngen to uninstall old and install new. Copy the code into notepad and shut off wordwrap...easier to read

A couple posts down, T-S gets the CMDs for win7, mine were for win10

Code: Select all

set _ngen=%windir%\Microsoft.NET\Framework\v2.0.50727\ngen.exe
for /d %%G in (ehshell,Microsoft.MediaCenter.UI) do (
%_ngen% uninstall "%%G, Version=6.1.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil" >nul 2>&1
%_ngen% install "%%G, Version=6.1.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil" /NoDependencies /queue:1 >nul 2>&1
)
set _ngen=%windir%\Microsoft.NET\Framework\v2.0.50727\ngen.exe
for /d %%G in (Microsoft.MediaCenter.UI) do (
%_ngen% uninstall "%%G, Version=6.1.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil" >nul 2>&1
%_ngen% install "%%G, Version=6.1.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil" /NoDependencies /queue:1 >nul 2>&1
)

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#172

Post by jachin99 » Wed Mar 07, 2018 3:35 am

The machine I spoke about above is 32 bit. I tried to recreate this on a 64 bit machine but I didn't have any luck. On the 64 bit machine I didn't use any loadmxf commands to load the sports database so that might be the missing piece. I'll try that later. For you crash, I'll have to ask around on mdl and come up with a 64 and 32 bit version of some program that grabs my WMC installs and transplants them. That will probably take some time but hopefully being able to easily set this up will give me one or two more people that REALLY know what they are doing to help out. After that I'll start probing the object store and do some DB research to see if I can't create a sample mxf file.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#173

Post by jachin99 » Thu Mar 08, 2018 12:35 am

I have the sports strip on another machine without MCS permanently installed. I did use MCS to restore it though. I was poking around the program data folder, and I found a media center studio log file. Here are its contents.
Media Center Studio.exe Information: 0 : Installing assembly C:\Users\Den\Desktop\mcst..tion_e7ba95bf63da1a4e_0000.0000_8295f17bcae6f0ac\ICSharpCode.SharpZipLib.dll (version 0.85.5.452) into GAC.
DateTime=2018-03-07T02:57:27.2328093Z
Media Center Studio.exe Information: 0 : Installing assembly C:\Users\Den\Desktop\mcst..tion_e7ba95bf63da1a4e_0000.0000_8295f17bcae6f0ac\Advent.Common.dll (version 1.1.5.4) into GAC.
DateTime=2018-03-07T02:57:27.3264094Z
Media Center Studio.exe Information: 0 : Installing assembly C:\Users\Den\Desktop\mcst..tion_e7ba95bf63da1a4e_0000.0000_8295f17bcae6f0ac\Advent.VmcExecute.dll (version 1.0.5.2) into GAC.
DateTime=2018-03-07T02:57:27.3576095Z
Media Center Studio.exe Information: 0 : No backup of C:\Windows\ehome\EHRES.DLL exists, creating C:\ProgramData\Media Center Studio\Backups\EHRES.DLL.
DateTime=2018-03-07T02:58:22.9122109Z
Media Center Studio.exe Information: 0 : Version of C:\Windows\ehome\EHRES.DLL has changed (6.1.7600.16385 to 6.1.7601.23403), refreshing backup file C:\ProgramData\Media Center Studio\Backups\EHRES.DLL.
DateTime=2018-03-07T03:06:35.3110171Z
Media Center Studio.exe Error: 0 : Media Center Error:
DateTime=2018-03-07T03:07:31.7852472Z

I also dropped MediaCenter.Sports.UI.dll into the ehome folder from Programdata/ packages.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#174

Post by jachin99 » Thu Mar 08, 2018 1:26 am

I took media center.sports.ui out of ehome and the sports strip was still there. Maybe it loads it from packages or maybe it doesn't use it at all. My new suspect files are Advent common and vmc execute. I have a virgin 64 bit machine with good backups ready for testing.

User avatar
Crash2009

Posts: 4357
Joined: Thu May 17, 2012 12:38 am
Location: Ann Arbor, Michigan

HTPC Specs: Show details

#175

Post by Crash2009 » Thu Mar 08, 2018 5:49 am

jachin99 wrote:The machine I spoke about above is 32 bit. I tried to recreate this on a 64 bit machine but I didn't have any luck. On the 64 bit machine I didn't use any loadmxf commands to load the sports database so that might be the missing piece. I'll try that later. For you crash, I'll have to ask around on mdl and come up with a 64 and 32 bit version of some program that grabs my WMC installs and transplants them. That will probably take some time but hopefully being able to easily set this up will give me one or two more people that REALLY know what they are doing to help out. After that I'll start probing the object store and do some DB research to see if I can't create a sample mxf file.
They extracted some different WMC's near the beginning. Some of the old WMC for win10 contain extracted win7 versions.

Look on page 1 and download V1, V2, etc

extract the WMC into cabs with "Aunty Mel's Cheap And Nasty SxS Package Extractor"

Make sure you check this one

https://forums.mydigitallife.net/thread ... st-1126210

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#176

Post by jachin99 » Fri Mar 09, 2018 2:51 am

I tried installing all of those assemblies from the log file above using the MSVS 2008 gacutil (This moves the assemblies into the windows\assemblies folder I believe - for .net 3.5) I even transfered ehres and MC.Sports.UI.DLL into ehome but not sports strip on my test machine. It looks like I might have to try a full blown WMC transplant like your suggesting crash. I suppose I'll wait a few days to make sure everything "Sticks" while i look at the copy scripts on MDL. THe good news is I have this for both 32 BIT AND 64 BIT WINDOWS 7. Now I don't really trust the MCS log but I'm not very well informed about how this stuff works either. I wish it would just tell me whats wrong.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#177

Post by jachin99 » Mon Mar 19, 2018 2:27 am

Alrite guys I gotta confirm later because I'm tire BUT ehres.dll with a working sports strip has a file named sports.xml. ehres without the sports strip does not. I used the logged resources from media center theme to figure this out. If I can pack sports.xml in any ehres.dll file I can restore the sports strip without mcs

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#178

Post by jachin99 » Wed Mar 21, 2018 2:56 am

jachin99 wrote:Alrite guys I gotta confirm later because I'm tire BUT ehres.dll with a working sports strip has a file named sports.xml. ehres without the sports strip does not. I used the logged resources from media center theme to figure this out. If I can pack sports.xml in any ehres.dll file I can restore the sports strip without mcs
I poked around a little more, and this seems to be wrong also. Maybe it just needs a start menu resource edit somewhere, like the files already exist, and a html or xml pointer has been removed.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#179

Post by jachin99 » Wed Mar 21, 2018 5:17 pm

I started to look at some of the resource files by logging them through Media Center Themer. There is a big difference between the ehres.dll files on machines that have a sports strip, and machines that don't. It looks like mcml and XML files are packed into HTML documents, and HTML is combined with Images to create dynamic link libraries, or dlls. I'm guessing the XML files are pointers to MCML files that actually defind the WMC graphics. Inside of the ehres.dll HTML, there is an XML file called Start Menu.XML . These lines are in the sports enabled startmenu.xml but not in the current, up to date startmenu.xml that comes with WMC today. These line are at the very top of the document.

Code: Select all

<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="19" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="18" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="17" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="16" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="15" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="14" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="13" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="12" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="11" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="10" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="9" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="8" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="7" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="6" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="5" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="4" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="3" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="2" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="1" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
					<home:ConstrainedCategory>
						<Value>
							<home:ExtensibilityPlaceholderStartMenuCategory Index="0" Priority="100"/>
						</Value>
					</home:ConstrainedCategory>
Further down there is another difference under TV. These lines are in the sports enabled startmenu.xml and not the other

Code: Select all

<home:ConstrainedCategory>
						<Value>
							<home:MSOStartMenuCategory App="MSO" Priority="2"/>
						</Value>
						<Constraint>
							<home:IsInternalApplicationEnabled App="MSO" />
						</Constraint>
					</home:ConstrainedCategory>
If I had to pick one of the two differences I would go with the MSO being missing but I could be wrong about both. Simply transplanting ehres.dll doesn't bring back the sports strip.

jachin99

Posts: 1293
Joined: Wed Feb 24, 2016 3:36 pm
Location:

HTPC Specs: Show details

#180

Post by jachin99 » Fri Apr 06, 2018 1:07 pm

I found the help that I have been looking for so keep an eye out for some good news really soon!!! :thumbup:

Post Reply