Announcement

Collapse
No announcement yet.

Required dependencies for UE4 games.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Required dependencies for UE4 games.

    Which dependencies do the games we build with UE4 require by default?

    We tried running the built game on a new computer with windows 8.1 pro, but that didn't work out of the box.

    First, it was complaining about missing a msvcp120.dll. We downloaded this file and placed it in the same folder as the exe, and it kept complaining about more files.

    After some more googling we found out that we had to install the 2013 c++ redistributable thing.

    However, that wasn't the only problem:

    Now XINPUT1_3.dll was missing. Downloading this and placing it in the same folder as the exe doesn't exactly work... 0x0000007b is an interesting error message.

    After more googling, we found this file belongs to some version of directx (but NOT to dx11 which the game is supposed to use, as dx11 was already installed)

    We then ran this program: http://www.microsoft.com/en-US/downl...ils.aspx?id=35

    It seems that it installed all versions of directx from 2006 onwards. After doing that, the game runs.



    So what we got from that is:
    - 2013 c++ redistributable is required.
    - The game uses dx11 but requires dlls from older versions of dx.
    - Installing these requires admin rights.


    Where do we find a complete list of required dependencies?
    And is there a way to get the game working without admin rights, assuming dx11 (but no older versions) is installed?
    Alternatively, is there a way to run the game on OpenGL if dx11 can't be installed?

    #2
    Good question -- I pinged some folks internally about this as I am not seeing UE4/Engine/Extras/Redist/en-us/UE4PrereqSetup.msi/exe as part of the launcher install. I haven't paid attention to this aspect in a while so the folks that deal with this will need to comment and correct me :-)

    The TLDR on intent is that you shouldn't have to worry about the prerequisites and we should have an easy way for you to satisfy them on user machines.

    Comment


      #3
      You're quite right, I'm sorry it was such a hassle to track down. The two you need are the Visual C++ 2013 runtime and the DirectX runtime.

      We do have an MSI package which installs these prerequisites as Dan mentions, though it's not part of the current distribution. I'll try to clear that to be added in to the next release, and ask the documentation team to call it out.

      I believe we're using an older version of XInput for compatibility with older versions of Windows (like XP), where it should fall back to using the OpenGL renderer if DX11 isn't available. Microsoft don't include the older XInput DLLs with Windows 8 by default, which is why it needs to be installed manually. You can force the game to run in OpenGL mode with the -OpenGL commandline option if you want to try it.

      Comment


        #4
        Originally posted by Ben Marsh View Post
        We do have an MSI package which installs these prerequisites as Dan mentions, though it's not part of the current distribution. I'll try to clear that to be added in to the next release, and ask the documentation team to call it out.
        That sounds great! Is there a way I can get this installer? Unless the next version is right around the corner, it isn't that urgent.

        Originally posted by Ben Marsh View Post
        I believe we're using an older version of XInput for compatibility with older versions of Windows (like XP), where it should fall back to using the OpenGL renderer if DX11 isn't available. Microsoft don't include the older XInput DLLs with Windows 8 by default, which is why it needs to be installed manually.
        Is there a way to make it run with dx11 libraries only?

        Originally posted by Ben Marsh View Post
        You can force the game to run in OpenGL mode with the -OpenGL commandline option if you want to try it.
        This doesn't seem to work out of the box:

        Comment


          #5
          Erm... bump.

          Comment


            #6
            And suddenly, bump!

            Doesn't seem like there is any dependency installer coming with the new version. What's up with that?

            Comment


              #7
              Note that "Direct3D 11" and "DirectX" are different things. Using XInput of a particular version is different from using the Direct3D 11 APIs that come built-into Windows.
              (Yeah, Microsoft could do better on making all of this clear)
              You will need to run one DirectX Runtime Installer that includes XInput. You will also need to run the MSVC installer for the runtime for the version of MSVC that you build with, and perhaps for other dependencies you bundle.
              The best way of doing this is to build your installer using WiX, and merge the other installers as MSM (merge modules) to hide it under the covers of your own installer UI

              Comment


                #8
                Apologies for not posting back here with an update. The 4.3 release includes the dependency installer in the Engine\Extras\Redist\en-us folder.

                Comment


                  #9
                  Originally posted by Ben Marsh View Post
                  Apologies for not posting back here with an update. The 4.3 release includes the dependency installer in the Engine\Extras\Redist\en-us folder.
                  Sorry for getting in the middle of this! I used the dependency installer on a windows 8 computer but when i tried to run my shipped game i still got the "0x0000007b" error. My game runs fine on windows 7 computers. I'm also using UE 4.3 and found the dependency installer at the above location. I'm very new to this so I'm gonna ask a stupid question: is it because im shipping a 32 bit version and not a 64 bit version of the game? The 64 bit option is greyed out in my editor so I cant really try it out.

                  Thanks

                  Comment


                    #10
                    Originally posted by Schmidt View Post
                    Sorry for getting in the middle of this! I used the dependency installer on a windows 8 computer but when i tried to run my shipped game i still got the "0x0000007b" error. My game runs fine on windows 7 computers. I'm also using UE 4.3 and found the dependency installer at the above location. I'm very new to this so I'm gonna ask a stupid question: is it because im shipping a 32 bit version and not a 64 bit version of the game? The 64 bit option is greyed out in my editor so I cant really try it out.

                    Thanks
                    Hmmm, that's as it should be - we only support 32-bit shipping games at the moment. Could you try installing the following things and let me know if either of them fixes it?

                    Visual Studio 2013 Redistributable
                    DirectX installer

                    Comment


                      #11
                      Thanks for helping! I finally got my hands on a computer with windows 8 and installed the programs you mentioned, but I still get the same 0x000007b error. I read somewhere that it could be problems with the registry and then i ran CCleaner but it didn't help. Tried running my game on yet another windows 7 computer and it worked so i'm not sure if its my game or the specific windows 8 computer that is messing things up.

                      Comment


                        #12
                        The 7b error means that a 64 bit program tried to load a 32 bit library. Maybe that happens because they didn't create a 64 bit dependency installer yet? Don't know.

                        Comment


                          #13
                          Originally posted by Zeblote View Post
                          The 7b error means that a 64 bit program tried to load a 32 bit library. Maybe that happens because they didn't create a 64 bit dependency installer yet? Don't know.
                          I kinda hope its something that is controlled by UE and not something that is wrong with the computer i'm trying to run the game on.

                          Comment


                            #14
                            I'm not sure what this is; is there any chance you could upload your packaged game somewhere so we could take a look?

                            Comment


                              #15
                              Any news on this?
                              I'm having the same issue here after packaging a 32 bit app with UE4.4.1.
                              Some users get the dll errors and needs to download and install the VC++ package and others the DirectX package.
                              I would prefer that everything was included and installed with the game, so end users have a smooth experience.

                              Comment

                              Working...
                              X