question

Phil Woods avatar image
Phil Woods asked

How to obtain missing system32 dlls

Hi,

We've been evaluating PlayFab for multiplayer using a Windows server written using UE4. We have been following the documentation and managed to author a Windows game server without too much difficulty but we were unsure on the best course of action regarding the missing dlls.

We identified a list of dlls which our server was using which are missing from the Windows container and they all were contained on the local PC within the C:\Windows\System32 folder. For our first test we copied those missing dlls from the local PC into the server build, which worked, but that doesn’t seem like a good practice.

What is the recommended way to get hold of the Window system32 dlls that our Windows server needs but are missing from the Windows container?

Thanks,

Phil.

windows
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Seth Du avatar image
Seth Du answered

In fact, your solution should be fine as it is mentioned in this documentation: https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/determining-required-dlls.

Ideally, modifying the docker image should be better, however, windows image is maintained by PlayFab and developers cannot update it. You may just include the dlls in the asset.

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Phil Woods avatar image Phil Woods commented ·

Okay thanks, if we need them, we'll copy the missing system32 dlls over from the local PC's Windows directory.

We did a bit of trial and error testing yesterday to see if our Windows server would run with PlayFab’s Windows image without the missing system32 dlls, reported from ListDlls, and discovered that our Windows server still ran okay even without most of the missing system32 dlls. The only dlls in our list which were required were the DirectX dlls.

We're not sure why our Windows server still ran without the missing system32 dlls, maybe UE4 attempts to load a collection of dlls that we don’t actually need? For the DirectX dlls we found them in the UE4 distribution in the folder ‘Binaries\ThirdParty\AppLocalDependencies\Win64\DirectX’ so we're going to copy from there instead since then we won't be relying on any local files in the Windows folder on the build PC.

0 Likes 0 ·
Seth Du avatar image Seth Du ♦ Phil Woods commented ·

Can the required DLLs already be packed in the project? By the way, there was a possibly related thread in the community that mentioned an error due to the lack of DLLs, which can be solved by selecting Deployment mode as "self-contained" in Visual Studio. I am not expert on it, but it is worth a try if you have the same issue.

1 Like 1 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.