How do I stop Deus Ex from installing the MSVC redist package at every launch?

Why is my copy of Deus EX installing the Microsoft package every time I start it up?

How do I stop this behavior?


Solution 1:

Game released on Steam can contain an install script that is run each time the game is launched. It contains a list of registry key and the program to run if the registry key is not set. If the program run successfully, the registry key is supposed to be set. So, what I suspect is that for whatever reason, this key is never written in your registry.

What you can do, is try to search for this script (it is usually called installscript.vdf, the name may change, but the extension will probably stay the same) in the game directory. Then you open it, it should look something like that:

"InstallScript"
{
    "Run Process"
    {
        "DirectX"
        {
            "HasRunKey"     "HKEY_LOCAL_MACHINE\\..."
            "process 1"     "%INSTALLDIR%\\DirectX\\DXSETUP.exe"
            "command 1"     "/silent"
            "NoCleanUp"     "1"
        }
    }
}

Then, you open regedit and you set the registry key that is referenced by the HasRunKey label. I don't know which value you need to enter, I think that any value will be fine, but you may have to experiment.

Solution 2:

Libraries in General

Software often requires multiple support libraries/APIs (for example, DirectX). If one isn't installed on your computer, or if the latest version isn't installed, the installation utility installs those prereqs first. In this case it sounds like DX3 needs an updated version of Microsoft Visual C++ to run.

Repeated Installations

I haven't experienced the repeated installation problem myself, but I can guess at some possible causes. It seems the installation is getting far enough for DX3 to run, but maybe something isn't getting marked as complete at the end of the process for some reason.

Here are some ideas for troubleshooting.

1. Run as administrator

It can't hurt to run Steam as Administrator just to make sure the installation is happening with full privileges. To do that find the Steam icon in your Start menu > right click > Run as Administrator. Then run DX3, go through the MSVC instalation, exit, and run it again to see whether it still tries installing MSVC.

2. Install latest versions yourself

Go to Control Panel > Program and Features and check whether the latest MSCV components are installed.

It might be trying to install MSVC 2005, 2008, or 2010. Since DX3 has been in development for years they likely used 2005 or 2008 for most of their development, but we can't rule out late changes using MSVC 2010.

For reference, here are the most recent versions on my system:

  • MSVC 2005: 8.0.61001
  • MSVC 2008: 9.0.30729.6161
  • MSVC 2010: 10.0.30319

If you don't have the latest, try manually running Windows Update and see whether they get updated. Maybe doing it behind the installer's back will succeed where the installer is failing.

If Windows Update doesn't update them to the latest, something slightly spooky is giong on. You could consider visiting the Microsoft Download Center and manually installing the latest redistributables yourself, picking the appropriate package for your system type (x86 for 32-bit, x64 for 64-bit). I'd be much more comfortable letting Windows Update decide what to install, but the redistributables should (should!) be benign.

3. Wave a dead chicken

Even though this sometimes works, I find it annoying when people suggest it, so I'm suggesting it as a very last resort: uninstall, reboot, temporarily disable your anti-malware software, run Steam as Administrator, and reinstall DX3.

And if that doesn't work (*wince*) uninstall and reinstall Steam, which I believe will unfortunately uninstall all your Steam-based games, and might not even fix the problem. But man, I really hope it doesn't come to that.