如果应用程序是在32位计算机上构建的,则在64位计算机上运行时,如何知道.dll位于C:\\ Program Files(x86)而不是C:\\ Program Files中,或者没有?

错误摘要
[SCRIPT]:找不到文件: C:\\ Program Files \\ Common Files ... \\ abc.dll

但是,在我的64位计算机上,abc.dll位于C:\\ Program Files(x86)\\ Common Files ... \\ abc.dll中

如果没有,我应该在哪里调整路径,因为显然它不在应用程序的代码中。

#1楼 票数:0

首先,您可以在任一方向上交叉编译,因此在32位计算机上构建并不一定意味着任何事情。 这实际上是在64位计算机上运行32位代码的问题。 在这种情况下,在64位安装中存在一个称为Wow64的32位仿真层。 其中一部分是文件系统重定向,它可以重定向来自32位程序的文件系统请求。 在这种情况下,尝试从32位代码访问“ C:\\ Program Files”将透明地重定向到“ C:\\ Program Files(x86)”。

#2楼 票数:0

不是吗

除非是因为应用程序的目录在这些文件夹之一下, 否则 默认搜索路径的任何部分都不会检查“ Program Files或“ Program Files (x86)任何位置。

如果从32位应用程序收到该错误,则说明设置异常(例如,覆盖了Program Files (x86)下的默认安装位置)。

  ask by HoKy22 translate from so

未解决问题?本站智能推荐:

1回复

在64位计算机上使用32位dll

我有一个使用32位dll的旧项目。 这在32位处理器上工作正常,但是当我在64位操作系统上安装相同的项目时,它不起作用。 有没有办法将32位dll转换为64位? 是否有替代解决方案使我的32位DLL在64位操作系统中工作?
1回复

Microsoft SharePoint的64位dll在32位计算机上运行

我正在使用SharePoint域。 有时我需要为事件接收器和Windows服务等进行开发。 上周,我在服务器上安装了Windows服务,以便从本地文件夹上载文档。 服务器是64位计算机,并且在服务器上安装了“ Windows server 2008 R2”作为OS来运行SharePoi
3回复

将 64 位 DLL 链接到 Visual Basic 6

我正在更新用 C 编写的现有 DLL 项目。出于多种原因,需要 32 位和 64 位版本。 使用这些 DLL 的应用程序是用 Visual Basic 6 编写的,项目中的一个类需要它。 此类包含一个充满 DLL Public Declare函数的模块; 该类是模块中函数的包装器。 Visua
1回复

在32位而非64位上运行的VB3应用程序

我有一个可以在Windows XP和Win 7 32位版本上运行的VB3应用程序,但在Win 7 64位版本上不运行。 谁能解释为什么? 我知道驱动程序具有相同的行为,但这不是我的情况,它只是一个从Access数据库读取的简单应用程序。 据我所知,大多数32位应用程序都在64位体系结构上工
1回复

在SysWOW64中注册VB6 dll时出错

我正在运行在64位Windows Server 2008上运行的VB6 Web应用程序。我不得不修改一个dll组件,但是当我尝试在64位计算机上注册它时出现错误。 新的dll在我正在构建它的NT环境中成功注册。 我启动时已经在SysWOW64下面的目录中的旧dll可以取消注册并重新注册而
3回复

Visual Basic 6程序可以在64位计算机上运行吗?

我有一个使用VB6构建并使用一些32位DLL的程序 。 该程序可以在64位计算机上运行吗? 该页面建议它应该在Windows on Windows层上正常运行,但是DLL呢?
1回复

Windows:构建同一DLL的32位和64位版本

作为新合同职位培训的一部分,我的任务是建立两个DLL和两个cppunit单元测试程序。 一切都成功构建。 当我尝试运行一个单元测试程序时,我发现两个DLL(由单元测试程序使用)都混合了32位和64位元素。 我下载了Dependency Walker(Depends.exe),并跟踪DL
2回复

Windows可以区分32位和64位DLL吗?

Windows应用程序通常是否能够区分两个具有相同名称的DLL,一个是32位,一个是64位,如果它们位于系统PATH变量的两个独立路径中? 特别是现在,我有FreeImage的32位和64位DLL,它们分别位于两个独立的文件夹free_image_path\\dist32和free_ima