Thursday, December 26, 2013

How to move Vista/7 Free Cell (and other games) to Windows 8 and 10

Update: Works on Windows 10!
Another update: Windows 10 Anniversary Update (ver. 1607) breaks this hack. However, there is another solution, check here.

Windows 8 doesn't include the classic solitaire card games (and Mahjong and inkball) contained in Vista/7 (or XP). Instead you have to download them from the Windows store and they aren't as good as the older games. So you need to move them from your Vista/7 machine to your Windows 8 machine and make a quick modification so that the games know that they're now OK to run on 8.

First you need to locate your Microsoft games folder. To do this click on start, then right-click on Computer, then left-click on Explore.

This opens Windows Explorer. You want to double-click on the C: drive and navigate to c:\program files\microsoft games\

Right click on Microsoft Games and copy the folder.

Assuming you know how to do this, now navigate to your USB stick in the same way you found the C: drive, right click and choose "paste." If you're smart enough to link your computers together you can just copy the files directly through your network router connection.

Make sure when you get to Windows 8 you copy the Microsoft Games folder into the c:\Program Files (x86)\ folder, this is where the 32-bit programs go. All the solitaire games are 32 bit, don't confuse yourself with whether or not you're using 64-bit Windows, it doesn't matter.

Now you want to navigate to c:\windows\system 32\ and find the file CardGames.dll

Copy this by right-clicking and choosing copy. Then paste this to your USB stick (or copy through your network) same as you did with your Microsoft Games folder. Copy the CardGames.dll file to each of the games folders or they won't work (they will say they can't find the file).

You might want to save your high scores and win streaks as well. To do this, navigate to c:\users\(your computer user name)\AppData\local\Microsoft Games and copy that folder to your USB stick, too. When you move it to Windows 8 put the folder in the "same place" there by dragging and dropping onto the AppData\local folder.

If Windows 8 gets fussy about what you're doing in the Program Files folder, you will have to log on as Administrator. Or do the following steps on your old Vista/7 machine. You pick.

Now you need to install a program that can edit the games applications. The reason you have to do this is that the games look for the version of Windows you're using to make sure they will work (for instance, the Vista games won't work on XP and the program needs to know that). What you're about to do is modify the program so it knows that Windows 8 is OK to run the program.

This looks scary but it's very easy as you'll see.

Go to this website and download the free hex editor:

HxD Free Hex Editor and Disk Editor

Download the zip file, extract it to the folder of your choice, double-click the "setup.exe" file, install it to the same folder and run the program. It will look like this. Go to "File Open"

Find the game you want to modify, in this case it's Free Cell.

The file will open and you will see a bunch of columns of "hex" numbers (0-9, A-F) and a column of text translations of the hex pairs.

You want to find this line: 7D 04 83 65 FC 00 33 C0 83 7D FC 01 0F 94 C0

Use Search-Find to do this. The line may start in the middle of these columns, or not. Just find the right string.

Make sure you choose "Hex-values" as well. I just searched for "7D 04 83" that was good enough.

The program will highlight 7D 04 83

Click on the 7D and change it to EB

The EB will be highlighted in red.

Now File-Save the program.

That's all. Your game will work now in Windows 8. Make this edit for every game in the Microsoft Games folder (except inkball, it isn't needed). Then navigate back to the Microsoft Games folder, right click and then click "Send to Desktop" to put an icon for the game on your desktop so you can find it easier.

Again, if you want to transfer your scores from your Vista/7 machine, in addition to transferring the Microsoft Games folder to the Program Files (x86) you want to transfer this:

c:\users\(your computer user name)\AppData\local\Microsoft Games\

This contains all your scores and win streaks and also backups of those in case you ruin a win streak and want to restore it.

If you want to start fresh just skip this step.

XP notes: Instead of moving "CardGames.dll" (because it doesn't exist) you just move the file "cards.dll" and I don't think you have to do any hex editing of the games (haven't tried it yet, I'm happy with the Vista versions).

A Google search will reveal a "patch" circulating that will do the above editing for you, if you trust the program, go ahead and try it. I found it on