我只是尝试使用 Installshield 2009 安装我编写的演示驱动程序。我写了一个演示 inf 文件。我还用 VC++ 编写了一个简单的控制台应用程序。
然后我想连同驱动程序一起安装应用程序,因此我创建了 Basic MSI Project 并将我的应用程序 exe 添加到其中。在此之后,我使用设备驱动程序向导(位于设置设计 >>> 新功能中)将我的 inf 文件添加到其中 installshield 还添加了 .sys 和 .cat 文件。
现在的问题是,当我运行生成的 msi 文件时,它只安装应用程序而没有安装驱动程序。在安装过程中,它给了我一个 Windows 安全窗口,当我点击“仍然安装此驱动程序软件”时,它会继续安装完成。但是在 system32/drivers 中没有驱动程序,也没有在注册表中输入。
演示驱动程序仅包含带有 printfs 的基本驱动程序功能。inf 包含:
[version]
Signature="$CHICAGO$"
Class=RKP_LTO_DEMO_DD
; GUID created by me usingGUIDGEN tool
ClassGuid={03E9C4D5-178E-4684-B407-A3E103D71CE9}
Provider=%DD_DEMO%
CatalogFile = dd_demo.cat
DriverVer=02/24/2012, 2.0.1.2
[DefaultInstall]
CopyFiles=XYZ_Device.Copy
AddReg=XYZ_DeviceHW
[XYZ_Device.Copy]
demo_dd.sys
[XYZ_DeviceHW]
HKLM,SYSTEM\CurrentControlSet\services\,demo_dd,0x00000000,"%12%\demo_dd.sys"
[SourceDisksNames]
1=%RTO_DISK_NAME%,Sample_DIF,0
[SourceDisksFiles]
demo_dd.sys=1,,
[DestinationDirs]
XYZ_Device.Copy=12
[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
DD_DEMO = "RKP XYZ DD DEMO"
DisplayName = "RKP XYZ Driver Install Frameworks"
ClassName = "rkp xyz dd_demo"
DD_DEMO.DeviceDesc = "Rkp Xyz WI DIF Sample"
rto.SVCDESC = "RKP XYZ Device Driver"
RTO_DISK_NAME ="RKP XYZ Installation Disk"
installshield 安装日志提供以下消息 (0xE0000301):
DIFXAPP: INFO: ENTER: DriverPackageInstallW
DIFXAPP: WARNINGRIVER_PACKAGE_LEGACY_MODE flag set but not supported on Plug and Play driver on VISTA. Flag will be ignored.
DIFXAPP: INFO: Installing INF file 'C:\Program Files (x86)\DEMO\My Product Name\dd_demo\dd_demo.inf' (Plug and Play).
DIFXAPP: WARNING:No device Ids found in INF 'C:\Windows\System32\DriverStore\FileRepository\dd_demo.inf_amd64_neutral_c3727dded0bf2410\dd_demo.inf' for current platform.
DIFXAPP: INFO: RETURN: DriverPackageInstallW (0xE0000301)
当我使用 run32dll.exe 安装驱动程序时,驱动程序就会被安装。我通过检查 system32/drivers 文件夹并查看注册表项来验证这一点。
但是使用 installshield 它不会安装它。有人请让我知道可能是什么问题以及如何解决它?如何解决这个问题?