So, allow me to vent a little here and perhaps share a fix or workaround that search engines will be able to find, assuming someone comes up with a tip :)
Some info on my wife's machine: It's running Windows 7 64-bit, and is a beefy laptop with a decent video card. Sims 3 ran fine on it.
Issues #1: DVD fails to be read
Right out the gate, we hit a snag since the DVD wouldn't be recognized by the drive in my wife's "gamer" laptop. After hunting around for a while I found other people had run into this, and the suggestion was to download the game from EA's Origin site (basically a Steam knock-off). The product key in the DVD case works to get the digital download for free. So, I downloaded it (takes ages) and installed it without errors. Yay! Not quite...
Issue #2: The game fails to launch/start
The game creates a desktop icon which runs a little launcher application. Clicking on the "Play" icon in the launcher is supposed to start the game, but nothing (visible) happened. Research online showed this was not something other people had run into, and several tips were provided on forums:
- Try downloading the game again and re-installing - Made no difference
- Disable your anti-virus (!) - I checked any the AV product had not blocked any of the apps related to the game, and disabling real-time scanning made no difference
- Disable UAC (!!) - made no difference
Note: I really don't recommend doing the last two things - you're opening yourself up to compromise by malware
Looking into the Windows Event Viewer, I noticed there were entries for each time I had tried to launch the game, indicating that the executable had crashed. The information indicates that the app (TSM.exe) is hitting in invalid instruction exception which is not handled... Looks like a bug to me...
Fault bucket 2466582291, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0
Since I'm a geek (or perhaps just a masochist), I decided to take a closer look at the crash dump. For some reason the code is executing an invalid instruction deliberately - after setting up an exception handler. I am guessing this is part of the DRM solution (SecuROM, which is from Sony, ahem! :). I would guess this is aimed at making debugging and reverse-engineering harder, but if it makes the games unplayable then you wonder how they can stay in business?
Here's a disassembly dump of the code in question:
0:000> u 0106fe0b
0106fe0b 683efc0601 push offset TSM+0xc6fc3e (0106fc3e)
0106fe10 64ff3500000000 push dword ptr fs:
0106fe17 64892500000000 mov dword ptr fs:,esp
0106fe1e 0f0b ud2 <-- The app crashes here
0106fe20 03648f05 add esp,dword ptr [edi+ecx*4+5]
0106fe24 0000 add byte ptr [eax],al
0106fe26 0000 add byte ptr [eax],al
0106fe28 83c404 add esp,4
0:000> lmvm tsm
start end module name
00400000 01e71000 TSM T (no symbols)
Loaded symbol image file: TSM.exe
Image path: C:\Program Files (x86)\Electronic Arts\The Sims Medieval(TM)\Game\Bin\TSM.exe
Image name: TSM.exe
Timestamp: Wed Apr 27 12:58:42 2011 (4DB87572)
File version: 0.0.0.8065
Product version: 0.0.0.8065
File flags: 0 (Mask 17)
File OS: 4 Unknown Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
The UD2 instruction is an special instruction used to generate un unsupported instruction exception (see here and here). It's been supported for ages, so it's not an issue with the processor in my wife's laptop (Intel Core 2 Duo) being too old.
EA Customer Support:
In one of EA's forums, it was mentioned that you could email them with bug reports. Perhaps this was during the Beta only? I emailed them but have yet to hear back...
In a fit of insanity I thought I might get something useful out of calling EA Customer Support. After some scripted steps (collecting DXDiag information) the call turned tragi-comical as the rep told me that my wife's video card and then processor were not supported. (The CPU is .2 GHz slower than the recommended Windows 7 specs, and her video card is not on the "blessed" list).
I mentioned I got the DVD from Amazon, and he told me off, saying buying games from Amazon was a bad idea and you "never know what you are going to get". (WTF? I didn't but it from some reseller on Amazon, it's the same product sold in all other stores!) He then suggested I download the game from Origin (despite me saying I had done this already), and then said I could install the game "on the Internet" so it wouldn't matter what video card or CPU my wife had.