|
| Author |
Message |
|
joelpt
|
Post subject: How to install Microsoft Tinker? Posted: Sun Dec 28, 2008 7:20 pm |
|
Joined: Fri Dec 12, 2008 6:12 am Posts: 6
|
|
I would like to install the Microsoft Tinker game on Server 2008 x86, which is included in the "Vista Ultimate Extras" pack along with Dreamscene, Texas Hold Em and others. However I have been unable to do this so far. It's my understanding that the "Ultimate Extras" packages are usually available only via Windows Update when running Vista Ultimate. I have also found a link which does let me download the .CAB installation package for MS Tinker here: http://download.windowsupdate.com/msdow ... 83824c.cabI've been able to download the .CAB from here successfully but I can't figure out how to install it. I've tried passing various options to pkgmgr.exe and ocsetup.exe in an attempt to get this installed but I suspect I may be barking up the wrong tree here; pkgmgr appears to be designed for integrating packages into offline OS install images (slipstreaming). Can anyone help get this CAB installed? Or alternately, is there a way to trick Windows Update into offering me the "Vista Ultimate Extras"?
|
|
|
|
 |
|
joelpt
|
Post subject: Re: How to install Microsoft Tinker? Posted: Sun Dec 28, 2008 8:27 pm |
|
Joined: Fri Dec 12, 2008 6:12 am Posts: 6
|
|
Well, a small update here.
I was able to extract the contents of the .CAB file using a command line of
extract tinker.cab -f:* "cabtmp" (note I use tinker.cab here rather than the lengthy actual CAB filename)
This extracted all the files in the CAB with the correct folder/file names.
Then examining the .manifest and .mum files I realized that the install files are located in the "...._none_...." folder, and there is also one other file -- a language file -- in the "....en-us...." folder (I use ... here rather than putting the whole lengthy folder name).
I copied the "....none...." files to a new folder, C:\Program Files\Microsoft Games\Tinker (based on reading the .manifest files). And I copied the .mui file from the "....en-us...." folder to C:\Program Files\Microsoft Games\Tinker\en-US. This got rid of a crash that I was seeing when trying to launch tinker.exe directly from the "....none...." extracted folder.
However ... now after running tinker.exe, I receive the unpleasant message, "This game only works on Windows Vista(R) Ultimate".
So at the moment I am dead in the water here. I ran Procmon to try and analyze what tinker.exe is accessing to determine which version of Windows is running, but there's just too much to reasonably analyze -- it opens or checks hundreds of files and registry keys during its launch and I just don't know enough to interpret all that data.
I tried editing the following two registry keys in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion, to no avail:
EditionID: changed to "Ultimate" ProductName: changed to "Windows Vista ™ Ultimate"
I also tried a ProductName of "Windows Vista (R) Ultimate" (similar to the existing value for that key, "Windows Server (R) 2008 Standard"). None of this has gotten the game to actually start up.
Hopefully one of you bright sparks has some insight!
Thanks joelpt
EDIT: for what it's worth, the last registry key that tinker.exe appears to access before giving the wrong-OS error message is HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide. Not really seeing anything in this key branch that would seem to identify the OS version though.
|
|
|
|
 |
|
Arris
|
Post subject: Re: How to install Microsoft Tinker? Posted: Sun Jan 04, 2009 3:32 pm |
|
Joined: Sat Mar 08, 2008 5:10 pm Posts: 1065 Location: The Netherlands
|
Hey joelpt, You did a nice job! Here is the missing part in your manual. The tinker.exe does a call to the GetProductInfo function to check whether you are using Windows Vista Ultimate. I don't know how this function determines the OS version you are using, but we can also just ignore the result of this function by skipping the check. To skip this check open the tinker.exe file in a Hex Editor like Hex Workshop and in the menu Edit click Replace. Find: Code: 0F8548020000 Replace with: Code: 909090909090 Click Replace when a occurence is found, and Save the file afterwards. Have fun playing Microsoft Tinker!  btw. One mistake in your post: extract tinker.cab -f:* "cabtmp" should be expand tinker.cab -f:* "cabtmp"
_________________ |[ Mainboard: Gigabyte GA-M56S-S3 ]|[ CPU: AMD Athlon 64 X2 6000+ ]|[ RAM: 4096 MB (DDR2-800 SDRAM) ]|[ GPU: NVIDIA GeForce 8600 GT (256 MB) ]|[ OS: Microsoft Windows Server 2008 R2 Enterprise ]|
|
|
|
|
 |
|
joelpt
|
Post subject: Re: How to install Microsoft Tinker? Posted: Sun Jan 04, 2009 4:59 pm |
|
Joined: Fri Dec 12, 2008 6:12 am Posts: 6
|
Arris that is fantastic, your fix worked perfectly! Can I ask what tool you used to determine that it calls GetProductInfo? I don't think this information is available in ProcMon. Also how did you ascertain which part of the EXE would need to be changed (and to what) to circumvent that function call? Thanks again  joelpt
|
|
|
|
 |
|
Arris
|
Post subject: Re: How to install Microsoft Tinker? Posted: Sun Jan 04, 2009 11:44 pm |
|
Joined: Sat Mar 08, 2008 5:10 pm Posts: 1065 Location: The Netherlands
|
Hey joelpt, It's a combination of using IDA Pro Disassembler, Hiew and having some knowledge about Assembly. If you search the internet you can find lots of tutorials about this subject! Arris
_________________ |[ Mainboard: Gigabyte GA-M56S-S3 ]|[ CPU: AMD Athlon 64 X2 6000+ ]|[ RAM: 4096 MB (DDR2-800 SDRAM) ]|[ GPU: NVIDIA GeForce 8600 GT (256 MB) ]|[ OS: Microsoft Windows Server 2008 R2 Enterprise ]|
|
|
|
|
 |
|
dajavax
|
Post subject: Re: How to install Microsoft Tinker? Posted: Tue Jan 13, 2009 5:28 am |
|
Joined: Tue Jan 13, 2009 5:24 am Posts: 1
|
Arris wrote: Hey joelpt, You did a nice job! Here is the missing part in your manual. The tinker.exe does a call to the GetProductInfo function to check whether you are using Windows Vista Ultimate. I don't know how this function determines the OS version you are using, but we can also just ignore the result of this function by skipping the check. To skip this check open the tinker.exe file in a Hex Editor like Hex Workshop and in the menu Edit click Replace. Find: Code: 0F8548020000 Replace with: Code: 909090909090 Click Replace when a occurence is found, and Save the file afterwards. Have fun playing Microsoft Tinker!  btw. One mistake in your post: extract tinker.cab -f:* "cabtmp" should be expand tinker.cab -f:* "cabtmp"is that what has to be replaced in the 64 bit version too? i tried but i keep getting the message... im trying to install it in windows 7 ultimate... they should've made it work here... it's as well ultimate
|
|
|
|
 |
|
joelpt
|
Post subject: Re: How to install Microsoft Tinker? Posted: Tue Jan 13, 2009 6:17 am |
|
Joined: Fri Dec 12, 2008 6:12 am Posts: 6
|
|
You might just try modifying and running the 32 bit version. As far as I know it should still work under 64 bit Windows.
|
|
|
|
 |
|
archbish99
|
Post subject: Re: How to install Microsoft Tinker? Posted: Fri Jan 16, 2009 5:05 pm |
|
Joined: Fri Jan 16, 2009 4:59 pm Posts: 1
|
I would imagine it's also checking for OS Version == 6.0. That would work on Vista and Server 2008, but break on Win7 (as the previous poster said he was attempting). Win7 has OS Version 6.1. Setting compatibility mode to Vista appears to make it run, but no UI shows. Tinker just sits there pegging the CPU without opening. 
|
|
|
|
 |
|
pchelp2u
|
Post subject: Re: How to install Microsoft Tinker? Posted: Sun Jan 18, 2009 5:24 am |
|
Joined: Sun Jan 18, 2009 5:16 am Posts: 1
|
archbish99 wrote: I would imagine it's also checking for OS Version == 6.0. That would work on Vista and Server 2008, but break on Win7 (as the previous poster said he was attempting). Win7 has OS Version 6.1. Setting compatibility mode to Vista appears to make it run, but no UI shows. Tinker just sits there pegging the CPU without opening.  Yes, I'm running Windows 7, as well & can duplicate this problem. Unfortunately, my assembler is so old it's useless. I know from my research that Tinker calls GetVersionEx, which reports back the OS version, but I don't know how to make it "skip the check" with the Hex editor. I will keep banging my head against Google & hopefully I will come across something that will refresh my memory.
|
|
|
|
 |
|
Arris
|
Post subject: Re: How to install Microsoft Tinker? Posted: Sat Jan 31, 2009 12:33 pm |
|
Joined: Sat Mar 08, 2008 5:10 pm Posts: 1065 Location: The Netherlands
|
For the Microsoft Tinker game it does a check whether you are using Vista Ultimate. As you can see in the GetProductInfo documentation they distinguish all versions of Windows 6.0. In a dissasembler you can see that they just do a check which would look in C like: Code: int info = GetProductInfo(); if(info != PRODUCT_ULTIMATE) return; else { // continue execution } By overwriting the if condition with No OPeration instructions (hex opcode 0x90) it just directly goes to the else part and executes the game. The hex values to replace were just found by doing a binary comparison using Fairdell HexCmp after patching the executable. Hope this gives you some more insight! 
_________________ |[ Mainboard: Gigabyte GA-M56S-S3 ]|[ CPU: AMD Athlon 64 X2 6000+ ]|[ RAM: 4096 MB (DDR2-800 SDRAM) ]|[ GPU: NVIDIA GeForce 8600 GT (256 MB) ]|[ OS: Microsoft Windows Server 2008 R2 Enterprise ]|
|
|
|
|
 |
|
|