指示Window的融合加载器首先使用系统dll?
我需要部署一个 带有 DLL 的应用程序< /a> 位于 Windows 2000 上的用户的应用程序目录中。该 dll 随 Windows XP 一起提供,后来作为系统 dll。
Microsoft 也在 Windows XP 中引入了 Fusion 加载程序,以解决程序集依赖性。
是否可以指示不使用我的文件夹中的 dll 版本,而是始终使用系统提供的该 dll 版本的最新版本? Windows 2000 没有 Fusion 加载程序,也没有 dll,所以它只会使用我文件夹中的版本?
i need to deploy an application with a DLL in the application's directory for users on Windows 2000. The dll was shipped with Windows XP an later as a system dll.
Windows XP was also when Microsoft introduced the Fusion loader, to resolve assembly dependancies.
Is it possible to instruct to not use the version of the dll in my folder, but instead to always use the latest version of system supplied version of that dll? And Windows 2000 doesn't have the Fusion loader, nor the dll, so it will just use the version in my folder?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Windows 2000 上,如果 DLL 不在应用程序文件夹中,它将沿着标准 DLL 加载路径前进(即类似于 $PATH 的工作方式)。 您的应用程序在 XP 上的功能取决于您是否有应用程序清单(即您是否指定版本)。
On Windows 2000, if the DLL isn't in the app folder, it will walk down the standard DLL load path (i.e. similar to how $PATH works). What your app does on XP depends on whether you've got an App Manifest (i.e. whether you specify a version or not).
在 Windows 上这是不可能的。
当前目录中的 DLL 始终首先加载。
我只能建议你以动态加载 DLL 的方式修改你的应用程序
那么就可以更改 LoadLibrary 路径或指定确切的路径
到DLL
It is not possible on Windows.
DLLs from the current directory are always loading first.
I could only suggest you to modify your application in a way it loads the DLL dynamically
then it will be possible to alter LoadLibrary path or to specify the exactly path
to the DLL