我已经创建了一个利用Microsofts Directx9作为图形API的应用程序,它在我的计算机上运行良好,但在其他计算机上,它要求dll主要与msvcrt和d3d运行时相关。那么如何确保我的应用程序每次执行时都会运行,而不知道vcrt或directx是什么?我是否使用我的应用程序提供运行时包?虽然2MB应用程序不可行。该怎么办?
答案 0 :(得分:1)
正如Nicol Bolas在下面指出的那样,必须在用户计算机上安装DirectX(和Visual C ++)才能使用您的应用程序。
我之前建议捆绑DirectX Web Installer,因为它非常小,但正如Ross Ridge所说,这可能不是分发DirectX的合法方式。 Microsoft建议使用not bundle the Web Installer,但请使用可再发行组件包:
始终安装DirectX,并默默地执行
强烈建议游戏默默安装DirectX 可再分发的游戏是针对游戏构建的。 DirectX 安装过程的目的是为了验证是否有任何问题 需要更新并快速返回,如果没有。所以,没有 需要询问用户是否需要安装DirectX。一个沉默 可以通过从您的命令运行此命令来完成DirectX的安装 安装包:dxsetup.exe / silent
询问用户是否要安装DirectX会导致许多问题。 例如,如果用户假定他具有最新的可再发行组件 安装并选择跳过DirectX的安装;安装 无论如何,游戏可以继续成功。但是,如果是游戏 需要特定版本的D3DX或其他更新功能 被跳过,然后游戏将无法工作,用户将非常 沮丧。
请按照Microsoft的建议进行操作,并将可再发行组件添加到您的应用程序中。
另外,请不要忘记将任何可再发行的许可协议包含在您的应用程序中。在安装之前,用户必须必须显示这些协议。