2011-11-24 92 views
4

我想用两个32位和64位系统的Windows Vista和Windows 7什么是64位系统中的PnPUtil.exe位置?

我在我的机器上测试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窗口 - pnputil_31bf3856ad364e35_6.1.7600.16385_none_5958b438d6388d15 \ pnputil.exe 和测试也很好。

那么我怎么才能在所有平台上精确检测到这个目录? 我注意到路径依赖于内置的Windows版本 - 6.1.7600.16385 - 但如何检测路径的其余部分? 还是所有64位平台上的路径都一样?那么Vista呢?

+0

你有没有找出答案对此,或者找出安装驱动程序的另一种方法? – Dogmatixed

回答

2

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

似乎没有办法确定PnPutil的位置,我反而必须获得Microsoft's DIFx并使用其可再分发的DPinst。

关于DPinst有一些奇怪的事情让它很难使用。首先,如果它位于路径中具有空格的目录树中,它似乎不能正常运行。谁知道为什么。第二个原因是,由于Arduino驱动程序是未签名的,因此需要在传统模式下运行,以防止弹出一个警告用户的大红色对话框。要在传统模式下运行它,请使用/lm标志,但标志必须是小写。再次,它不清楚为什么。

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

+0

谢谢,DPInst非常奇怪,最后我在我的安装程序(32位和64位)中存储了两个版本的DPInst。 – Slappy

+0

我也结束了诉诸dpinst ... –

0

从C:\ WINDOWS \ winsxs文件\

DIR/s的PnPUtil *

将扫描子目录

2

依赖的位数从你安装应用程序看到PnPUtil.exe的位置你。安装程序:

  • 32位安装程序在32位Windows:在6%WINDIR%\ SYSTEM32
  • 64位安装4位的Windows中:%windir%\ SYSTEM32
  • 在64位Windows
  • 32位的安装程序中:%windir%\ Sysnative(Windows Vista和达)

此处了解详情: http://www.samlogic.net/articles/sysnative-folder-64-bit-windows.htm

相关问题