none
WDK 10 driver signability failure RRS feed

  • Question

  • I am trying to find the cause of the error listed below. The omspci1_inst_coinstaller_copyfiles section of the INF file cannot locate the "omspcicoinstaller.dll" file. This is the output of the Coinstaller VS2015 project (which is included with the Win10 sample drivers with slight modifications) which is packaged with the main driver source code. The output file of each project should be local to the project and then combined in the Package directory. The INF file is at the root of the driver projects. Is there something architecturally I am missing with this problem?

    Root Directory:

    OmsPci1

    coinstaller

    Package

    INF file

    Solution file

    Inf2Cat Tool Output:

    .........................

    Signability test failed.

    Errors:

    22.9.1: omspcicoinstaller.dll in [omspci1_inst_coinstaller_copyfiles] of \omspci.inf is missing or cannot be decompressed from source media.  Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.

    Warnings:

    None

    Thanks
    Thursday, July 7, 2016 9:55 PM

Answers

  • Hi Jesse,

    I was able to build the driver, but my solution was to include the INF file in the package project. I think the previous error was caused from the INF file being included in the OmsPci1 project and OmsPciCoInstaller project building the dll in the OmsPciCoInstaller directory. The OmsPciCoInstaller.dll is indeed built by an external project. Below, I list the project/solution structure for more detailed information:

    (Solution):
    OmsPciCoInstaller(Project) - Builds OmsPciCoInstaller.dll

    OmsPci1 (Project) - Builds OmsPci1.sys, includes INF driver file

                                 INF file includes copy file sections for OmsPci1.sys and OmsPciCoInstaller.dll

                                 Of course compiler has no error locating OmsPci1.sys but there is an error locating OmsPciCoInstaller.dll
    Package (Project) - References OmsPci1.sys and OmsPciCoInstaller.dll


    Like I said, when including the OMSPCI.INF file in the Package project driver files folder allows a full build, however I think a better solution is to include a build event withOMSPCI.INF file included in the OmsPci1 main driver project.

    I hope the explained architecture above helps for clarification. e.g. the omspcicoinstaller.dll is not built in the directory $(SolutionDir)\OmsPci1\, it is built in the directory $(SolutionDir)\OmsPciCoInstaller\. And solution contains $(SolutionDir)\OmsPci1\, $(SolutionDir)\OmsPciCoInstaller\, and $(SolutionDir)\Package\.

    Would it be better to add a pre-build event to OmsPci1 project like below:

    copy /Y "$(SolutionDir)\OmsPciCoInstaller\OmsPciCoInstaller.dll" "$(SolutionDir)\x64\Debug\Package\OmsPciCoInstaller.dll"


    Or to add a post-build event to OmsPciCoInstaller project like below;

    copy /Y "$(SolutionDir)\OmsPciCoInstaller\OmsPciCoInstaller.dll" "$(SolutionDir)\x64\Debug\Package\OmsPciCoInstaller.dll"


    Thank you for all your assistance.

    Friday, July 8, 2016 8:21 PM

All replies

  • Does the omspcicoinstaller.dll actually exists in the directory x64\Win8.1Debug\OmsPci1 Package?

    Since the dll seems to be built by external project, why don't you add the dll in the project root and add the "Build Events > Pre-Build Event" like below?

    copy /Y "$(SolutionDir)\OmsPci1\omspcicoinstaller.dll" "$(SolutionDir)\x64\Win8.1Debug\OmsPci1 Package\omspcicoinstaller.dll"


    moolwalk

    • Proposed as answer by Jesse Ahn Friday, July 8, 2016 3:38 AM
    Friday, July 8, 2016 3:37 AM
  • Hi Jesse,

    I was able to build the driver, but my solution was to include the INF file in the package project. I think the previous error was caused from the INF file being included in the OmsPci1 project and OmsPciCoInstaller project building the dll in the OmsPciCoInstaller directory. The OmsPciCoInstaller.dll is indeed built by an external project. Below, I list the project/solution structure for more detailed information:

    (Solution):
    OmsPciCoInstaller(Project) - Builds OmsPciCoInstaller.dll

    OmsPci1 (Project) - Builds OmsPci1.sys, includes INF driver file

                                 INF file includes copy file sections for OmsPci1.sys and OmsPciCoInstaller.dll

                                 Of course compiler has no error locating OmsPci1.sys but there is an error locating OmsPciCoInstaller.dll
    Package (Project) - References OmsPci1.sys and OmsPciCoInstaller.dll


    Like I said, when including the OMSPCI.INF file in the Package project driver files folder allows a full build, however I think a better solution is to include a build event withOMSPCI.INF file included in the OmsPci1 main driver project.

    I hope the explained architecture above helps for clarification. e.g. the omspcicoinstaller.dll is not built in the directory $(SolutionDir)\OmsPci1\, it is built in the directory $(SolutionDir)\OmsPciCoInstaller\. And solution contains $(SolutionDir)\OmsPci1\, $(SolutionDir)\OmsPciCoInstaller\, and $(SolutionDir)\Package\.

    Would it be better to add a pre-build event to OmsPci1 project like below:

    copy /Y "$(SolutionDir)\OmsPciCoInstaller\OmsPciCoInstaller.dll" "$(SolutionDir)\x64\Debug\Package\OmsPciCoInstaller.dll"


    Or to add a post-build event to OmsPciCoInstaller project like below;

    copy /Y "$(SolutionDir)\OmsPciCoInstaller\OmsPciCoInstaller.dll" "$(SolutionDir)\x64\Debug\Package\OmsPciCoInstaller.dll"


    Thank you for all your assistance.

    Friday, July 8, 2016 8:21 PM