Attestation signing failure with Found legacy AddReg operation defining co-installers (CoInstallers32). Failed INF validation. INF did not pass Desktop validation (InfVerif /k).

S, Kavya 0 Reputation points
2024-04-08T15:06:41.3466667+00:00

The attestation signing of the windows driver packages in Partner Center fails with the following error message:
Error 1303 in honeywell_cdc.inf,: Found legacy AddReg operation defining co-installers (CoInstallers32).

Failed INF validation. INF did not pass Desktop validation (InfVerif /k).
Below is the content where we are getting issue

[Dev_w_CTS.NT.CoInstallers] 
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles 

[CoInstaller_AddReg] 
HKR,,CoInstallers32,0x00010000, \ "wdfcoinstaller01009.dll,WdfCoInstaller", \ "acmfccoi.dll,acm_force_com_co_installer"

[CoInstaller_CopyFiles]
wdfcoinstaller01009.dll
acmfccoi.dll

NOTE: (Using Add Service, Addreg as posted in similar post didnt fix the issue.)

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
10,629 questions
Windows
Windows
A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.
4,756 questions
Microsoft Partner Center
Microsoft Partner Center
A Microsoft website for partners that provides access to product support, a partner community, and other partner services.
878 questions
Windows Hardware Performance
Windows Hardware Performance
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Hardware Performance: Delivering / providing hardware or hardware systems or adjusting / adapting hardware or hardware systems.
1,544 questions
Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
8,182 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Apps Front 0 Reputation points
    2024-04-16T06:31:55.1766667+00:00

    I think AddReg is best solution. But if it is not working you can try the alternate methods mentioned below.

    To resolve the attestation signing failure due to the legacy AddReg operation for co-installers in your honeywell_cdc.inf file, follow these steps. The error is occurring because your INF file uses the outdated CoInstallers32 entry which is no longer supported for attestation signing in the Windows Partner Center.

    Solution Steps

    1. Update the INF File to Use Latest WDF CoInstaller: Ensure that you're using the latest version of the WDF (Windows Driver Foundation) coinstaller. You've referenced wdfcoinstaller01009.dll, which may be outdated. Verify and use the latest version from the Windows Hardware Dev Center. Download the most recent version and update the INF file references accordingly.
    2. Remove Legacy CoInstallers32 Entry: Replace the CoInstallers32 entry with a modern method of specifying co-installers. In most cases, you would utilize the ServiceBinary method under the service install section. Modify the [Dev_w_CTS.NT.CoInstallers] section to remove or comment out the AddReg=CoInstaller_AddReg entry.
    3. Modify Service Section: Instead of using the CoInstallers32 in the AddReg, define the co-installers in the service installation section of your INF file. For instance:
    [YourServiceInstallSection]
    ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
    StartType      = 3                  ; SERVICE_DEMAND_START
    ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
    ServiceBinary  = %12%\YourDriver.sys
    CoInstallers32 = "wdfcoinstallerXXXX.dll,WdfCoInstaller","acmfccoi.dll,acm_force_com_co_installer"
    

    4. Ensure Proper File Sections:

    • Make sure that the CopyFiles sections are correctly specified for all necessary binaries.
    • Your CoInstaller_CopyFiles section appears correct, but ensure that the file paths and names are updated if you change the DLL versions or paths.

    5. Validate the INF File Locally:

    • Before submitting to the Windows Partner Center, validate your INF locally using InfVerif. Run:
        bashCopy code
        InfVerif /k your_updated_inf_file.inf
        
      
    • Address any warnings or errors reported by the tool.

    6. Submit the Updated INF for Attestation Signing:

    • After making these modifications and ensuring local validation passes, re-submit the INF file for attestation signing through the Windows Partner Center.

    You may also note:

    • Make sure that all file paths are correct, and all files referenced in the INF (like DLLs and SYS files) are included in your driver package.
    • Review the most current Windows driver documentation to ensure compliance with the latest standards and practices.
    • If errors persist, consider consulting with a specialist or seeking assistance directly from Microsoft through their support channels.

    By making these updates, you should be able to address the attestation signing failure due to the legacy AddReg operation for co-installers and successfully sign your driver package.

    Other methods:

    If you are encountering issues with attestation signing due to the use of the AddReg operation for defining co-installers and are looking for an alternative method to configure your driver installation without AddReg, here are some alternative approaches to handle co-installer setup in your INF file:

    1. Direct Invocation in Custom Actions

    Instead of using the AddReg directive to specify co-installers, consider using a custom installation application or script that runs during or after the driver installation process. This application can programmatically handle the tasks usually performed by co-installers, such as modifying registry settings or performing complex installation logic.

    2. Using DIFxApp

    You can use the Driver Install Frameworks (DIFx) tools, such as DIFxApp, to handle driver package installation. DIFxApp can manage the installation of driver files and execution of additional installation procedures without directly modifying the registry via INF files. Here’s how you can incorporate it:

    • Include the DIFxApp merge module in your installer project.
    • Use the DIFxApp APIs to install and uninstall driver packages programmatically, which can also manage the installation of any required co-installers without explicit registry entries.

    To read more you may check appsfront.co