Windows 尝试使用驱动程序安装升级时发生Installshield错误

Windows 尝试使用驱动程序安装升级时发生Installshield错误,windows,installation,driver,installshield,installshield-2013,Windows,Installation,Driver,Installshield,Installshield 2013,(使用installshield 2013) 我有一个安装软件的安装程序,现在我正在向安装程序添加一个全新的shinny设备驱动程序。需要注意的是,it(驱动程序)应该只安装在32位windows 7机器上,我们还想利用即插即用的优势,所以安装后应该可以使用。然而,考虑到这一点,将软件安装在Win7-64位机器上是完全正确的。这不是公司外部“正式”支持的场景,而是内部开发人员所必需的 因此,我所做的是添加我的组件并将其标记为32位驱动程序。如果我尝试在我的笔记本电脑(win7 64位)上安装,我

(使用installshield 2013)

我有一个安装软件的安装程序,现在我正在向安装程序添加一个全新的shinny设备驱动程序。需要注意的是,it(驱动程序)应该只安装在32位windows 7机器上,我们还想利用即插即用的优势,所以安装后应该可以使用。然而,考虑到这一点,将软件安装在Win7-64位机器上是完全正确的。这不是公司外部“正式”支持的场景,而是内部开发人员所必需的

因此,我所做的是添加我的组件并将其标记为32位驱动程序。如果我尝试在我的笔记本电脑(win7 64位)上安装,我会收到
错误-您需要使用64位版本的DIFXAPP.DLL在此计算机上安装驱动程序。
Drat!一位同事建议我在
MSIProcessDriver
上使用以下条件
VersionNT>=601而不是VersionNT64
,这些条件似乎对组件本身不起作用,我被告知这些条件在过程中已经太晚了。我还必须将这些条件添加到MSICleanUpOnSuccess中,才能升级到我的笔记本电脑上。我不知道这是否是正确的解决方案,但它适合我,我可以安装和升级。这就是我的问题开始的地方,在实际的硬件平台上,我可以安装一次,但我不能升级或安装任何不同版本的安装程序,应用程序本身安装良好,但安装程序总是返回“中断”。我得到以下信息

DIFXAPP: ERROR 0x65A creating MsiUninstallDrivers custom action for Win7Drivers
DIFXAPP: RETURN: ProcessDriverPackages() 1626 (0x65A)
CustomAction MsiProcessDrivers returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 15:04:33: MsiProcessDrivers. Return value 3.
MSI (s) (B8:58) [15:04:33:419]: Machine policy value 'DisableRollback' is 0
MSI (s) (B8:58) [15:04:33:419]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (B8:58) [15:04:33:419]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (B8:58) [15:04:33:419]: Calling SRSetRestorePoint API. dwRestorePtType: 13, dwEventType: 103, llSequenceNumber: 29, szDescription: "".
MSI (s) (B8:58) [15:04:33:419]: The call to SRSetRestorePoint API succeeded. Returned status: 0.
MSI (s) (B8:58) [15:04:33:419]: Unlocking Server
Action ended 15:04:33: INSTALL. Return value 3. 
从我在网上收集到的信息来看,这可能是由于一个错误的安装,使得这个驱动程序的注册表处于错误的状态。我看到其他人遇到了这个问题,但没有发布任何解决方案。我也有点不知所措,不知道该做什么,或者如何让我的测试机回到工作状态。我希望你们能提供帮助,或者分享一个你们发现有效的类似场景的策略


p、 我还试着将它作为一个单独的功能,并将
required
标记为
NO
,认为如果它失败了(比如在我的笔记本电脑上),整个安装程序也不会失败。我不确定我们的硬件平台上的预期行为是什么,如果驱动程序在哪里安装失败,我想失败了?

我能够解决我的问题,使用Revo un installer来进行一些麻烦的注册表设置,目前为止还不错,而且在这个过程中我不必重新映像我的机器