Adding 'CrashReportClient.exe' to Shipping Win64 build.

Hi,

What is the exact process of adding ‘CrashReportClient.exe’ to a Shipping build.

Have tried a number of things, setting the checkbox for crashreportclient in the project settings.

Creating a ‘CrashReportClient.ini’ and adding the other boolean to activate.

The exe is built in the engine binaries folder but doesn’t get added as part of the build.

What am I doing wrong is there an example?

Thanks,

Simon

[Attachment Removed]

Hi Simon.

To have Unreal Engine include the crash reporter during packaging, simply enable “Edit -> Project Settings -> Include Crash Reporter”.

It will include the crash reporter when you package your project, like via “Platforms -> Package Project” in Unreal Editor.

The CrashReportClient executable will be at “Windows\Engine\Binaries\Win64\CrashReportClient.exe” in the packaged game’s folder.

For more information about how to edit and configure the crash report client, you can check out this video: Crashing With Style in Unreal Engine.

[Attachment Removed]

So is the crash reporter not showing up at all? Neither in the Engine/Win64 folder of the packaged game, nor popping up if you force the game to crash?

I tested this on a new project, both in a source version of Unreal Editor built from scratch, and with a launcher version of UE 5.6.1 from the Epic Games launcher. Just enabling “Edit -> Project Settings -> Include Crash Reporter” (no other settings), and exporting via “Platforms -> Windows -> Package Project”, and that was enough to get the crash reporter automatically compiled and included in the project.

I tested running a Development game and writing “debug crash” into the console, and that correctly triggered the crash reporter.

There shouldn’t be anything else needed to get the crash reporter included in the project, the packaging process should just do it automatically if the project setting is set. Does it work for you if you package the game from Unreal Editor via the “Platforms -> Windows -> Package Project” button?

[Attachment Removed]

It might be that the project setting checkbox is only used on a higher level, at some point “-CrashReporter” is added to the command line when UAT calls UnrealEditor-Cmd.exe. Can you try adding that argument to your command line? You might need to wrap it into -AdditionalBuildOptions=“-crashreporter” or -AdditionalCookerOptions=“-crashreporter”. I’m currently not in the office so I can’t easily check.

[Attachment Removed]

> “And with 5.6.1 only way to streamline the look of the app is to manually change the code?”

Yes, you can only customize the crash reporter’s appearance by editing its source code.

[Attachment Removed]

I agree, I would’ve expected the project setting to be enough. Glad that the “-crashreporter” argument works for you, it seems that’s the way to go when going the RunUAT route, weirdly enough.

[Attachment Removed]

Hi Ari,

All seems good now.

Thank you for the help.

Simon

[Attachment Removed]

Glad to hear! Closing this ticket now :+1:

[Attachment Removed]

Hi Ari,

Not working by setting:

IncludeCrashReporter=True

‘CrashReportClient.exe’ does not exist in the build, not being copied over even though does exist in Engine binaries folder.

Also the .pdb is being copied over too, only way to stop that is to use ‘-nodebuginfo’.

Even putting this in DefaultEngine.ini doesn’t do anything

[CrashReportClient]

bCanUseCrashReporter=True

bSendUnattendedBugReports=True

bAllowToBeContacted=False

CrashReportClientVersion=1

Also what is best way to get the CrashReportClient.exe (shipping) auto built when building the project?

And with 5.6.1 only way to streamline the look of the app is to manually change the code?

I’ve watched parts of the video not had time to watch all the way through.

Best,

Simon

[Attachment Removed]

Hi,

Any update on this. Adding some more details.

Cannot get a build to happen with ‘CrashReportClient.exe’ put in the build. Even tried through Project Launcher but no luck.

Here is the line we use for doing builds:

call %RunUatBat% BuildCookRun -project=%ProjectFile% -noP4 -platform=%Platform% -clientconfig=%BuildConfig% -serverconfig=%BuildConfig% -unrealexe=%UeCmdTool% -utf8output -client -build -cook -compressed -stage -iostore -prereqs -distribution -package -pak -clean -nocompileeditor -stagingdirectory=%BuildsDir% -cmdline=“-Messaging”

Thanks,

Simon

[Attachment Removed]

More info:

Have this in DefaultEngine.ini

[CrashReportClient]

bCanUseCrashReporter=True

bSendUnattendedBugReports=True

bAllowToBeContacted=False

CrashReportClientVersion=1

Have:

[/Script/UnrealEd.ProjectPackagingSettings]

IncludeCrashReporter=True

Which should satisfy

// Whether to include the crash reporter.

if (PackagingSettings->IncludeCrashReporter && PlatformInfo->DataDrivenPlatformInfo->bCanUseCrashReporter)

{

BuildCookRunParams += TEXT(" -CrashReporter");

}

But doesn’t

Only way to have it added is to pass “-crashreporter” in the build command line.

So why is that block in the .ini not working, wrong place or?

[Attachment Removed]

More info after looking more

This does not exist:

[/Script/WindowsTargetPlatform.WindowsTargetSettings]

bCanUseCrashReporter=True

so no wonder its failing

looked through samples with no luck.

[Attachment Removed]

Hey Ari,

How ever I try to package the project it doesn’t get added.

But it does work just by adding “-crashreporter” as is directly to the build command line works. It’s in one of my replies, sorry if it got lost.

Just goes against from how I understand its supposed to work.

[Attachment Removed]

Hi Ari,

So doing this:

“Platforms -> Windows -> Package Project”

I do get “CrashReportClient.exe”

But have to use “-crashreporter” going through UAT, is this going to be changed? Also for .pdb’s have to use “-nodebuginfo” doesnt use respect the setting from package settings.

Also noticed building from within package within the Editor it creates more files like:

CrashReportClient.pak

Which doesn’t get created going through our command line for building the package.

Are there things we are missing going through UAT, should we be passing extra switches?

Thanks.

[Attachment Removed]

Re: “But have to use “-crashreporter” going through UAT, is this going to be changed?”

It seems some of the packaging project settings, like for including crash reporter or debug symbols, are for setting which arguments to send to UAT. I don’t think there’s a high priority/reason to change that.

Re: “Also noticed building from within package within the Editor it creates more files like: CrashReportClient.pak, which doesn’t get created going through our command line for building the package.”

I ran the same command line as you provided, with the -CrashReporter argument, and it does create a “GameFolder\Windows\Engine\Programs\CrashReportClient\Content\Paks\CrashReportClient.pak” file for me. If you provide both -CrashReporter and -Pak to UAT, it should create and copy this pak file over.

[Attachment Removed]

I am having this same issue currently. Yes, it works in Development, but I am working through trying to make it appear in Shipping. So far I have added this line to BuildCommonTools.Automation.cs in MakeAgenda, under the Windows binaries, and that gets the executable into the packaged build, but attaching a debugger it appears to have the wrong path… digging into that now.

Agenda.AddTarget("CrashReportClient", UnrealBuildTool.UnrealTargetPlatform.Win64, UnrealBuildTool.UnrealTargetConfiguration.Shipping);

[Attachment Removed]

You shouldn’t need to make any changes to the engine just to have the crash reporter included in shipping builds. The engine already has the functionality to include it. How are you packaging your project?

[Attachment Removed]

Ah, should have said -- this is packaging via the Editor UI. We do have the -crashreporter flag in our automation scripts, and it does show up in that packaged build. But it does not currently pop up in shipping builds, which is why I’m debugging the path stuff currently… however, if that behaves differently in editor packaged builds than in builds packaged via automation script, I may be barking up the wrong tree.

[Attachment Removed]

Packaging it via the editor, with the “Include Crash Reporter” project setting on, just forwards the “-crashreporter” parameter to the Unreal’ Automation Tool. It does this for all build configurations.

I just ran a test: I clicked Platforms -> Package Project -> Windows & Shipping -> Package Project, with “Include Crash Reporter” project setting enabled, and it includes the crash reporter in “PackagedDir\Windows\Engine\Binaries\Win64\CrashReportClient.exe”. If that isn’t happening for you, then something is going wrong.

[Attachment Removed]