我只是尝试使用Installshield 2009安装一个由我编写的演示驱动程序。 我写了一个demo inf文件。 我还在VC ++中编写了一个简单的控制台应用程序。
然后我想安装应用程序和驱动程序,因此我创建了基本的MSI项目并添加了我的应用程序exe。 在此之后,我使用设备驱动程序向导(位于设置设计>>>新功能)将我的inf文件添加到其中,其中installshield还添加了.sys和.cat文件。
现在的问题是,当我运行生成的msi文件时,它只安装应用程序并且未安装驱动程序。 在安装过程中,它为我提供了一个Windows安全窗口,当我发现“无论如何安装此驱动程序软件”时,它会提前完成安装。 但是系统32 /驱动程序中没有驱动程序,也没有在注册表中委托。
演示驱动程序包含其中包含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,它不会安装它。 是否有人请告诉我可能存在的问题以及解决方法? 如何解决这个问题?