none
Extension DLL PropertyPage Not Shown RRS feed

  • Question

  • Hi,

    I copied Ac97Sampl property page (.cpl and .dll), renamed to HelloProp.DLL (.CPL). The inf is pasted:

    [Version]

    Signature="$WINDOWS NT$"

    Class=Sample ; TODO: edit Class

    ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid

    Provider=%ManufacturerName%

    CatalogFile=KmdfHelloWorld.cat

    DriverVer= ; TODO: set DriverVer in stampinf property pages

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    [SourceDisksNames]

    99=%DiskName%,,,

    [SourceDisksFiles]

    KmdfHelloWorld.sys  = 99

    HelloProp.dll  = 99

    KmdfHelloWorld.inf=99

    [Manufacturer]

    %ManufacturerName%=Standard,NT$ARCH$

    [Standard.NT$ARCH$]

    %KmdfHelloWorld.DeviceDesc%=KmdfHelloWorld_Device, Root\KmdfHelloWorld ; 

    ;[DestinationDirs]

    ;DefaultDestDir = 12

    [DestinationDirs]

    KmdfHelloWorld.CopyList=10,system32\drivers

    HelloProp.CopyList=10,system32

    [KmdfHelloWorld.CopyList]

    KmdfHelloWorld.sys

    [ClassInstall32]

    Addreg=SampleClassReg

    [SampleClassReg]

    HKR,,,0,%ClassName%

    HKR,,Icon,,-5

    [KmdfHelloWorld_Device.NT]

    CopyFiles=KmdfHelloWorld.CopyList,HelloProp.CopyList

    AddReg=KmdfHelloWorld_Device_CoInstaller_AddReg,HelloProp.AddReg

    [HelloProp.CopyList]

    HelloProp.dll

    [KmdfHelloWorld_Device.NT.Services]

    AddService = KmdfHelloWorld,%SPSVCINST_ASSOCSERVICE%, KmdfHelloWorld_Service_Inst

    ; -------------- KmdfHelloWorld driver install sections

    [KmdfHelloWorld_Service_Inst]

    DisplayName    = %KmdfHelloWorld.SVCDESC%

    ServiceType    = 1               ; SERVICE_KERNEL_DRIVER

    StartType      = 3               ; SERVICE_DEMAND_START

    ErrorControl   = 1               ; SERVICE_ERROR_NORMAL

    ServiceBinary  = %12%\KmdfHelloWorld.sys

    LoadOrderGroup = Extended Base

    [DestinationDirs]

    KmdfHelloWorld_Device_CoInstaller_CopyFiles = 11

    HelloProp.CopyList=10,system32

    [KmdfHelloWorld_Device.NT.CoInstallers]

    AddReg=KmdfHelloWorld_Device_CoInstaller_AddReg,HelloProp.AddReg

    CopyFiles=KmdfHelloWorld_Device_CoInstaller_CopyFiles,HelloProp.CopyList

    [KmdfHelloWorld_Device_CoInstaller_AddReg]

    HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller"

    [SourceDisksFiles]

    WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=99

    [KmdfHelloWorld_Device_CoInstaller_CopyFiles]

    WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll

    [HelloProp.AddReg]

    HKR,,EnumPropPages32,,"HelloProp.dll,PageProvider"

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    [KmdfHelloWorld_Device.NT.Wdf]

    KmdfService =  KmdfHelloWorld, KmdfHelloWorld_wdfsect

    [KmdfHelloWorld_wdfsect]

    KmdfLibraryVersion = $KMDFVERSION$

    [Strings]

    SPSVCINST_ASSOCSERVICE= 0x00000002

    ManufacturerName="Kits"

    ClassName="Samples"

    DiskName = "KmdfHelloWorld Installation Disk"

    KmdfHelloWorld.DeviceDesc = "KmdfHelloWorld Device"

    KmdfHelloWorld.SVCDESC = "KmdfHelloWorld Service"

    From setupapi.dev.log file, it seems installed ok. I also checked the registry. HelloProp.dll,PageProvider is registered under entry EnumPropPages32.

    But the KmdfHelloWorld Property Page doesn't include any custom page.

    What else does it missing?

    Thank you,

    Tiger

    Thursday, July 16, 2015 8:59 PM

Answers

  • like I said last time, you are missing a dependency. run link /dump /imports on your DLL and then see if each DLL is present on the machine. agan, I am guessing it is the crt. you can also run depends.exe and runs the same exercise

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    • Marked as answer by Tiger_xyz Monday, July 20, 2015 12:35 PM
    Friday, July 17, 2015 4:21 PM

All replies

  • can you load the DLL in a test app? It could very well be that not all of the load time dependencies are met, this is typically caused by not having the VS CRT on the system.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Friday, July 17, 2015 3:51 AM
  • I switched to ClassInstall32 type of property page, based on toaster example, which shows the custom page.

    But in HelloWorld, I got

    dvi: Loading module 'C:\Windows\system32\hellocls.dll' failed.

    The file is installed in the %system32%.

    What is missing?

    Thanks,

    Tiger

    Friday, July 17, 2015 3:30 PM
  • like I said last time, you are missing a dependency. run link /dump /imports on your DLL and then see if each DLL is present on the machine. agan, I am guessing it is the crt. you can also run depends.exe and runs the same exercise

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    • Marked as answer by Tiger_xyz Monday, July 20, 2015 12:35 PM
    Friday, July 17, 2015 4:21 PM