安装驱动程序包时出现WiX DifxApp错误:无法获取与驱动程序包关联的服务

安装驱动程序包时出现WiX DifxApp错误:无法获取与驱动程序包关联的服务,wix,driver,windows-7-x64,inf,minifilter,Wix,Driver,Windows 7 X64,Inf,Minifilter,我正在尝试安装的驱动程序是Windows 7x64的内核迷你过滤器驱动程序。我正在测试安装程序的机器处于测试模式,驱动程序文件和.cat文件都用我的证书签名。我按照说明进行了操作,但仍然无法安装驱动程序。我确保在.inf文件的[version]部分添加了DriverPackageType=filesystemminiflter 以下是我的WiX安装程序xml的摘录: <Directory Id="Driver" Name="Driver"> <

我正在尝试安装的驱动程序是Windows 7x64的内核迷你过滤器驱动程序。我正在测试安装程序的机器处于测试模式,驱动程序文件和.cat文件都用我的证书签名。我按照说明进行了操作,但仍然无法安装驱动程序。我确保在.inf文件的
[version]
部分添加了
DriverPackageType=filesystemminiflter

以下是我的WiX安装程序xml的摘录:

        <Directory Id="Driver" Name="Driver">
          <Component Id="MY-DRIVER-NAME" Guid="MY-GUID">
            <File
              Id="DRIVER_FILE1_SYS"
              Name="DriverFile1.sys"
              DiskId="1"
              Source="path_to_sys_file"
              Vital="yes"
              System="yes"
              ReadOnly="yes"
              KeyPath="yes"/>
            <File
              Id="DRIVER_FILE2_SYS"
              Name="DriverFile2.sys"
              DiskId="1"
              Source="path_to_sys_file"
              Vital="yes"
              System="yes"
              ReadOnly="yes"
              KeyPath="yes"/>
            <File
              Id="DRIVER_FILE3_SYS"
              Name="DriverFile3.sys"
              DiskId="1"
              Source="path_to_sys_file"
              Vital="yes"
              System="yes"
              ReadOnly="yes"
              KeyPath="yes"/>
            <File
              Id="DRIVER_FILE4_SYS"
              Name="DriverFile4.sys"
              DiskId="1"
              Source="path_to_sys_file"
              Vital="yes"
              System="yes"
              ReadOnly="yes"
              KeyPath="yes"/>
            <File
              Id="DRIVER_FILE_INF"
              Name="DriverFile.inf"
              DiskId="1"
              Source="path_to_inf_file"
              Vital="yes"
              System="yes"
              ReadOnly="yes"/>
            <File
              Id="DRIVER_FILE_CAT"
              Name="DriverFile.cat"
              DiskId="1"
              Source="path_to_cat_file"
              Vital="yes"
              System="yes"
              ReadOnly="yes"/>
            <difx:Driver Legacy="yes"/>
          </Component><!--LEGDriver-->
使用以下命令安装.inf文件没有问题:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 path-to-inf\infname.inf
它还通过“右键单击安装”成功安装


手动在计算机上安装.msi文件时,将上面的“RUNDLL32.EXE”命令作为自定义操作EXECOMAND添加到我的WiX安装程序(而不是使用DifxApp)会起作用,但是,通过Active Directory服务器(每台计算机GPO)的GPO部署时,安装不会完成。(除INF安装外的所有操作都已完成)

答案是RUNDLL32.exe命令的修改版本。把132换成131

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 131 path-to-inf\infname.inf

128+4=132=要求用户在需要时重新启动 128+3=131=不要问,只需重新启动

由于这是在任何用户登录之前从AD部署并在引导时安装的,我想当程序试图创建一个弹出框询问用户是否要关机时,它会失败。将其设置为131会导致它在用户登录之前安装并重新启动计算机。在计算机完成双重重启后,就可以开始了

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 131 path-to-inf\infname.inf