繁体   English   中英

64位Windows 2008上的32位cluster.exe

[英]32-bit cluster.exe on 64 bit Windows 2008

我们有一个在Perl 32位上运行的安装程序。 该程序需要获取有关群集资源的信息,因此它运行cluster.exe(使用反引号)并解析其输出。

在Windows Server 2003上,此操作进展顺利,因为syswow64下存在32位版本的cluster.exe。 但是,Windows Server 2008上不存在这样的32位版本,因此,cluster.exe的反引号表示无法找到这样的可执行文件,因为32位进程在syswow64下查找该可执行文件。

有人可以想到一种绕过此问题并获取群集资源信息的方法吗? 一种手动方法是从system32复制cmd.exe的64位版本,然后使用“ / c cluster.exe”运行它,这将在system32下启动64位cluster.exe。 (复制cluster.exe不能很好地进行,因为它找不到群集缓存。)但是,这仅是一种手动解决方法,而不是对所有用户的解决方案,因此很好。

有另一种方法来导致Windows启动64位cluster.exe吗?

谢谢,
夹板

聚苯乙烯
一个月前在Technet上提出了类似的问题,但没有得到真正的答案。

我发现了两种可能的解决方案:一种是编写一个名为cluster.exe的小型64位应用程序,该应用程序简单地调用%SystemRoot%\\ System32 \\ cluster.exe(使用system()),并将其放在%SystemRoot%\\ syswow64下。 由于它是一个64位应用程序,因此将调用正确的64位cluster.exe应用程序。

另一种解决方案是使用sysnative重定向(如解释在这里 ),所以现在我们检查-如果的%SystemRoot%\\ SYSTEM32 \\ Cluster.exe的存在,我们使用它,否则,如果的%SystemRoot%\\ Sysnative \\ Cluster.exe的存在,我们用它,否则我们将使用普通cluster.exe。

注意:这与刚刚得到解决的telnet.exe问题非常相似。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM