Packaging with Visual Studio 2017 RC

Hi. What I have:

  • UE 4.14.3
  • VS Community 2017 RC 15.0.26020.0
  • Windows 7

There are 2 issues:

  • When I’m trying to package a (Windows) 64-bit build, I have a corecrt.h error just like [here][1]. I understand, that I need to look at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots for KitsRoot registry key. But it’s pointing to C:\Program Files\Windows Kits\10 and C:\Program Files\Windows Kits\8.1 by default.

If I change it to Program Files (x86), then everything builds fine. Not sure this is a great solution, because Visual Stuidio Installer doesn’t like it. More like a temporary workaround.

  • Unfortunately I can’t package a (Windows) 32-bit build at all. It’s clearly looking for Visual C++ Build Tools 2015, which I do not have.

121641-111.png

[This advice doesn’t help][4], because I have “C++ support” installed and “64-bit build” works.

No ERROR: No 32-bit compiler toolchain found in logs btw. Just this:

UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: Performing full C++ include scan (no include cache file)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: Performing 12 actions (4 in parallel)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: E:\Studio\Program\Engines\Epic Games\Unreal Projects\Test\Plugins\AdvancedSessions\Binaries\Win32\UE4-AdvancedSessions.lib
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: Total build time: 18,90 seconds
UATHelper: Packaging (Windows (32-bit)): CommandUtils.Run: Run: Took 19,1030926s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Windows (32-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): E:\Studio\Program\Engines\Epic Games\4.14\Engine\Binaries\DotNET\UnrealBuildTool.exe Test Win32 Development -Project="E:\Studio\Program\Engines\Epic Games\Unreal Projects\Test\Test.uproject"  "E:\Studio\Program\Engines\Epic Games\Unreal Projects\Test\Test.uproject"  -remoteini="E:\Studio\Program\Engines\Epic Games\Unreal Projects\Test" -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2017.01.12-01.57.09.txt' 
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictio
nary`2 InTargetToManifest)
UATHelper: Packaging (Windows (32-bit)):    at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
UATHelper: Packaging (Windows (32-bit)):    at BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (Windows (32-bit)):    at BuildCookRun.ExecuteBuild()
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.Automation.Process(String[] Arguments)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (Windows (32-bit)):    at AutomationTool.Program.Main()
UATHelper: Packaging (Windows (32-bit)): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Windows (32-bit)): BUILD FAILED

Any others thoughts instead of “just install VS2015”? Or should I wait for a patch?

Thanks.

Hello Barnacle-Rus,

Have you selected Visual Studio 2017 as your compiler of choice inside of the Editor Preferences in the engine? This setting can be found under “Source Code”.

Hi, Matthew. Thanks for the advice.
Yeah, I tried that. Same result.

Also tried to reinstall VS2017 and make new blank blueprint project.

Then I added C++ Class in Editor. Compiled fine.

But whenever I’m trying to package 32-bit build it fails.

64-bit build works “fine” though (except that “Windows Kits registry path problem”).

Thank you for trying that. I should checked prior to leaving a comment, but it seems that even when using Visual Studio 2017, the 2015 toolchain is still required. You can continue to use 2017 but 2015 will need to be installed as well to do so as we do not officially support 2017 as it has still yet to officially release.