How can Microsoft Vista games be run under Windows 7?

Discussion in 'Windows Vista' started by wbrells, Jan 21, 2013.

  1. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    #1 wbrells, Jan 21, 2013
    Last edited: Jan 21, 2013
    My wife does not like the new Windows 7 versions of Microsoft Solitaire, Hearts, etc. To keep her happy I would like to run the Vista versions of these games (and others) under Windows 7 (x64). So far, I've copied over all the subdirectories from the Vista Microsoft Games directory (x64) to a new directory on the Windows 7 system. I've also added the cardgames.dll file from the x64 Vista system32 directory to each of the above subdirectories on the Windows 7 system.

    UNFORTUNATELY, none of the games will run on the Windows 7 system! I don't get any error messages, but each program just stops after (it appears) running for about 5 seconds.

    Perhaps a "Version check" is built into these Microsoft programs (like it apparently is in the Win 7/8 versions)? I've seen the recommended "hex" patch to disable version checking in the Win 7 versions of these program, but no one seems to mention how this can (hopefully) be done on the Vista versions.

    Any suggestions would be greatly appreciated!

    Wayne
     
  2. Daz

    Daz MDL Developer / Admin
    Staff Member

    Jul 31, 2009
    9,488
    66,571
    300
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    Thanks, Daz. Unfortunately, I don't see mention of either Vista Solitaire or Hearts which are the two programs my wife is most interested in... I have the EXE files for both these files (along with the other games that are preinstalled with Vista) and was just hoping to find the appropriate "patch". Wayne
     
  4. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    I've just tried copying the x86 versions of the Vista games (hearts.exe, solitaire.exe, etc.) onto an x86 Windows 7 system. Again, all of the programs "crash" after a few seconds but at least now they give an error "dump" with an Exception Code of 80000003 ("unhandled exception?). In each case the faulting module is the main executable (e.g. solitaire.exe). I've tried putting CardGames.dll (Vista x86 version) in the same directory as the executable, but that made no difference. Also, I tried the 7D => EB version checking "patch" but that did not help either. I'm starting to wonder if these Vista games require some sort of activation or whether they are "hard coded" to only run under Vista? This seems a little strange, since it appears that the Windows 7 versions of these games can be made to run under Windows 8 (and many XP versions of these games run under Windows 7).

    Any thoughts/suggestions would be greatly appreciated! Wayne
     
  5. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    I used the "depends.exe" program to determine that "IEShims.dll" was not being found. This problem was eliminated by adding "C:\Program Files\Internet Explorer" to the system PATH environment variable. (I've read that this path was included under Vista, but I don't have a Vista system to confirm this.)

    Using the Profile option of "depends.exe" I've determined that the Vista version of Solitaire.exe (running under Win 7) "crashes" when it is unable to dynamically load "Cardgames2.dll". The call to load this DLL comes right after a successful attempt to load "Cardgames.dll". I've put the Vista version of "Cardgames.dll" in the same directory as Solitaire.exe, but I'm not sure that that version is the one actually being used... I can't find any mention of (the apparently missing) "Cardgames2.dll".

    DOES ANYONE KNOW ABOUT CARDGAMES2.DLL AND WHERE IT MIGHT BE FOUND?

    Thanks, Wayne
     
  6. Carlos Detweiller

    Carlos Detweiller MDL Spinning Tortoise

    Dec 21, 2012
    2,487
    2,107
    90
    Well, I completely searched a Vista Ultimate, and this file just doesn't exist. Only cardgames.dll can be found (in the WinSXS directory and the hardlinked file in %windir%\system32). No cardgames2.dll.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    Carlos, Interestingly when checking the Win 7 version of Solitaire (under Win 7 X86) I see that it, also, makes an unsuccessful call to cardgames2.dll! It seems, then, that a missing cardgames2.dll is NOT the cause of Vista Solitaire crashing under Windows 7! The mystery continues... Wayne
     
  8. woot332

    woot332 MDL Senior Member

    Feb 18, 2011
    390
    810
    10
    In Vista games the are sometimes 2 checks one enable-game and getversionex check.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    woot332, Thanks for the info! I have the 7D => EB "patch" for (apparently) the version check problem, but do you know how to get around the enable-game problem? Hoping for the best, Wayne
     
  10. woot332

    woot332 MDL Senior Member

    Feb 18, 2011
    390
    810
    10
    hearts.exe from vista works fine in win7 with one byte patch so should solitaire.exe.
    Patch the code calls to slc.dll "GetWindowsInformationDWORD" simple as that.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    woot332, I assume you are referring to the SLGetWindowsInformationDWORD function exported by slc.dll. Is the "patch" you mentioned one that sets the return value of this function to S_OK? (I assume my problem is being caused by the function returning some other value?) I'm sorry to be "dense", but I have no idea how to locate the location in the exe file that needs patching. Any "hints" would be greatly appreciated! Wayne
     
  12. woot332

    woot332 MDL Senior Member

    Feb 18, 2011
    390
    810
    10
    Use a hex editor

    Hearts.exe

    sha1: 0691C210B857EC166C2C74888BF784DF2CB72F49
    rawoffset: 0003486F 7D-->EB

    Solitaire.exe

    sha1: DE1F594A9639F2B0011EF421A4329A92F428BBFC
    rawoffset: 00034E13 7D-->EB
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    Thanks once again. Unfortunately, my X86 Vista copies of solitaire.exe and hearts.exe are versions 6.0.6001.18000 which seem to be slightly different than the ones that you have. The 7D values are not at exactly the locations you mention, but there ARE a number of 7D's nearby. If you could give me a little of the the hex values surrounding the 7D I should be able to locate the proper "patch" location. Thanks, Wayne
     
  14. woot332

    woot332 MDL Senior Member

    Feb 18, 2011
    390
    810
    10
    Meh just upload the unmodified files and i'll patch them later.:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. wbrells

    wbrells MDL Novice

    Jan 20, 2013
    9
    0
    0
    Thanks, woot332 but I'm leaving town very shortly and was just hoping to do a "quick & dirty" hex patch on the various VISTA game files (both x86 and x64). If that isn't possible I'll just wait a couple of months (until I get back) before tackling this problem again.... Thanks anyway, Wayne