我可以使用 SlimDX 依赖已与 Vista/Win7 捆绑的 DirectX DLL 创建应用程序吗?
我正在开发一个需要使用加速图形(当前为 DirectX 9.0c)的 .NET 应用程序。该软件是图形密集型软件,此外,还必须能够从 CD 或 ClickOnce 启动,而无需用户获得管理员权限。
我目前使用 SlimDX,它在功能方面表现出色,但用户对必须安装 DirectX 可再发行组件感到相当恼火。特别是因为这确实需要提升权限。很难向他们解释为什么已经与他们的操作系统捆绑在一起的 DirectX 版本还不够。毕竟,DirectX 9.0c 自 2004 年以来就已经存在,而且我没有使用任何新奇的功能。
能够提供在 Vista 或 Windows 7 中“正常运行”的应用程序,而无需任何特定的附加先决条件,这将是一个巨大的优势。
因此:有没有什么方法可以使用基于 SlimDX 的 DirectX 9.0c 构建一个仅依赖于标准 Windows Vista/Win7 安装中提供的库的应用程序?也就是说,无需安装额外的 DirectX 可再发行组件?
如果没有 - 是否有任何其他托管(最好不要放弃)DirectX 包装器可以达到此目的?
提前致谢!
I'm working on a .NET application that requires the use of accelerated graphics, currently DirectX 9.0c. The software is quite graphics intensive and must, in addition, be launchable from a CD or by ClickOnce without the user requiring administrator's permissions.
I currently use SlimDX, which works great featurewise, but the users are getting rather annoyed by having to install the DirectX redistributable. Especially since this does require elevated permissions. It is rather hard to explain to them why the version of DirectX already bundled with their OS is not sufficient. After all - DirectX 9.0c has been around since 2004, and I'm not using any new fancy features.
The ability to deliver an application that "just works" in Vista or Windows 7, without any particular additional prerequisites would be a huge advantage.
Therefore: Is there any way I can build an application using DirectX 9.0c based on SlimDX, that relies only on the libraries provided in the standard Windows Vista/Win7 installation? That is - without requiring the additional DirectX redistributable to be installed?
If not - is there any other managed (and preferably not abandoned) DirectX wrapper that can serve this purpose?
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为 SlimDX 无法在没有 DirectX 可再发行组件的情况下运行,但可以将 DirectX DLL 直接捆绑到程序集中,而不是使用可再发行包将它们安装到 GAC。我还没有亲自测试过这种可能性,但如果您希望它适用于 x86 和 x64 平台,那么以通用方式加载正确的 DirectX DLL 可能会很复杂。
我不知道还有其他 DirectX Wrapper,但 SlimDX 似乎是唯一在 x64 平台上运行的。
I think SlimDX can't run wihout the DirectX redistributable, but it may be possible to bundle DirectX DLL directly into your assembly instead of installing them to GAC with the redistribuable pack. I haven't test this possibility by myself but it may be complex to load the right DirectX DLL in a generic way if you want this to work for x86 and x64 platforms.
I don't know about another DirectX Wrapper, but SlimDX seem to be the only one to run on x64 platforms.