我正在使用 InstallShield 来安装我的应用程序,驱动程序和服务。
只有在设备管理器中找到了硬件ID时,才需要安装plug-N-play驱动程序。使用DPInst.exe完成驱动程序安装。
我的问题是,用户有时可以手动卸载驱动程序(安装后甚至卸载“其他设备”下的“未知驱动程序”)然后我就可以了虽然设备已插入,但在设备树中找不到硬件ID。
如果我在安装期间使用CM_Reenumerate_DevNode_Ex
(相当于“扫描新硬件”的代码)重新扫描设备树,我可以找到硬件ID,但这会显示“Found新硬件向导“。
是否有重新扫描设备树但是禁止“找到新硬件向导”或者避免重新扫描但仍然确保系统中存在我的设备硬件ID?
答案 0 :(得分:0)
听起来你的方式错了。如果您有基于MSI的安装,为什么不使用DIFxApp而不是DPInst? 至于“发现新硬件”向导,你需要两件事:
答案 1 :(得分:0)
我正在写一个新的答案,因为我们已经对我的旧答案提出了太多评论,其内容是基于对情况的一个小误解。
正如我现在所理解的,实际问题是重新扫描设备时弹出的“添加新硬件”向导, 安装驱动程序之前。不幸的是,只要找不到合适的驱动程序来处理系统中的新设备,就会弹出此向导,因此为了克服它,唯一的选择是确保系统中存在这样的驱动程序。这导致我可以看到两种可能的解决方案: