Originally posted by: mosslack
Originally posted by: Jack Flash
Kaido to the rescue!
That's his MO, rides in, solves problems, and fades into the sunset...
Unfortunately I'm on a big loop, I keep coming back every few months :Q
The Silverlight issue begins with an installation check. Basically, Silverlight has a little Perl script that checks to see if you are running an Intel CPU. It does that by searching the output from "system_profiler SPHardwareDataType" in Terminal. If it doesn't find the word "Intel", it assumes you're running a PPC Mac and therefore refuses to install. The patched version of Silverlight simply edits the Perl installation checker script to ignore the fact that there's no mention of "Intel" in the output.
Now, the reason that there's no mention of "Intel" in the output is an entirely different story. In my Hackintosh packages, I use a driver called "SMBIOSEFI". This basically modifies the SMBIOS to read the correct values in About This Mac > More Info > Hardware. Having a separate driver like this is nice because it leaves the system's SMBIOS driver stock, so it's okay if you run system updates and it gets overwritten - the modifications will still be injected just fine. However, I think that this driver must be regularly updated to keep up with the changes to SMBIOS (or so I assume, but it's not being updated by anyone that I know of atm).
I'm not exactly sure where the conflict comes from. Bart86 on the Insanely forums posted that on 10.5.6, with the newer version of AppleACPIPlatform.kext, the injector fails to update the Model Name and Model Identifier, but if he swaps out the AppleACPIPlatform driver to an older model, it works just fine. On our particular boards, the issue is that we are not getting the Processor Name string injected in our hardware overview listing. For example, my output is:
Model Name: Mac
Model Identifier: EP45-UD3P
Processor Speed: 2.4 GHz
Number Of Processors: 1
Total Number Of Cores: 4
L2 Cache: 8 MB
Memory: 8 GB
Bus Speed: 1.07 GHz
Boot ROM Version: MP31.006C.B05
Serial Number: W1234567890
Compared to a dump from my friend's iMac:
Model Name: iMac
Model Identifier: iMac6,1
Processor Name: Intel Core 2 Duo
Processor Speed: 2.16 GHz
Number Of Processors: 1
Total Number Of Cores: 2
L2 Cache: 4 MB
Memory: 1 GB
Bus Speed: 667 MHz
Boot ROM Version: (removed)
SMC Version: (removed)
Serial Number: (removed)
So, the Processor Name string isn't getting injected. It appears to get injected on other systems, especially notebooks, so we know the code is there and works, so there is obviously some kind of conflict going on. Whether that is due to a conflicting kext or a newer version of some driver, I don't know.
The bottom line is, it's not a big deal. Silverlight is the only app I've ever come across that scans for the Processor Name, and that is easily circumvented by patching the InstallationCheck script in Perl or just by downloading a pre-patched version.