Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Startup error about DirectX DLL #29

Closed
5 tasks done
Tracked by #80
ForNeVeR opened this issue Jul 10, 2023 · 3 comments · Fixed by #82
Closed
5 tasks done
Tracked by #80

Startup error about DirectX DLL #29

ForNeVeR opened this issue Jul 10, 2023 · 3 comments · Fixed by #82
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@ForNeVeR
Copy link
Owner

ForNeVeR commented Jul 10, 2023

privately reported problem:
image_2023-07-10_19-50-24

Probably we need DirectX 9 installed on the user's computer, or something like that?

TODO

  • Bundle the libraries for use in dev mode
    • If impossible to bundle, figure out how to install, and add the information into the contributor guide
  • Make sure the libraries are also available in the installed version of the game
    • Either open a new task for installer, or make sure they get bundled by either dotnet build or dotnet pack properly
  • If we figure out anything new, add our information to this old question on Stack Overflow
@ForNeVeR ForNeVeR added bug Something isn't working help wanted Extra attention is needed labels Jul 10, 2023
@ForNeVeR ForNeVeR mentioned this issue Jul 28, 2023
4 tasks
@KeterSCP
Copy link
Contributor

So based on https://stackoverflow.com/a/28500257, I've prepared a minimal required DirectX redist:

dx_redist.zip

@ForNeVeR
Copy link
Owner Author

Gosh this is complicated.

Okay, the current plan then will be:

  • Create a separate GitHub project
    • This will be a messy activity, but
  • Push a script that will get these files from their origin, verify the hashes and pack them
    • Why so complicated? Because nobody should believe you, or me, or others in delivering the binaries, and thus the workflow of packing any artifact, even of this one-shot kind, should be fully automated and verifiable.
  • Run the script and publish the files to NuGet.org
    • Why nuget? Because that's the best storage for binaries in .NET. Even if we aren't using them as direct assembly references.
  • Download/reference the package on build
  • Bundle it into the installer and run installation
  • Add information about installation into the contributor guide

@ForNeVeR
Copy link
Owner Author

But then, have you taken a look at https://www.nuget.org/packages/Microsoft.DXSDK.D3DX? It seems to contain the libraries we need (at least D3DX9_43.dll is there), and the license seems to allow redistribution in the mode we want to.

Maybe let's start investigating that?

I've read this old article linked from the link you found, and it seems to indicate that DirectX is mostly available on the modern systems, with a small exception of D3DX, whatever the hell is that.

KeterSCP added a commit to KeterSCP/bloodmasters that referenced this issue Jul 29, 2023
KeterSCP added a commit to KeterSCP/bloodmasters that referenced this issue Jul 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants