[Bug 35979] Contagion (Steam) - Microsoft Visual C++ 2012 Redistributable Package installer started each time the game is launched

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Apr 13 05:16:07 CDT 2014


http://bugs.winehq.org/show_bug.cgi?id=35979

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                URL|                            |http://store.steampowered.c
                   |                            |om/app/238430
                 CC|                            |focht at gmx.net
         Resolution|---                         |DUPLICATE
            Summary|Contagion (Steam) -         |Contagion (Steam) -
                   |Everytime the game is       |Microsoft Visual C++ 2012
                   |launched, Microsoft VC      |Redistributable Package
                   |Redist Package is           |installer started each time
                   |installed.                  |the game is launched

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

It's a common problem for various Stream games if the requested prerequisite is
not installable.

First, you check the game manifest to get the list of prerequisites.
The manifest is located in 'SteamApps' folder and named
'appmanifest_<steamappid>.acf':

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Steam/SteamApps

$ cat appmanifest_238430.acf 

"AppState"
{
    "appid"        "238430"
    "Universe"        "1"
    "name"        "Contagion" 
...
    "InstallScripts"
    {
        "0"        "_CommonRedist\\vcredist\\2005\\installscript.vdf"
        "1"        "_CommonRedist\\vcredist\\2010\\installscript.vdf"
        "2"        "_CommonRedist\\vcredist\\2012\\installscript.vdf"
        "3"        "_CommonRedist\\DirectX\\Jun2010\\installscript.vdf"
        "4"        "_CommonRedist\\PhysX\\9.12.1031\\installscript.vdf"
        "5"        "contagion\\installscript.vdf"
    }
}  
--- snip ---

This basically tells the game wants DX runtime 2010, PhysX 9.12 and three
different VC++ runtimes: 2005, 2010, 2012

The VC++ distributable packages for the game are stored here (along with the
Steam install scripts):

--- snip ---
$  pwd
/home/focht/.wine/drive_c/Program
Files/Steam/SteamApps/common/Contagion/_CommonRedist/vcredist

$ ls
2005  2010  2012
--- snip ---

Content of 'installscript.vdf' for VC++ 2012 runtime:

--- snip ---
"installscript"
{
    "Run Process"
    {
        "x86 Update 2"
        {
            "HasRunKey"       
"HKEY_LOCAL_MACHINE\\Software\\Valve\\Steam\\Apps\\CommonRedist\\vcredist\\2012"
            "process 1"       
"%INSTALLDIR%\\_CommonRedist\\vcredist\\2012\\vcredist_x86.exe"
            "command 1"        "/quiet /norestart"
            "NoCleanUp"        "1"
        }
        "x64 Update 2"
        {
            "HasRunKey"       
"HKEY_LOCAL_MACHINE\\Software\\Valve\\Steam\\Apps\\CommonRedist\\vcredist\\2012"
            "process 1"       
"%INSTALLDIR%\\_CommonRedist\\vcredist\\2012\\vcredist_x64.exe"
            "command 1"        "/quiet /norestart"
            "NoCleanUp"        "1"
            "Requirement_OS"
            {
                "Is64BitWindows"        "1"
            }
        }
    }
}
"kvsignatures"
{
    "installscript"       
"129f2349e074c990e449eb30f65194fc13455a6e0c02be358ea390e703cbb0c9da76891ef3b75c028fa93e32697ae5f80b4f79cf43ffd203af3d26219eeaece84e8d3ec40fbfa94614ee6e0a694e9485b0dd6145aeeb1ca4b14a305af00c10fea44ff0248ae3dd9a9421d0a074e55d9c37427d4299a2faed031012a96d9783fe"
} 
--- snip --- 

This also highlights the way Steam checks if the prerequisite is already
present/installed -> registry keys.

For each successful prerequisite installer run a registry key will be created,
denoting this (see install script).
Prerequisite install keys are either located within game appid registry subkey
or in global 'common' keys.

With all VC++ runtimes successfully installed the relevant part of registry
should look like this:

--- snip ---
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Valve\Steam\Apps\CommonRedist\vcredist]

[HKEY_LOCAL_MACHINE\Software\Valve\Steam\Apps\CommonRedist\vcredist\2005]
"x86 sp1"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Valve\Steam\Apps\CommonRedist\vcredist\2010]
"x86"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Valve\Steam\Apps\CommonRedist\vcredist\2012]
"x86 Update 2"=dword:00000001
--- snip --- 

Unfortunately the VC++ 2012 redist installer can't be installed with Wine (bug
17273) hence the registry key will not be present.

You can fake successful install by putting the registry keys manually.
This usually works because Wine's VC++ runtime replacements works well.

Anyway, still a dupe of bug 17273

Regards

*** This bug has been marked as a duplicate of bug 17273 ***

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list