首页 > 解决方案 > 无法卸载由 INSTALLER1 安装并由 INSTALLER2 升级的驱动程序

问题描述

我们有一个驱动程序由两个不同的 WiX 安装程序提供,因此我在两个安装程序源代码 (.wxs) 中使用了相同的驱动程序组件 GUID。shared="yes" 并将文件密钥路径标记为 "Yes"。

<Component Id="MYDRiverID"
            DiskId ="1"
            Guid="EXXXXXX-XXX-XX"
            Win64="$(var.Is64bit)" Shared="yes">
<File Id="myDriver"
                  Name="driver.sys"
                  Source="Dir\driver.sys"
                  KeyPath="yes"/>
<difx:Driver Legacy="no"
                     Sequence="10"
                     AddRemovePrograms="no"
                     DeleteFiles="yes"
                     PlugAndPlayPrompt="no"
                     ForceInstall="no"/>

我在卸载时面临如果通过INSTALLER1安装 1.0.0.0 并使用INSTALLER2 2.0.0.0升级,则替换较新的驱动程序文件,但是在卸载时如果我使用添加/删除程序 ==>>INSTALLER2 卸载,当我检查时它无法删除驱动程序“sc query mydriver”我的驱动程序没有被卸载。

检查卸载日志/eventvwr 未发现任何错误/失败消息。

 MSI (s) (F0:74) [19:39:55:832]: Component: _Driver_MYDriver.sys_Win8.XXXXXXX_XXXX_4XXXX3_XXXXX_XXXXXXXXXXXX; Installed: Local;   Request: Absent;   Action: Null;   Client State: Local
 MSI (s) (F0:74) [19:39:55:928]: The file represented by File table key 'MYDriversysWin7' has no eligible binary patches
 MSI (s) (F0:74) [19:39:55:928]: The file represented by File table key 'MYDriversysWin8' has no eligible binary patches
 MSI (s) (F0:74) [19:39:55:928]: The file represented by File table key 'MYDriverinfWin7' has no eligible binary patches
 MSI (s) (F0:74) [19:39:55:928]: The file represented by File table key 'MYDrivercatWin7' has no eligible binary patches
 MSI (s) (F0:74) [19:39:55:928]: The file represented by File table key 'MYDriverinfWin8' has no eligible binary patches
 MSI (s) (F0:74) [19:39:55:928]: The file represented by File table key 'MYDrivercatWin8' has no eligible binary patches
 DIFXAPP: INFO: 'Component' is '_Driver_MYDriver.sys_Win7.XXXXXXX-XXXX-XXXX-XXXXXXX'
 DIFXAPP: INFO: This is a no-op custom action for component _Driver_MYDriver.sys_Win7.XXXXXXX-XXXX-XXXX-XXXXXXX. The NoOp_{XXXXXXX-XXXX-XXXX-XXXXXXX} property has been set to TRUE.
 DIFXAPP: INFO: 'Component' is '_Driver_MYDriver.sys_Win8.XXXXXXX-XXXX-XXXX-XXXXXXX'
 DIFXAPP: INFO: This is a no-op custom action for component _Driver_MYDriver.sys_Win8.XXXXXXX-XXXX-XXXX-XXXXXXX. The NoOp_{MYDRIVER_COMPONENT_GUID} property has been set to TRUE.
 MSI (s) (F0:74) [19:39:56:068]: Executing op: RegOpenKey(Root=-2147483646,Key=SYSTEM\CurrentControlSet\Services\MYDriver,,BinaryType=1,,)
 DIFXAPP: INFO: 'Component' is '_Driver_MYDriver.sys_Win7.XXXXXXX-XXXX-XXXX-XXXXXXX'
 DIFXAPP: INFO: This is a no-op for component _Driver_MYDriver.sys_Win7.XXXXXXX-XXXX-XXXX-XXXXXXX. The NoOp_{XXXXXXX-XXXX-XXXX-XXXXXXX} property has been set to TRUE.
 DIFXAPP: INFO: Skipping cleanup for component _Driver_MYDriver.sys_Win7.XXXXXXX-XXXX-XXXX-XXXXXXX, since it is a no-op.
 DIFXAPP: INFO: 'Component' is '_Driver_MYDriver.sys_Win8.XXXXXXX-XXXX-XXXX-XXXXXXX'
 DIFXAPP: INFO: This is a no-op for component _Driver_MYDriver.sys_Win8.XXXXXXX-XXXX-XXXX-XXXXXXX. The NoOp_{MYDRIVER_COMPONENT_GUID} property has been set to TRUE.
 DIFXAPP: INFO: Skipping cleanup for component _Driver_MYDriver.sys_Win8.XXXXXXX-XXXX-XXXX-XXXXXXX, since it is a no-op.
 Property(S): DRIVER_MYPRODUCT_COMPONENT_DIR_WIN7 = C:\Program Files\Common Files\XXXXX\Win7\

我在 Windows 8 上收集了这些日志驱动程序。

添加了一项用户模式服务以验证它是否成功安装/升级/卸载,我不明白为什么驱动程序失败。

任何帮助都会非常有帮助。

标签: wixwindows-installer

解决方案


推荐阅读