我用installshield为我们公司做的PDA手簿打包win7下的usb驱动安装包。
出现以下两种安装情况:
1、如果是手簿和电脑连接着(处于“未知设备”状态)进行安装,安装过程会卡住进行不下去(可能是因为电脑上提前装的Mobile Device Center检测到了手簿,占用了些东西,导致安装向导卡在“正在注册产品”状态);2、如果是断开二者的连接进行安装,就可以成功。现在最直接的办法是在安装时首先检测手簿是否和电脑已经连接,如果连接了就提醒用户断开,否则就放弃安装;也就是只在手簿和电脑断开的情况下才允许安装。请问有没有比较方便的检测手簿是否处于插入状态的函数(InstallShield自带的或者WIN API函数)或其他办法。ps:
usb驱动安装之前,如果手簿插入,在“设备管理器”中是处于“未知设备”一栏,可以查看到设备正确的pid和vid。我的一个想法是能否获取“设备管理器”中的设备信息,通过pid判断。
出现以下两种安装情况:
1、如果是手簿和电脑连接着(处于“未知设备”状态)进行安装,安装过程会卡住进行不下去(可能是因为电脑上提前装的Mobile Device Center检测到了手簿,占用了些东西,导致安装向导卡在“正在注册产品”状态);2、如果是断开二者的连接进行安装,就可以成功。现在最直接的办法是在安装时首先检测手簿是否和电脑已经连接,如果连接了就提醒用户断开,否则就放弃安装;也就是只在手簿和电脑断开的情况下才允许安装。请问有没有比较方便的检测手簿是否处于插入状态的函数(InstallShield自带的或者WIN API函数)或其他办法。ps:
usb驱动安装之前,如果手簿插入,在“设备管理器”中是处于“未知设备”一栏,可以查看到设备正确的pid和vid。我的一个想法是能否获取“设备管理器”中的设备信息,通过pid判断。
我查查看再说。不过似乎这个消息是在设备插入或拔出“时”发生的;我的情况是用户往往先把手簿连接上了(该消息已经产生过了),然后才运行usb驱动安装程序,所以在安装程序中应该捕获不到这个消息。我希望能检测到是否“已经”插入,状态。
installsheild里边其实是调用了difx API,你在installsheild里用脚本装,然后用preinstall试试