Required dependencies for UE4 games.

Thank you. I will include the MSI manually for now.
While we are on the subject of packaging and shipping: is there any way to avoid the main game exe file to be placed in the subfolder .\MyGame\Binaries\Win32\Mygame.exe ? It’s not very intuitive for an end user. If I move the file to the root folder I’m getting a "Failed to open descriptor file ‘…/…/MyGame.uproject’ so it’s looking for files at a relative path.

Sorry for going off topic.

There isn’t at the moment. I know the directory structure isn’t great for a packaged game, it’s a byproduct of the way that the rest of the toolset is laid out. The expectation is that users would launch your game from a start menu shortcut created by an installer, so the nested path wouldn’t be a problem.

Sorry but i have a nooby’s question : It’s possible to have a slient installation msi? Like imagine I create a game launcher and when I hit ‘play’ the launcher look if all the dll are here, if not then he launch the msi in silent mode, wait the instalation (in silent) to finish and then run the game. It will be transparent to the user … a great way to do litle project like games jam to avoids lots of requirements errors!

I’m I will add a task to look in to how we can improve this. Perhaps we could add stub executables to the root of your packaged game, which could offer to install the dependencies for you before spawning the executable in the Binaries folder. That would fix both these issues…

Hi, sorry to bump such an old thread but I haven’t found much documentation on whether the shipping exe runs the redists installation automatically yet (I’m on 4.7)

Has this been added yet? Or should we assume that a clean PC will still have to run UE4PreReqSetup.msi?

Yes! As long as the “Include Prerequisites” box is checked in the packaging settings (it’s enabled by default), the executable in the root of your packaged game should ask if you want to install the prerequisites if they are missing.

Just out of curiosity, UE4PrereqSetup_x86.exe|msi seems to depend on and install .NET3.5 whereas the x64 version does not; is there any reason for this? As VS2013 comes with .NET451, should that not be the target?

Cheers

Is this known to work properly when running from Steam? I’m pointed at the root exe, but new players still have issues getting it to run for the first time until they run UE4PreReqSetup.msi.
I also tried including common redists through steam, but it still appears to be missing something. I made a post here regarding that: What gets installed with UE4PrereqSetup_x64.exe? - Platform & Builds - Epic Developer Community Forums

If you cannot assist with this, would you be able to point me to a dev who could?

Thanks!

Hi ! Sorry I’m chiming in so late, will try my best to get you the info you are after. At the moment I’m not sure why you are seeing .NET3.5 install. Is there a specific 32bit version of windows you are seeing it install on?

We don’t explicitly chain 3.5 at any point in our installers. It may be that one of the third party installers, which we download/install on demand and have no control over, requires/installs .NET3.5. Here is a list of stuff we chain at the moment:

-Microsoft .NET Framework 2.0 SP2(ver. 2.2.30729.1) (We only install this on 32bit Windows XP because it is required for proper DirectX install on that platform)
-Microsoft .NET Framework 4(ver. 4.0.30319.1)
-Windows Installer 4.5
-Visual C++ runtime files (VC100, VC110, VC120)
-DirectX

Some of the above have different installers for each version of Windows so we’ll need a bit more info on your 32bit Windows version to pinpoint the culprit.

There are a few reasons we don’t target .NET451. One of the big ones is that we support games on OS versions that don’t support .NET451.

Cheers,

I’m not fully familiar with the packaging processes for Steam but did you double check that the “Include Prerequisites” box is checked in your packaging settings? If you are building from source, it might be worth checking out BootstrapPackagedGame.cpp. It is a cool processes that kicks off the prereq install work you are interested in. The dependency checks performed before the prereq installer is kicked off could be problematic. The checks do not seem robust enough to catch all the missing dependency edge cases. I’ll try to bring it up with the source author.

For some reason I’m not able to follow the link you posted to your answerhub question but I think I have an idea what you are asking there from the URL. The answer is a bit complicated because the installer takes into account a large number of windows versions which have their own little requirements. See my reply to PrimalJohn Scott to see the general list of items installed. We can go into more detail on each one as needed.

Thanks for following up, and that info you gave definitely helps me out. Also here’s a new link to my answer hub question, I had to recreate it the other day: What gets installed with UE4PrereqSetup_x64.exe? - Platform & Builds - Epic Developer Community Forums

I believe if I check the box for .NET 4.0 it may be the missing piece I need. If you can glance at that and let me know what you think it’d be appreciated. Thanks!

Hi there,

am I getting this correctly:

  • If you package the game with “Include Prerequisites” checked, it will install the required runtimes etc. automatically if you start the EXE in the package root folder?

Hi!

We are looking into using UE instead of Unity one more time, and are also wondering if you still are required to have Admin rights to be able to make an UE exe build run on a computer.

Since we work with b2b Serious games this has been a deal breaker for us, since many users inside big organizations don’t have admin rights and can there for not run our “games”.
Unity and Stingray don’t require any installations of dll etc.

Really really hope for a positive answer to this, it´s such a stupied deal breaker :wink:

We have now tried running a release build on a new fresh Win 8 PC and we get the Require DirectX dialog for the Xinput. Its good that the required Prerequisites is included, but the require Admin rights to install,
which is a deal breaker for us and many who work for Bigger industrial companies with strict IT security!

Is there any way to make UE4 not having to use Xinput and other dependencies?
We really really want to use UE, but if this isn´t solved.

thankful for any help!

Is the Visual Studio 2013 framework,that is the other dependencies apart from xinput, now included winth windows 7 8 and 10?

Same problem here, clients don’t have admin rights on their computers, so they can’t run the project at all.

Same here.

Could please include the files that are inside the Redist as a zip, so we could manually extract them to the game’s binaries folder if necessary.

We don’t actually package up the files ourselves; the MSI just includes merge modules and redist installers provided by Microsoft.

You might be able to extract the loose files from the DirectX redist installer using a third party archive utility like 7-Zip, or by installing the DirectX SDK and extracting the CAB files under the Redist folder. I think it’s the APR2007 XInput CAB files that you need.

Missing DirectX is not the only problem, some computers don’t even have VC++ redistributables installed (like, missing msvcp120.dll).

I wonder if I should include ALL dll’s in those installers 0XDEADBEEF mentioned some posts ago.

But anyway… if it were possible to automatically include all these prerequisites in a packaged game (inside the Binaries folder), that would be a nice feature to have. (“Project Settings / Include prerequisites” doesn’t works, apparently).

I think the XInput DLLs are the only ones that aren’t installed by default by Windows Update. Everything else should be present on a relatively up-to-date Windows installation from Win7 upwards, AFAIK. I may be wrong though. :slight_smile:

I’ve added a ticket to include an option for including those DLLs (UE-23729), though I can’t guarantee any timeline for it.