DirectX game with no prerequisite software to run

2019-07-18 10:30发布

I'm new to programming with DirectX and I want to know how should I create a DirectX game.

Will there be a way to package all the required files for people to run without the need for additional software? I'll add the exception that they'll need to install DirectX. What I mean is, when I try to run an executable version of a DirectX program on a computer that isn't setup to create DirectX projects, I get an error like "d3dx10_43.dll is missing" and I have directX version 11 installed on that machine. Now I know I can just place d3dx10_43.dll inside the folder people will download but are there any legal issues when I do this?

Basically I want to make games with the least amount of prerequisite software required, or at least be able to include it in their download without any legal issues. (The reason why I say legal issues, is because I know XNA requires its framework in order to run games with it... and I know you're not allowed packaging the XNA framework with your download.)

Thanks.

Jason

标签: c++ xna directx
2条回答
Bombasti
2楼-- · 2019-07-18 10:46

Generally you just bundle (or do an install-time download of) the appropriate redistributable package from Microsoft.

You're definitely not supposed to redistribute loose DLL files for the vast majority of Microsoft libraries.

To correct your XNA example: You can't legally redistribute XNA Game Studio (the Visual Studio components). But you can redistribute the XNA Framework. I'd assume that there is a similar distinction between the DirectX SDK and redistributable.

How you actually download or bundle, and then invoke the redistributable really depends on what installer technology you are using.

查看更多
淡お忘
3楼-- · 2019-07-18 10:56
  1. If you use native DirectX, you can distribute the run time library, it's free, you can view the detail information when you install DirectX SDK.
  2. Anyway, the end user need to install the dlls in order to run your program, so either they install the run time library themselves or you shipped it with your program.

Here is the ELUA from DirectX SDK 2010(June)

b. Distributable Code. The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.

i. Right to Use and Distribute. The code and text files listed below are “Distributable Code.”

• DIRECTX REDIST.TXT Files. You may copy and distribute the object code form of code listed in DIRECTX REDIST.TXT files

And what the DIRECT REDIST.TXT said

Redistributable Code is identified as all of the files in the following "Redist" directory on the DirectX SDK CD/Download:

redist/

the redist folder contains the run time dll files required to run your program.

查看更多
登录 后发表回答