Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Driver Installation Issue

Driver Installation Issue

Scheduled Pinned Locked Moved C / C++ / MFC
helpc++designwindows-adminsecurity
4 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    rupeshkp728
    wrote on last edited by
    #1

    I am just trying to install using Installshield 2009 a demo driver written by me. I wrote a demo inf file. I also wrote a simple console application in VC++. Then I wanted to install the application along with the drivers and so I created Basic MSI Project and added my application exe to it. After this I added my inf file to it using Device Driver Wizard(located in Set Up Design >>> New Feature) where installshield also added the .sys and .cat files. Now the problem is that when I run the generated msi file it only installs the application and the driver does not installed. During installation it gives me a Windows Security window and when I clink on "Install this driver software anyway" it proceeds ahead for install completion. But the are no drivers in system32/drivers and no entried in registry. The demo driver contain just basic driver functions with printfs in them. The inf contains:

    [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=%LTO_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"
    lto.SVCDESC = "RKP XYZ Device Driver"
    LTO_DISK_NAME ="RKP XYZ Installation Disk"

    The installshield install log gives the following message (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)

    The driver gets installed when I install it using run32dll.exe. I verified this by checking the system32/drivers folder and the se

    L 1 Reply Last reply
    0
    • R rupeshkp728

      I am just trying to install using Installshield 2009 a demo driver written by me. I wrote a demo inf file. I also wrote a simple console application in VC++. Then I wanted to install the application along with the drivers and so I created Basic MSI Project and added my application exe to it. After this I added my inf file to it using Device Driver Wizard(located in Set Up Design >>> New Feature) where installshield also added the .sys and .cat files. Now the problem is that when I run the generated msi file it only installs the application and the driver does not installed. During installation it gives me a Windows Security window and when I clink on "Install this driver software anyway" it proceeds ahead for install completion. But the are no drivers in system32/drivers and no entried in registry. The demo driver contain just basic driver functions with printfs in them. The inf contains:

      [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=%LTO_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"
      lto.SVCDESC = "RKP XYZ Device Driver"
      LTO_DISK_NAME ="RKP XYZ Installation Disk"

      The installshield install log gives the following message (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)

      The driver gets installed when I install it using run32dll.exe. I verified this by checking the system32/drivers folder and the se

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      Run chkinf on your inf file, it is part of the DDK/WDK. It will tell you about missing sections and so on. However, all you need for a simple driver is a services registry entry. Of course if it interact with the network stack you need a lot more, but for a basic driver a simle reg script might suffice. --edit-- Oh yes, and here is another example of why Maunder should create a specific Kernel forum on CP. This sort of question, as well as the recent windbg ones, are NOT C/C++ and are NOT Hardware and Devices relevant.

      ============================== Nothing to say.

      R 1 Reply Last reply
      0
      • L Lost User

        Run chkinf on your inf file, it is part of the DDK/WDK. It will tell you about missing sections and so on. However, all you need for a simple driver is a services registry entry. Of course if it interact with the network stack you need a lot more, but for a basic driver a simle reg script might suffice. --edit-- Oh yes, and here is another example of why Maunder should create a specific Kernel forum on CP. This sort of question, as well as the recent windbg ones, are NOT C/C++ and are NOT Hardware and Devices relevant.

        ============================== Nothing to say.

        R Offline
        R Offline
        rupeshkp728
        wrote on last edited by
        #3

        Thanks Eric for the reply. There is no installation/driver forum on CP and since I had a C++ application along with a driver I put query in C++ forum. Apologize me for that. I had used chkinf and it gave me no error: NTLOG REPORT-------------- Total Lines: 36 | Total Errors: 0 | Total Warnings: 3 | -------------------------- Line 0: WARNING: (W22.1.2212) No Copyright information found. Line 3: WARNING: (W22.1.2215) Class RKP_LTO_DEMO_DD (ClassGUID {03E9C4D5-178E-4684-B407-A3E103D71CE9}) is unrecognized. Line 3: WARNING: (W22.1.2203) Custom defined Classes should have a [ClassInstall32] section. But since this is a simple inf file to just copy files and create registry entry I doubt we need more sections. Any idea where exactly I am missing?

        L 1 Reply Last reply
        0
        • R rupeshkp728

          Thanks Eric for the reply. There is no installation/driver forum on CP and since I had a C++ application along with a driver I put query in C++ forum. Apologize me for that. I had used chkinf and it gave me no error: NTLOG REPORT-------------- Total Lines: 36 | Total Errors: 0 | Total Warnings: 3 | -------------------------- Line 0: WARNING: (W22.1.2212) No Copyright information found. Line 3: WARNING: (W22.1.2215) Class RKP_LTO_DEMO_DD (ClassGUID {03E9C4D5-178E-4684-B407-A3E103D71CE9}) is unrecognized. Line 3: WARNING: (W22.1.2203) Custom defined Classes should have a [ClassInstall32] section. But since this is a simple inf file to just copy files and create registry entry I doubt we need more sections. Any idea where exactly I am missing?

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          Dont apologise. I have been on to Maunder for a while to create a kernel forum. :) First, eliminate the warnings. Tfhis is the kernel here, we accept nothing but 100% perfection. :) (And seriously, I mean that. It is either 100% or it is crap. Nothing in betweem.) So, ewhen the inf checks out OK and rins you need to check the services key to make sure the driver is there. If not, the inf failed in some way. Look at setupapi.log file, it will tell you about inf based installs. If the services entry is there, we need to look at signing, turn off driver signing checking, else the system wont load it. Slight aside here, drivier signing checking on 64 Vista+. Originally you couldnt load unsigned drivers, then the driver dev world got pissed of with MS, and they changed it, but you have to be booted in debug mode (last I heard, but it is possible they changed it on later OSs. Check on google). It coule be your driver is loading, but failing driver entry. So, after it loads (supposedly), do a sc query and see if it says running. If not, it is time to hook up windbg and set a breakpiont on your driver driverentry. bp !driverentry Load it, and it should break. (set the symbols up.) Then you can see if it is failing in driverentry. If it suceeds driverentry, your driver IS running. If your service entry is there, but driverentry isnt getting hit, then you need to make sure it is compiled properly, it needs a check sum, so make sure you use the ddk build utility. Yep, its PITA, but thats why I get paid so damn much! :)

          ============================== Nothing to say.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups