问题标签 [syswow64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 从 32 位代码在 System32 中运行 64 位可执行文件
我正在尝试从 32 位 C# 应用程序(在 64 位操作系统上)运行可执行文件,但我得到“系统找不到指定的文件”可能是因为 C:\Windows 中不存在 wsqmcons.exe \SySWOW64。该文件确实存在于 System32 中。如果可能的话,从代码运行 wsqmcons.exe 的最佳方法是什么?
dll - MMC 管理单元找不到位于 PATH 目录中的第 3 方 DLL
我遇到了 32 位 MMC 管理单元的问题(在 x64 服务器 2008 机器上)。管理单元已成功注册。当我使用 mmc(使用 32 位选项)启动关联的.msc 文件时,管理单元的名称显示在 LHS 上,但 RHS 显示一个错误页面,指出无法加载该页面。
使用 procmon,我认为我已经确定问题与未能找到产品随附并由管理单元使用的 DLL 有关。它位于目录 c:\\bin 中,该目录在 PATH 环境变量中指定。但是,MMC 似乎只在 c:\windows\sysWOW6432 目录中查找(即 64 位计算机上的 c:\windows\system32 的 32 位版本)。如果它还继续搜索 PATH 上指定的其他目录(包括 c:\\bin 目录),我不会介意这一点。
我已经测试了这个假设并将 DLL 放在 syswow6432 目录中,从那里开始一切似乎都正常工作。
我显然不想将所有特定于产品的 DLL 放在系统目录中,而是希望将它们保留在特定于产品的目录中。
谁能解释无法在 PATH 上找到 DLL 和解决方案。
dll - 从 64 位的 InstallScript 项目中卸载安装程序时从 system32 文件夹中删除 DLL
我有 InstallShield 2011,我正在 InstallScript 项目中创建 64 位设置。
当我安装安装程序时,DLL 确实进入了 64 位系统上的 system32 文件夹。但问题是,当我卸载设置时,system32 中的 DLL 没有被删除。
如果我复制 SYSWOW64 文件夹中的 DLL 并卸载安装程序,则 DLL 将从 SYSWOW64 文件夹中删除,但不会从 systen32 中删除。
redirect - 离线安装是否会发生文件和注册表重定向?
文件和注册表重定向是否发生在注册表配置单元和离线 Windows 安装文件上?这意味着 32 位程序在 64 位系统上看到文件系统/注册表的不同视图,即使它不是正在运行的操作系统?
delphi - 在 IDE 中运行时,无法在 Win7 64 位上的 Delphi2007 中加载 ODBC DLL
有人能帮忙吗。
我正在使用Delphi2007 12 月更新。
我正在尝试通过 ODBC 连接到 Gupta 数据库并收到错误消息:找不到指定的模块。C:\Windows\System32\c2gup15.dll。
这些 DLL 是 32 位的,应该可以在 c:\Windows\SysWow64 中找到。
独立运行我编译的程序(不在 Delphi 内部)时,我没有问题。
在 Delphi IDE 中运行的 XP(我的另一台机器)上没有问题。
通过此 ODBC 驱动程序进行的所有其他连接方式(如 Excel)都可以完美运行。
我在使用 ODBCExpress 和 AnyDac 时都遇到了这个问题。
据我了解:在 Win7 64 位窗口中运行 32 位应用程序时,应自动使用 SysWow64 而不是 System32。
Delphi2007 会以某种方式破坏或覆盖它吗?
任何建议如何解决它?(不能使用调试器时,开发软件并不容易)
wix - 应用程序找不到 SysWOW64 中的 dll
我正在开发一个使用一些自定义 32 位 dll 与 USB 设备通信的 C#/WPF 应用程序。它是作为 x86 应用程序开发的,并与 WIX 一起安装。当我在 64 位机器上安装软件包时,程序文件会按照我的预期安装到 Program Files (x86)。
使用 WIX 将 dll 安装到 SystemFolder。在 32 位机器上,这意味着 C:\Windows\System32。在 64 位上,它们最终位于 C:\Windows\SysWOW64。这没关系,但是当我运行我的应用程序时,它无法找到 dll(它通过 [DllImport...] 使用它们)。
那么,让我的应用程序找到 dll 的正确方法是什么,无论它们是在 System32 还是 SysWOW64 中?
谢谢汤姆
nsis - NSIS 脚本未安装在正确的目录中
我正在尝试制作安装脚本:
- 在 32 位电脑上:tapi_32bits.tsp 在
C:\windows\system32
- 在 64 位电脑上:tapi_64bits.tsp
C:\Windows\System32
和 tapi_32bits.tspC:\Windows\SysWOW64
这是我写的脚本:
但在 64 位电脑上,它将两个文件(tapi_64bits.tsp 和 tapi_32bits.tsp)都放在 Syswow64 文件夹中。安装程序确实说它安装在正确的文件夹中,但两个文件都在 Syswow64 文件夹中。我究竟做错了什么?
winapi - KbdLayerDescriptor pVkToWcharTable 在 Win64 上返回 NULL
我在这里没有想法了。我有一段改编自http://thetechnofreak.com/technofreak/keylogger-visual-c/的代码,用于将键码转换为 unicode 字符。它在所有情况下都可以正常工作,除非您尝试从 64 位 Windows 运行 32 位版本。出于某种原因,pKbd->pVkToWcharTable 一直返回 NULL。我已经尝试过 __ptr64 以及为 kbd dll 路径明确指定 SysWOW64 和 System32。我在互联网上找到了几个提到这个确切或非常相似的问题的项目,但我似乎无法让任何解决方案起作用(参见:KbdLayerDescriptor 在 64 位架构中返回 NULL) 以下是我在 Windows XP (gcc -std=c99 Wow64Test.c) 上使用 mingw-32 编译然后在 Windows 7 64 位上执行的测试代码。在 Windows XP 上,我得到了一个有效的指针,但是在 Windows 7 上,我得到了 NULL。
***更新:所以看起来我遇到的问题是由于 mingw 没有正确实现 __ptr64 因为 sizeof 操作给出了 4 个字节而不是 Visual Studio 给出的 8 个字节。所以真正的解决方案是想办法使 KBD_LONG_POINTER 的大小动态或至少为 64 位,但我不确定这是否可能。有任何想法吗?
vbscript - 从批处理文件运行 vbscript
我只需要编写一个简单的批处理文件来运行 vbscript。vbscript 和批处理文件都在同一个文件夹中,并且在 SysWOW64 目录中,因为 vbscript 只能在该目录中执行。目前我的批处理文件如下:
但是 vbscript 没有执行,只是打开了命令提示符。谁能告诉我在运行这个批处理文件时如何执行 vbscript?
windows-7 - 在 Win 7 64 位操作系统中从命令提示符启动 32 位可执行文件
我正在使用 64 位 Windows 7 并且遇到了一个奇怪的问题。我在 c:\Programs(x86) 中安装了 installAnywhere(一个 32 位应用程序),因为我不想将它安装在常规的“c:\Program Files(x86)”中以避免目录中空间的麻烦。
当我尝试使用以下语法从命令提示符调用 installanywhere 时: cmd /c "c:\Programs(x86)\InstallAnywhereEnterprise\build\build.exe" ... 我收到错误 "c:\Programs" is not a命令。原因是它试图在 c:\Programs 中寻找 installAnywhere 忽略 (x86) 部分。
我对从命令提示符启动 32 位程序与 64 位程序进行了一些调查,并尝试使用%windir%\SysWow64\cmd.exe。当我使用“%windir%\SysWow64\cmd.exe”时,%programfiles% 正确指向“c:\Programs Files(x86)”,但启动我提到的命令只会给出相同的错误。Windows的FileSystemRedirector仍然一直指向 c:\Programs。我在默认位置“C:\Programs Files(x86)”中重新安装了 InstallAnywhere,但我不知道为什么它不适用于“C:\Programs(x86)”。
有谁知道解决方法?