Space wrote: ↑Sat Jun 15, 2019 11:22 am
Just to be clear...
You are running a VMWare VM on Windows 10. In the VM you have Windows 7 and WMC and you are able to record and playback recordings that have DRM.
That's pretty cool and may be a solution for all those that are struggling with WMC on Windows 10 (especially if you need to record/play DRM recordings).
Absolutely. I'm not actually using this in a "production" environment (for that I have a real dedicated Win7 HTPC), but this whole project was a research experiment for proof-of-concept. Although I'd never actually used VM before I was very interested to learn about it, given the upcoming end-of-life for MS support to Win7 in January and the notion of continuing to run and use Win7 in its final state for things I do today.
WMC in Win7 is a wonderful product as we all know, but lives in a complex setup of hardware and software. So I was curious to see if it could actually run in a Win7 VM and provide the same end-user experience out there watching TV at extenders. And of course I have Ceton ETH tuner and tuning adapter for Spectrum SDV-delivered cable-provided cablecard-enabled content (almost all marked copy-protected), as well as a Hauppauge WinTV QuadHD OTA/ATSC tuner for roof antenna broadcast TV. So the Win7 VM implementation and related WMC extender experience would have to provide the same support, somehow. And I use EPG123 for my Guide, so that would hopefully have to work as well.
In other words the project was to see what VM was and how to use it, and then to see how Win7 VM worked inside of VM implemented on a Wn10 machine, and what if any were the limitations or issues or problems or successes, given my WMC goals. It's been quite a learning experience, but with some assistance from experienced users on the VMWare forum I've been able to address and resolve every setup problem and issue I ran into regarding some aspect of what WMC and extenders required to run properly, and how that could be facilitated through Win7 VM.
Nightly scheduled task running of EPG123 within Win7 VM workis identically as it does in a real physical Win7 machine. Access to all 192.168.1.* LAN network components is 100% the same within Win7 VM as it is in a real physical Win7/Win10 machine on the LAN. It truly is amazing. After initially creating the Win7 VM in VMWare, the rest of the process was just like I would do if I bought a brand new hardware machine and wanted to install Win7 on it and then "flesh it out" with all of my own installed software products and Win7 customizations. It was 99.99% identical doing all of this in Win7 VM as in a real physical Win7 machine. The few differences really pertained to hardware like nVidia graphics cards and their drivers not being available inside the Win7 VM although they are in the physical Win10 machine and installed in Win10. And the original Ceton PCIe internal tuner card I was using, again installed in Win10 (using Ceton Win8 drivers) but not passed through to Win7 VM. This necessitated my lucky finding of a used Ceton ETH network tuner, which then made this whole project actually possible to succeed. Without the Ceton ETH tuner it could not have worked.
And I feel it's been a 100% success story. The only minor conceptual difference in the Win7 VM WMC world stems from how OTA recordings using the Hauppauge tuner have to be made and viewed. VMWare doesn't pass through the PCIe tuner card and its drivers (installed in native Win10) to Win7 VM, so there's no way for Win7 VM WMC to see the Hauppauge tuner. My workaround here was to run NextPVR in native Win10 (which uses my Schedules Direct channel lineups from the same subscriptions I already had for EPG123), which supports the Hauppauge card in native Win10. The TS recordings from NextPVR (stored in a host drive folder that is visible to Win7 VM) are then viewed through the WMC extender running in Win7 VM, but as "videos" rather than as "recorded TV". Aside from that, these copy-freely TS files are still the identical MPEG-2 HDTV recordings previously made by WMC, and play and display normally through the extenders just as "videos".
What are you trying to accomplish/prove by having it run in two separate VMs? I can understand if those two VMs were on separate physical machines (that would mean you circumvented the DRM), but on the same physical machine, I am not sure what it gets you.
Actually, I wasn't really trying to accomplish anything with this experiment. I mostly wanted to learn how to "clone a VM" into a "duplicate", so that I could say retain a "master copy of a Win7 VM, fully installed configured and fitted out" and then any time I wanted to try something new just "clone it temporarily into a new test lab version" and use the clone to do the experimenting. Were there any consequences or limitations of this notion? Would it work? What was involved in the process? etc., etc. It was really mostly a VM learning experience.
But then I wanted to see if the cloned Win7 VM really was "identical" to the starting Win7 VM in all regards. The duplication process is really nothing more that COPY/PASTE for a "document folder" containing lots of stuff into a second folder, and then doing a File -> OPEN of that "primary document" (really a single VMX file in the folder, that defines the Win7 VM) from the second folder. It's really that simple. So I don't have to "build from scratch" a whole new second Win7 VM. I can truly just copy the master folder into a newly named second folder, and then just open the VMX file in the second folder and establish a new name for this duplicate Win7 VM (so that it appears uniquely in the list of "library" VM's available for me to select from the VMWare interface), and that's it. So, for example, if I had one "test copy-protected recording" in \Recorded TV of the master Win7 VM, could I use it in the cloned Win7 VM as I do "regression testing" to be sure that what I might be trying out does not break anything unexpected? And this sees to all work as I would hope, as both Win7 VM environments are really the same virtual machine, hardware and software.
Also, knowing as we do the strict DRM rules of WMC and copy-protected content and not being allowed to play copy-protected content on new machines, or new Win7 re-installs, I was curious to know if this also applied to Win7 VM and duplicates of that Win7 VM. Doesn't seem to, as they all truly appear to be the same Win7 hardware and same installed Win7 to PlayReady.
Now what I haven't yet experimented with at all is just how transportable the Win7 VM definition is, from one physical machine to a second physical machine. At the moment I only have one physical Win10 machine with "Intel virtualization" enabled and VMWare installed to even allow me to try all of this. I somehow can't see that the Win7 VM defined through this particular physical machine can be transportable to a second physical machine, because the Win7 VM guest itself is really seeing hardware on the host machine, as provided from VMWare to the VM. So that Win7 VM REQUIRES that hardware, same as it would on a real physical machine on which you installed Win7. Moving it to another physical [host] machine would mean that Win7 VM would likely no longer be provided with all the same hardware it was generated with drivers for, making it impossible to simply use it as-is.
On the other hand, if the second physical machine is actually the same hardware as the first physical machine, perhaps this would indeed work. Don't know, and actually it's not important for me to learn, since I don't actually have that need at the moment.
My need really was to decide if (a) I could and should move forward and convert my "production HTPC" environment to be a Win10 machine for everything else, while also running WMC in a frozen-in-time at end-of-life Win7 VM on that same machine if possible, or (b) should I segregate things and continue to run my real physical Win7 HTPC machine at the same frozen-in-time end-of-life state while also having a separate Win10 machine for everything else. I'm specifically doing this experimenting on a Skylake chipset ASUS Z170-Deluxe machine, which uses an i7-6700 CPU, all of which is still compatible for use with Win7. So this is the machine I'd stay with, although I could also convert my production Win7 HTPC which is a Lenovo M910t (also Skylake and also i7-6700 CPU) to do exactly what I've now accomplished on the ASUS machine.
I don't think I could do this on a newer generation physical machine that itself does not support Win7, since I don't believe it would be possible to install Win7 in a VM on such a machine... but then I don't truly know. On the other hand, if Win7 VM is supposed to be usable as a guest OS, no matter what the physical machine Win10 and VMWare is running on, how is that possible unless it's actually possible to do just that? And if Win7 can actually be installed in a Win7 VM on a Win10 host machine that is newer than Skylake, would it actually be possible to still have WMC run in this Win7 VM... on a physical host machine that itself would NOT be usable for Win7 for real? Now THAT would be something! At the moment I don't have such a newer desktop machine to try it with, but it would be very very interesting to see if it were possible. That way you could upgrade to modern hardware and Win10, and still run an "old Win7 VM" which would by itself not normally be usable on this modern hardware... and still run WMC on this modern hardware. What kind of CPU and hardware does VMWare present to Win7 VM, for installation of drivers etc. when you "install Win7" in that Win7 VM? Is it no newer than Skylake? How could it be, if Win7 isn't usable on hardware newer than Skylake? Good questions. I will perhaps try this if I ever do buy a new generation desktop..
And what I've learned from this project is that (a) is actually a very viable choice, with no apparent negatives or loss of functionality. It all works. Note that none of this invalidates what we already know about DRM and copy-protected content being playable only on the same machine and using the same installed Win7 that did the original recording. But practically speaking, it seems true that all cloned duplicates of one parent master Win7 VM are conceptually and truly that same machine with the same installed Win7 to WMC running in any of these Win7 VM clones, from the perspective of PlayReady. So copy-protected content made by WMC in one Win7 VM is eligible to be played successfully by WMC in another usable duplicate Win7 VM, as long as you pass along the necessary MSPR.HDS from the recording Win7 VM to the playback Win7 VM.