File lib_burst_generated.dll has failed the AppContainerCheck check

My game failed the windows store review with the following error:

Windows security features test:
Failed - Binary analyzer

  • Error Found: The binary analyzer test detected the following errors:

  • File lib_burst_generated.dll has failed the AppContainerCheck check.

  • Impact if not fixed: If the app doesn’t use the available Windows protections, it can increase the vulnerability of the customer’s computer to malware.

  • How to fix: Apply the required linker options - SAFESEH, DYNAMICBASE, NXCOMPAT, and APPCONTAINER - when you link the app. See links below for more information.

Any ideas on how to fix this, I don’t understand what they mean above?

How do you reproduce this? Are you building for Universal Windows Platform from Unity?

Yes UWP.
Do a Build, then submit it to the Windows Store for review.

I’m using the following packages:

“com.unity.analytics”: “3.3.2”,
“com.unity.animation.rigging”: “0.1.4-preview”,
“com.unity.cinemachine”: “2.3.4”,
“com.unity.jobs”: “0.0.7-preview.13”,
“com.unity.mathematics”: “1.0.1”,
“com.unity.package-manager-ui”: “2.1.2”,
“com.unity.playablegraph-visualizer”: “0.2.1-preview.3”,
“com.unity.postprocessing”: “2.1.7”,
“com.unity.render-pipelines.core”: “5.16.1”,
“com.unity.render-pipelines.high-definition”: “5.16.1-preview”,
“com.unity.shadergraph”: “5.16.1”,
“com.unity.textmeshpro”: “2.0.1”,
“com.unity.timeline”: “1.0.0”,
“com.unity.visualeffectgraph”: “5.16.1-preview”,

Looks like Burst is busted for UWP right now :(. Trying to figure out how quickly we can get a fix to you. I’m hoping to have more information tomorrow.

Thanks, the sooner the better as we can’t currently release our game.

I’m working on fixing it now (I’m focusing just on this). After that, it will take a couple days to test and publish a new version of burst package. I’ll keep you posted. I’m sorry this happened. We’re adding tests for burst to prevent this happening in the future.

Small update: I have a fix and now I’m trying to get it merged and have a new version of the burst package published.

Any update on this?

Yeah. Look for 1.1.0-preview.4 burst package version. It was published on the staging package registry on Friday night.

  1. I don’t even have Burst installed in my project (as per my package list in the original post above)
  2. It still throws the same error (with or without Burst added)

I assume one of the other packages must be using it and is using an older version, although none mention that it’s required.

If you manually reference 1.1.0-preview.4 version of burst, it will overwrite any version other packages might be pulling in as dependencies. By the same error are you saying that it still says lib_burst_generated.dll fails AppContainer check?

I added the reference via the PackageManager.

Still fails with: lib_burst_generated.dll has failed the AppContainerCheck check.

As well as these other errors:

Error Found: The supported APIs test detected the following errors:

  • API CreateFileW in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API GetModuleHandleExW in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API GetModuleHandleW in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API GetOEMCP in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API GetStartupInfoW in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API LCMapStringW in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API LoadLibraryExW in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API RtlCaptureContext in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API RtlVirtualUnwind in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API UnhandledExceptionFilter in kernel32.dll is not supported for this application type. lib_burst_generated.dll calls this API.
  • API GetCurrentDirectoryA in api-ms-win-core-processenvironment-l1-1-0.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API RtlCaptureContext in api-ms-win-core-rtlsupport-l1-1-0.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API ReadProcessMemory in api-ms-win-core-memory-l1-1-0.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API LoadLibraryA in api-ms-win-core-libraryloader-l1-2-1.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API D3D12GetDebugInterface in d3d12.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API GetFileVersionInfoA in version.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API GetFileVersionInfoSizeA in version.dll is not supported for this application type. UnityPlayer.dll calls this API.

Hey I just checked locally but I cannot reproduce this with the new package. Here’s how my manifest.json looks like:

{
  "dependencies": {
    "com.unity.analytics": "3.3.2",
    "com.unity.animation.rigging": "0.1.4-preview",
    "com.unity.burst": "1.1.0-preview.4",
    "com.unity.cinemachine": "2.3.4",
    "com.unity.jobs": "0.0.7-preview.13",
    "com.unity.mathematics": "1.0.1",
    "com.unity.package-manager-ui": "2.1.2",
    "com.unity.playablegraph-visualizer": "0.2.1-preview.3",
    "com.unity.postprocessing": "2.1.7",
    "com.unity.render-pipelines.core": "5.16.1",
    "com.unity.shadergraph": "5.16.1",
    "com.unity.textmeshpro": "2.0.1",
    "com.unity.timeline": "1.0.0",
    "com.unity.visualeffectgraph": "5.16.1-preview",
    "com.unity.modules.ai": "1.0.0",
    "com.unity.modules.animation": "1.0.0",
    "com.unity.modules.assetbundle": "1.0.0",
    "com.unity.modules.audio": "1.0.0",
    "com.unity.modules.cloth": "1.0.0",
    "com.unity.modules.director": "1.0.0",
    "com.unity.modules.imageconversion": "1.0.0",
    "com.unity.modules.imgui": "1.0.0",
    "com.unity.modules.jsonserialize": "1.0.0",
    "com.unity.modules.particlesystem": "1.0.0",
    "com.unity.modules.physics": "1.0.0",
    "com.unity.modules.physics2d": "1.0.0",
    "com.unity.modules.screencapture": "1.0.0",
    "com.unity.modules.terrain": "1.0.0",
    "com.unity.modules.terrainphysics": "1.0.0",
    "com.unity.modules.tilemap": "1.0.0",
    "com.unity.modules.ui": "1.0.0",
    "com.unity.modules.uielements": "1.0.0",
    "com.unity.modules.umbra": "1.0.0",
    "com.unity.modules.unityanalytics": "1.0.0",
    "com.unity.modules.unitywebrequest": "1.0.0",
    "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    "com.unity.modules.unitywebrequestaudio": "1.0.0",
    "com.unity.modules.unitywebrequesttexture": "1.0.0",
    "com.unity.modules.unitywebrequestwww": "1.0.0",
    "com.unity.modules.vehicles": "1.0.0",
    "com.unity.modules.video": "1.0.0",
    "com.unity.modules.vr": "1.0.0",
    "com.unity.modules.wind": "1.0.0",
    "com.unity.modules.xr": "1.0.0"
  },
  "registry": "https://staging-packages.unity.com"
}

Does the com.unity.burst package version in your manifest match what I have in mine?

Is there any chance lib_burst_generated.dll didn’t get regenerated? Can you try deleting it from “<ProjectName>\Plugins<Architecture>\lib_burst_generated.dll” and rebuilding the project from Unity?

By the way, the UnityPlayer.dll errors happen because you’re building the package in “Release” configuration. You should build it in “Master” or “MasterWithLTCG” (the latter will make build times much longer, but it’s optional to use).

No, it didn’t I had “com.unity.burst”: “1.0.4”, which was the latest preview version available.
I’ve added the “registry”: “https://staging-packages.unity.com” as per your manifest which now gives me the higher version which works correctly.

Thanks for fixing it.