[DISCUSSION] Patch WMC to run on Windows 10 final & possible alternatives

Discussion in 'Windows 10' started by ricktendo64, May 8, 2015.

  1. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    #10721 acer-5100, Jan 13, 2024
    Last edited: Jan 13, 2024

    In the original WMC each file has three hard links: working directory/winsxs/msil.

    SxS links are useless in non DISM installations so below is what I did back in the "middle age" in 8.7/8.8

    Code:
    
    echo Creating hard links
    
    
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\BDATunePIA\v4.0_6.3.0.0__31bf3856ad364e35\BDATunePIA.dll %SystemRoot%\ehome\BDATunePIA.dll  >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\mcplayerinterop\v4.0_6.3.0.0__31bf3856ad364e35\mcplayerinterop.dll  %SystemRoot%\ehome\mcplayerinterop.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\mcstoredb\v4.0_6.3.0.0__31bf3856ad364e35\mcstoredb.dll %SystemRoot%\ehome\mcstoredb.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\mcupdate\v4.0_6.3.0.0__31bf3856ad364e35\mcupdate.exe %SystemRoot%\ehome\mcupdate.exe >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\Mcx2Dvcs\v4.0_6.3.0.0__31bf3856ad364e35\Mcx2Dvcs.dll %SystemRoot%\ehome\Mcx2Dvcs.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\Microsoft.MediaCenter.Interop\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.Interop.dll %SystemRoot%\ehome\Microsoft.MediaCenter.Interop.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\Microsoft.MediaCenter.iTV.Media\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.iTV.Media.dll %SystemRoot%\ehome\Microsoft.MediaCenter.iTV.Media.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\Microsoft.MediaCenter.Mheg\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.Mheg.dll %SystemRoot%\ehome\Microsoft.MediaCenter.Mheg.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_64\Microsoft.MediaCenter.TV.Tuners.Interop\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.TV.Tuners.Interop.dll %SystemRoot%\ehome\Microsoft.MediaCenter.TV.Tuners.Interop.dll >nul 2>&1
    
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_32\ehexthost32\v4.0_6.3.0.0__31bf3856ad364e35\ehexthost32.exe %SystemRoot%\ehome\wow\ehexthost32.exe >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_32\ehexthost32\v4.0_6.3.0.0__31bf3856ad364e35\ehexthost32.exe.config %SystemRoot%\ehome\wow\ehexthost32.exe.config >nul 2>&1
    
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehCIR\v4.0_6.3.0.0__31bf3856ad364e35\ehCIR.dll %SystemRoot%\ehome\ehCIR.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehexthost\v4.0_6.3.0.0__31bf3856ad364e35\ehexthost.exe %SystemRoot%\ehome\ehexthost.exe >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehexthost\v4.0_6.3.0.0__31bf3856ad364e35\ehexthost.exe.config %SystemRoot%\ehome\ehexthost.exe.config >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiActivScp\v4.0_6.3.0.0__31bf3856ad364e35\ehiActivScp.dll %SystemRoot%\ehome\ehiActivScp.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiBmlDataCarousel\v4.0_6.3.0.0__31bf3856ad364e35\ehiBmlDataCarousel.dll %SystemRoot%\ehome\ehiBmlDataCarousel.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiExtens\v4.0_6.3.0.0__31bf3856ad364e35\ehiExtens.dll %SystemRoot%\ehome\ehiExtens.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiiTV\v4.0_6.3.0.0__31bf3856ad364e35\ehiiTV.dll %SystemRoot%\ehome\ehiiTV.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiProxy\v4.0_6.3.0.0__31bf3856ad364e35\ehiProxy.dll %SystemRoot%\ehome\ehiProxy.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiTVMSMusic\v4.0_6.3.0.0__31bf3856ad364e35\ehiTVMSMusic.dll %SystemRoot%\ehome\ehiTVMSMusic.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiUPnP\v4.0_6.3.0.0__31bf3856ad364e35\ehiUPnP.dll %SystemRoot%\ehome\ehiUPnP.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiUserXp\v4.0_6.3.0.0__31bf3856ad364e35\ehiUserXp.dll %SystemRoot%\ehome\ehiUserXp.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiVidCtl\v4.0_6.3.0.0__31bf3856ad364e35\ehiVidCtl.dll %SystemRoot%\ehome\ehiVidCtl.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiwmp\v4.0_6.3.0.0__31bf3856ad364e35\ehiwmp.dll %SystemRoot%\ehome\ehiwmp.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehiWUapi\v4.0_6.3.0.0__31bf3856ad364e35\ehiWUapi.dll %SystemRoot%\ehome\ehiWUapi.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehRecObj\v4.0_6.3.0.0__31bf3856ad364e35\ehRecObj.dll %SystemRoot%\ehome\ehRecObj.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\ehshell\v4.0_6.3.0.0__31bf3856ad364e35\ehshell.dll %SystemRoot%\ehome\ehshell.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\loadmxf\v4.0_6.3.0.0__31bf3856ad364e35\loadmxf.exe %SystemRoot%\ehome\loadmxf.exe >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\mcepg\v4.0_6.3.0.0__31bf3856ad364e35\mcepg.dll %SystemRoot%\ehome\mcepg.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\mcglidhostobj\v4.0_6.3.0.0__31bf3856ad364e35\mcglidhostobj.dll %SystemRoot%\ehome\mcglidhostobj.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\mcstore\v4.0_6.3.0.0__31bf3856ad364e35\mcstore.dll %SystemRoot%\ehome\mcstore.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.dll %SystemRoot%\ehome\Microsoft.MediaCenter.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.Bml\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.Bml.dll %SystemRoot%\ehome\Microsoft.MediaCenter.Bml.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.iTV\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.iTV.dll %SystemRoot%\ehome\Microsoft.MediaCenter.iTV.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.iTv.Hosting\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.iTv.Hosting.dll %SystemRoot%\ehome\Microsoft.MediaCenter.iTv.Hosting.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.ITVVM\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.ITVVM.dll %SystemRoot%\ehome\Microsoft.MediaCenter.ITVVM.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.Playback\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.Playback.dll %SystemRoot%\ehome\Microsoft.MediaCenter.Playback.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.Shell\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.Shell.dll %SystemRoot%\ehome\Microsoft.MediaCenter.Shell.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.Sports\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.Sports.dll %SystemRoot%\ehome\Microsoft.MediaCenter.Sports.dll >nul 2>&1
    mklink /h %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.MediaCenter.UI\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.MediaCenter.UI.dll %SystemRoot%\ehome\Microsoft.MediaCenter.UI.dll >nul 2>&1
    
    echo.
    The problem is that epg123/mychannels logo patches on the fly

    Microsoft.MediaCenter.Shell.dll (IIRC)

    which means that, in copied file scenario, it patches just one file, while WMC uses the other copy (the original one).
     
  2. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
  3. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    #10726 acer-5100, Jan 13, 2024
    Last edited: Jan 13, 2024
    Well it's a while I looked in to it, so I don't remember the details, but there are some DRM packages that are present until 1511, but completely missing in following releases.


    So, maaaaybe patching their mums to install in newer releases may be enough.

    BTW it's possible that the packages alone aren't enough and some "hooks" in the kernel itself are missing/removed.

    P.S.

    For the record, I believe most of the needed things comes from

    Microsoft-Windows-MediaPlayer-DRM

    and

    Microsoft-Windows-WindowsMedia-DRM

    Probably the most promising way would be to start from say 1607 in the N flavour, then patch the media feature pack meant for 1511 or 1507 to install in the 1607-N version.

    Feasible? Yes

    Surely working? Maybe.
     
  4. Kévin Chalet

    Kévin Chalet MDL Member

    Apr 11, 2019
    143
    125
    10
    Sounds very interesting, @acer-5100! Maybe you should post a message on TGB to see if a US user would be interested in giving it a try?
     
  5. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    #10728 acer-5100, Jan 14, 2024
    Last edited: Jan 14, 2024
    Well...

    First would be really complicate given most of the user there are mostly "Apple like" users, and we are talking of something that requires good familiarity with dism, editing mum files and alike.

    Second it's something I'm not sure it will work nor something I already tested

    Third it's a moving target, maybe it will work on say 14393.0 but will stop working after (say) 14393.4288, which would undermine the point of using a updated system to the current Cumulative Update (say my Remote FX restoring project still works on current builds, but the procedure had to be refined from the one that worked on 19041.0)

    Last but not least, back on the day for unknown reasons, on TGB they banned my account after ZERO messages posted, and if they are not comfortable with an user that indirectly contributed to keep their business afloat, for sure I'm not interested to help them directly.

    In short would be more an academical challenge than a practical scenario.

    Perhaps this and my previous message contain no links or images, so it's visible even to non registered users, if someone is interested in the above I'm here and I would be glad to help and to spend some time on it.
     
  6. Prsa01

    Prsa01 MDL Novice

    Dec 8, 2019
    14
    13
    0
    Hey Kevin,

    Would you mind sharing a few themes once you are happy with them? I've only tried the couple of built-in themes so a link or brief word about what's involved in "installing" them would be appreciated as well.
     
  7. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    @Kévin Chalet

    Back to HEVC/H265 here at the end of 2023 finally there was an update about one of the main RAI MUX was going to be moved to DVB-T2/HEVC starting from 10/1/2024 (after the old date of 1/1/2023 was ignored), after a week nothing happened, seem like they moved the date again to April or so.

    How is going in France?
     
  8. windsman

    windsman MDL Expert

    Jan 11, 2010
    1,501
    1,370
    60
    @Kévin Chalet
    Merci pour ce tableau très explicite, bon bouleau ou belle trouvaille!!!
    En tout cas très intéressant et instructif, va falloir que je change de boitier TNT.
     
  9. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    #10736 acer-5100, Jan 18, 2024
    Last edited: Jan 20, 2024
    I see thanks.

    Seem the approach is different, here the switch is supposed to happen overnight in the whole nation, not by regions (in 2012 the switch from analogue to digital happened by macro regions)

    Also if, the 4K HbbTV will be used differently, here is already working for few channels, but the whole signal comes from Internet, while in France, if I understand correctly the table above, seem the signal will come from the antenna while internet will be used for interactivity.

    Haha, no.

    Never studied French in my life, but I find quite easy to understand it (and being understood in France), not harder than a different Italian dialect...

    BTW is higly unlikely that TF1 will hire me to read the evening news :D
     
  10. Kévin Chalet

    Kévin Chalet MDL Member

    Apr 11, 2019
    143
    125
    10
    Interesting. Does that mean the DVB-T broadcasting will stop once DVB-T2 is live or is it planned for a later date? Here, it seems 2028/2029 is the current target for switching off DVB-T transmissions.

    Yup, you got it right. That said, HbbTV has never been a huge success here: it's often badly implemented (even in recent TV models) and very few channels support it (some of them even stopped offering it). Most people aren't even aware it's a thing :clown:

    Hahahaha, we love Italian accents so who knows? :clap3:
     
  11. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    Here I'm unsure because seem that everyone (inducing me) is confused about DVB-T2 and HEVC codec, they are often used interchangeably while they shouldn't, there are TVs sold around 2014/16 that are DVB-T2 ready but doesn't include the H265 codec, that make the matter even more confusing.

    So I really don't know if the term is used correctly in the communications of either Italian or French governments and broadcaster.

    What I know is that both the signal test channel the experimental RAI Sport HEVC, I mentioned some months ago are transmitted with the HEVC codec in the same MUX that shares other normal h264 channels. (so, I guess this is still DVB-T1+ a different codec)


    Never tested personally, nor I have investigated if any PC program is able to use them. For now when you tune WMC or a normal TV to RAI 4K or alike you see a writing that tells you that you need a compatible TV and a internet connection to receive those channels.

    Yep I always forget Napoleon...:p
     
  12. Shortyportuguese

    Shortyportuguese MDL Senior Member

    Apr 3, 2019
    490
    138
    10
    @acer-5100 I don't know if it is feasible to insert HEVC codecs from Microsoft and also an extra layer of 3rd party HEVC compatible codecs, encoders, as a form of update and barrier breaking to access new video standards that are yet to come... @Kévin Chalet @abbodi1406 what do you think about that? Is this viable?