什么是64位系统中的PnPUtil.exe位置?

时间:2011-11-24 07:54:15

标签: windows-7 windows-vista 32bit-64bit

我想在Windows Vista和Windows 7的32位和64位系统上使用PnPUtil.exe实用程序安装我的USB设备驱动程序[.inf文件]。

我在我的机器[Windows 7 32位]上进行了测试,一切都很好,因为PnpUtil.exe位于: C:\ Windows \ System32 \ PnPUtil.exe 。 但在64位Windows 7中,该实用程序不在此目录中。

当我尝试在不同的Windows 7 - 64位机器上安装驱动程序时,我可以在此位置找到PnPUtil.exe: C:\ WIndows \ winsxs \ amd64_microsoft-windows-pnputil_31bf3856ad364e35_6.1.7600.16385_none_5958b438d6388d15 \ pnputil.exe 而且测试也很好。

那么如何在所有平台上准确检测此目录? 我注意到路径依赖于Windows版本的构建 - 6.1.7600.16385 - 但是如何检测路径的其余部分? 或者所有64位平台上的路径始终相同?那Vista怎么样?

3 个答案:

答案 0 :(得分:3)

从安装程序应用程序中看到的PnPUtil.exe的位置取决于安装程序的位数:

  • 32位Windows上的32位安装程序:%WinDir%\ System32
  • 64位Windows上的64位安装程序:%WinDir%\ System32
  • 64位Windows上的32位安装程序:%WinDir%\ Sysnative(Windows Vista及更高版本)

更多信息: http://www.samlogic.net/articles/sysnative-folder-64-bit-windows.htm

答案 1 :(得分:2)

我最近在尝试为ReplicatorG创建安装程序时遇到了这个问题,其中包括Arduino驱动程序和一些特定于Makerbot Replicator的驱动程序。

似乎没有办法确定PnPutil的位置,而是我必须获取Microsoft's DIFx并使用他们的可再发行的DPinst。

有一些关于DPinst的奇怪之处让它难以使用。第一个是,如果它位于路径中包含空格的目录树中,它似乎无法正常运行。谁知道为什么。第二个是,因为Arduino驱动程序是未签名的,所以它需要在传统模式下运行,以避免弹出一个警告用户的大红色对话框。要在传统模式下运行它,请使用/lm标志,但标志必须为小写。再一次,目前还不清楚为什么。

最后,我将安装程序复制dpinst和每个驱动程序复制到临时目录中的文件夹,然后运行dpinst。它会弹出一个漂亮的小向导并告诉用户安装了哪些驱动程序。

答案 2 :(得分:0)

来自C:\ WIndows \ winsxs \

dir / s PnPUtil。*

将扫描子目录