How to Install Canon LBP2900B on Windows 11 25H2 – Fix Legacy CAPT Driver, Group Policy Error 0x000004EC, USB001 and Manual Printer Installation
The Canon Laser Shot LBP2900/LBP2900B remains widely used because it is a simple, reliable monochrome laser printer. However, installing this older printer o...
The Canon Laser Shot LBP2900/LBP2900B remains widely used because it is a simple, reliable monochrome laser printer. However, installing this older printer on modern versions of Windows 11, particularly Windows 11 25H2 64-bit, can be considerably more difficult than installing it on Windows 7 or Windows 10.
A typical installation may fail even though:
- Windows detects the printer through USB.
- Print Spooler is running.
- The Canon CAPT driver package installs into the Windows Driver Store.
- A USB printer port such as
USB001exists. - The driver is digitally signed.
One particularly confusing error is:
Operation could not be completed (error 0x000004ec).
This program is blocked by group policy. For more information, contact your system administrator.
Another symptom is that "Add a local printer or network printer with manual settings" is unavailable or greyed out.
This article explains how to diagnose and manually install the Canon LBP2900B on Windows 11 25H2, including the exact PowerShell, PnPUtil and PrintUI commands that successfully registered the legacy Canon CAPT driver.
Important: The procedure below is based on a Windows 11 25H2 system using the Canon LBP2900/2900B CAPT R1.50 V3.30 x64 package. Canon's package is old, so compatibility with future Windows releases cannot be guaranteed.
Understanding the Problem
The Canon LBP2900B uses Canon's older CAPT — Canon Advanced Printing Technology architecture.
The driver involved in this case was:
Canon LBP2900
CAPT Driver R1.50 V3.30
64-bit
Driver Version: 3.30.0.0
Driver Date: 21-Oct-2012
Windows identified the package as:
Provider Name: Canon
Class Name: Printer
Class GUID: {4d36e979-e325-11ce-bfc1-08002be10318}
Driver Version: 10/21/2012 3.30.0.0
Signer Name: Microsoft Windows Hardware Compatibility Publisher
Attributes: Legacy
The critical item is:
Attributes: Legacy
Modern Windows 11 versions have significantly stronger printing security than the Windows versions for which this driver was originally designed.
Therefore, a successful:
pnputil /add-driver ...
does not necessarily mean the printer driver has been registered with the Windows Print Spooler.
This distinction is central to troubleshooting the LBP2900.
Symptoms You May Encounter
During installation, you may encounter one or more of these conditions.
Canon installer firewall warning
The Canon installer may display:
To display the status of the shared printers, you must remove the Windows Firewall block set against "Canon LBP2900 RPC Server Process".
It may subsequently report:
Could not remove the Windows Firewall block against "Canon LBP2900 RPC Server Process".
Do not disable Windows Firewall entirely to solve this problem.
Printer registration failure
The Canon installer may report:
An error occurred during the processing of printer "Canon LBP2900".
The registration of the printers can continue.
Windows policy error
When manually registering the driver:
rundll32 printui.dll,PrintUIEntry ...
Windows may report:
Operation could not be completed (error 0x000004ec).
followed by:
This program is blocked by group policy.
Manual installation option unavailable
Under:
Settings → Bluetooth & devices → Printers & scanners → Add device → Add manually
you may find:
Add a local printer or network printer with manual settings
greyed out.
Step 1: Confirm Your Windows Version
Press:
Win + R
and run:
winver
For example, the affected machine in this troubleshooting case was:
Windows 11
Version 25H2
OS Build 26200.8894
Windows 11 Home Single Language
This is important because instructions written years ago for Windows 7/8/10 may no longer behave identically on current Windows 11 builds.
Step 2: Download and Extract the Canon x64 CAPT Driver
Use the Canon LBP2900/2900B 64-bit CAPT driver package appropriate for your printer.
The package used in this installation was:
LBP2900_R150_V330_W64_uk_EN_2
After extraction, locate:
x64\Driver\CNAB4STD.INF
For example:
C:\Users\jittu\Downloads\LBP2900_R150_V330_W64_uk_EN_2 (2)\x64\Driver\CNAB4STD.INF
Your path will naturally be different.
Do not copy the example username/path blindly.
Step 3: Verify Print Spooler
Open Command Prompt as Administrator and run:
sc query spooler
A healthy service should report:
STATE : 4 RUNNING
You can also check from Administrator PowerShell:
Get-Service Spooler | Format-List Status,StartType
Expected:
Status : Running
StartType : Automatic
For additional verification:
sc.exe qc spooler
You should normally see:
START_TYPE : 2 AUTO_START
SERVICE_START_NAME : LocalSystem
If the Spooler is stopped:
Set-Service Spooler -StartupType Automatic
Start-Service Spooler
Step 4: Confirm Windows Detects the LBP2900B Through USB
Connect the printer directly to the PC and turn it ON.
Open Command Prompt as Administrator:
pnputil /enum-devices /connected | findstr /i "Canon LBP USB"
In our case Windows reported:
Instance ID: USB\VID_04A9&PID_2676\...
Device Description: USB Printing Support
Class Name: USB
Driver Name: usbprint.inf
The important identifiers were:
VID_04A9
PID_2676
and:
USB Printing Support
This established that Windows was communicating with the printer.
If you reach this stage, repeatedly changing USB cables and ports is unlikely to solve a driver-registration problem.
Step 5: Stage the Canon Driver with PnPUtil
Open Command Prompt as Administrator.
Run:
pnputil /add-driver "C:\Path\To\x64\Driver\CNAB4STD.INF" /install
For example:
pnputil /add-driver "C:\Users\jittu\Downloads\LBP2900_R150_V330_W64_uk_EN_2 (2)\x64\Driver\CNAB4STD.INF" /install
The successful result in our case was:
Microsoft PnP Utility
Adding driver package: CNAB4STD.INF
Driver package added successfully. (Already exists in the system)
Published Name: oem4.inf
This proves that the package has been accepted into the Windows Driver Store.
However, it does not prove that the Canon printer driver is registered with the Print Spooler.
Step 6: Check the Driver Store
If Windows reports a published name such as:
oem4.inf
inspect it:
pnputil /enum-drivers | Select-String -Pattern "oem4.inf" -Context 0,12
The actual machine returned:
Published Name: oem4.inf
Original Name: cnab4std.inf
Provider Name: Canon
Class Name: Printer
Class GUID: {4d36e979-e325-11ce-bfc1-08002be10318}
Driver Version: 10/21/2012 3.30.0.0
Signer Name: Microsoft Windows Hardware Compatibility Publisher
Attributes: Legacy
This is an important diagnostic result.
The package is:
- Present
- Canon supplied
- Printer class
- Signed
- Recognized as legacy
Step 7: Check Whether the Printer Driver Is Registered
Use PowerShell as Administrator, not Command Prompt.
Run:
Get-PrinterDriver | Format-Table Name,Manufacturer -AutoSize
Initially, the affected machine displayed only Microsoft drivers such as:
Universal Print Class Driver
Send to Microsoft OneNote 16 Driver
Microsoft Virtual Print Class Driver
Microsoft Print To PDF
Microsoft IPP Class Driver
There was no:
Canon LBP2900
This revealed the real problem.
The Canon INF was in the Driver Store, but the Canon LBP2900 print driver had not been registered.
Step 8: Check the Printer Port
Run:
Get-PrinterPort | Format-Table Name,Description -AutoSize
In our case:
Name Description
---- -----------
USB001 CanonLBP2900
USB002 Virtual printer port for USB
USB003 Virtual printer port for USB
This was another strong indication that USB detection was working.
The correct port was:
USB001
Do not assume yours is always USB001. It could be USB002, USB003 or another port.
Step 9: Understand Error 0x000004EC
When attempting to register the driver with:
rundll32 printui.dll,PrintUIEntry /ia ...
Windows may report:
Operation could not be completed (error 0x000004ec).
and:
This program is blocked by group policy.
Do not immediately assume the PC belongs to an Active Directory domain.
The error indicates that the operation is being blocked by a Windows policy/security restriction. On current Windows 11 installations, one relevant feature to check is Windows Protected Print Mode.
Step 10: Check Windows Protected Print Mode
Go to:
Settings → Bluetooth & devices → Printers & scanners
Scroll to printer-related preferences and locate:
Windows protected print mode
Windows Protected Print Mode is designed around Microsoft's modern printing architecture and does not support arbitrary third-party legacy print drivers in the same way as the traditional Windows print stack.
If WPP is enabled and you need this old Canon CAPT driver, turn Windows Protected Print Mode OFF.
Restart Windows afterward.
Disabling WPP reduces the protection provided by that feature. Do it only when you specifically need a printer that depends on a legacy third-party driver.
Step 11: Register the Canon LBP2900 Driver
After resolving the policy/WPP restriction, open PowerShell as Administrator.
Run:
rundll32 printui.dll,PrintUIEntry /ia /m "Canon LBP2900" /h "x64" /v "Type 3 - User Mode" /f "C:\Path\To\x64\Driver\CNAB4STD.INF"
For example:
rundll32 printui.dll,PrintUIEntry /ia /m "Canon LBP2900" /h "x64" /v "Type 3 - User Mode" /f "C:\Users\jittu\Downloads\LBP2900_R150_V330_W64_uk_EN_2 (2)\x64\Driver\CNAB4STD.INF"
Now verify:
Get-PrinterDriver | Where-Object {$_.Name -like "*Canon*" -or $_.Name -like "*LBP*"} | Format-Table Name,Manufacturer -AutoSize
Successful output:
Name Manufacturer
---- ------------
Canon LBP2900 Canon
At this point, the most difficult part of the installation is complete.
Step 12: Create the Printer Queue
Having the driver registered still doesn't necessarily mean a printer queue exists.
We already determined that the physical printer was associated with:
USB001
Therefore:
Add-Printer -Name "Canon LBP2900" -DriverName "Canon LBP2900" -PortName "USB001"
If your system reports USB002, substitute that port instead.
Verify:
Get-Printer | Format-Table Name,DriverName,PortName -AutoSize
Successful output:
Name DriverName PortName
---- ---------- --------
Canon LBP2900 Canon LBP2900 USB001
The Canon LBP2900B is now registered as a Windows printer.
Step 13: Print a Test Page
Press:
Win + R
Run:
control printers
Locate:
Canon LBP2900
Then:
Right-click → Printer properties → Print Test Page
If the page prints successfully, installation is complete.
The Complete Diagnostic Logic
This case is useful because several different layers of the Windows printing system were involved.
Layer 1 — Physical USB device
Verified with:
pnputil /enum-devices /connected
Result:
USB Printing Support
VID_04A9
PID_2676
Status: Working
Layer 2 — Print Spooler
Verified with:
Get-Service Spooler
Status: Running
Layer 3 — Canon driver package
Verified with:
pnputil /enum-drivers
Status: Installed in Driver Store
Layer 4 — USB printer port
Verified with:
Get-PrinterPort
Result:
USB001 CanonLBP2900
Status: Working
Layer 5 — Printer driver registration
Verified with:
Get-PrinterDriver
Initially:
Canon LBP2900 missing
After manual registration:
Canon LBP2900 Canon
Status: Fixed
Layer 6 — Printer queue
Created with:
Add-Printer
Final result:
Canon LBP2900
Canon LBP2900
USB001
Status: Installed
Useful PowerShell Diagnostic Script
For future troubleshooting, Administrator PowerShell can run:
Write-Host "=== PRINT SPOOLER ==="
Get-Service Spooler | Format-Table Status,StartType,Name
Write-Host "`n=== INSTALLED PRINTERS ==="
Get-Printer | Format-Table Name,DriverName,PortName -AutoSize
Write-Host "`n=== CANON DRIVERS ==="
Get-PrinterDriver |
Where-Object {$_.Name -like "*Canon*" -or $_.Name -like "*LBP*"} |
Format-Table Name,Manufacturer -AutoSize
Write-Host "`n=== PRINTER PORTS ==="
Get-PrinterPort |
Format-Table Name,Description -AutoSize
Write-Host "`n=== CANON USB DEVICE ==="
Get-PnpDevice -PresentOnly |
Where-Object {$_.InstanceId -like "USB\VID_04A9*"} |
Format-Table Status,Class,FriendlyName,InstanceId -AutoSize
This quickly shows whether the problem is at the:
USB → Port → Driver → Queue → Spooler
level.
What Not to Do
When dealing with the Canon LBP2900B on Windows 11, avoid randomly making major Windows security changes.
Do not:
- Disable Windows Firewall completely.
- Disable Windows Update.
- Disable driver-signature enforcement permanently.
- Delete random
oem*.infpackages. - Modify unrelated Group Policies.
- Repeatedly reinstall the Canon package without diagnosing the failure.
- Assume that
pnputil /add-drivermeans the printer is fully installed. - Assume that USB001 always belongs to the Canon printer.
- Download modified drivers from unknown websites.
The diagnostic commands above make it possible to identify the failing layer first.
Why PnPUtil Said Installed but Get-PrinterDriver Did Not
This is one of the most important lessons from this issue.
These two operations are not identical:
pnputil /add-driver CNAB4STD.INF /install
and:
Get-PrinterDriver
PnPUtil can successfully stage a driver package in the Driver Store.
That doesn't necessarily create/register the corresponding print driver with the Windows printing subsystem.
Therefore:
PnPUtil → Canon INF present
while:
Get-PrinterDriver → Canon missing
is entirely possible.
In this case, manual PrintUI registration solved that stage.
Why Get-Printer Did Not Work in Command Prompt
A command such as:
Get-Printer
is a PowerShell cmdlet.
It will not work when entered directly into traditional Command Prompt:
C:\Windows\System32>
Run it from:
PS C:\Windows\System32>
The same applies to:
Get-PrinterDriver
Get-PrinterPort
Add-Printer
Get-PnpDevice
Get-Service
Canon Firewall Warning: Should You Disable Firewall?
No.
The old Canon installer may attempt to modify Windows Firewall for:
Canon LBP2900 RPC Server Process
Failure to perform that old installer action is not a good reason to turn off the entire Windows Firewall.
For a directly connected USB LBP2900B, first determine whether normal printing works after the driver and queue are correctly configured.
Treat printer-status/RPC communication problems separately if they actually occur.
Windows 11 25H2 and Legacy Printer Drivers
The LBP2900B illustrates the broader transition taking place in Windows printing.
Modern Windows increasingly emphasizes:
- Modern print architecture
- IPP
- Inbox class drivers
- Reduced dependency on third-party kernel/legacy components
- Stronger print security
- Windows Protected Print Mode
Older printers that rely on vendor-specific legacy drivers may therefore require manual installation or may eventually become incompatible with future Windows releases.
For business environments that depend on old LBP2900/2900B printers, maintaining tested driver packages and documented installation procedures is advisable.
Final Working Configuration
The successful Windows 11 25H2 configuration in this case was:
Operating System:
Windows 11 Home Single Language 25H2
Printer:
Canon LBP2900B
Driver:
Canon LBP2900
CAPT Version:
3.30
Architecture:
x64
Driver INF:
CNAB4STD.INF
USB:
VID_04A9
PID_2676
Windows USB Driver:
usbprint.inf
Printer Port:
USB001
Queue:
Canon LBP2900
Final verification:
Get-Printer | Format-Table Name,DriverName,PortName -AutoSize
returned:
Name DriverName PortName
---- ---------- --------
Canon LBP2900 Canon LBP2900 USB001
This confirms that the printer queue, Canon driver and USB port were successfully linked.
FAQ
1. Does Canon LBP2900B work with Windows 11 25H2?
It can work on Windows 11 25H2 using the legacy Canon CAPT x64 driver, as demonstrated in this installation. However, because this is an old legacy driver, compatibility with every Windows 11 build and future releases should not be assumed.
2. Why does Windows detect LBP2900B but not install it?
USB detection and printer-driver registration are separate stages. Windows can recognize the physical USB printing device while the Canon CAPT print driver remains unregistered.
3. What does error 0x000004EC mean?
In this context, Windows is blocking the requested printer-driver operation because of a policy/security restriction.
4. Why was "Add a local printer" greyed out?
Printer security configuration, including Windows Protected Print Mode or other restrictions, can prevent legacy manual printer-driver installation.
5. What is Windows Protected Print Mode?
It is a newer Windows printing security architecture intended to reduce reliance on third-party printer drivers. Legacy printers requiring vendor-specific drivers may require WPP to be disabled before their drivers can be installed.
6. Is turning off Windows Protected Print Mode safe?
It removes protections provided by WPP, so it should be a deliberate compatibility decision rather than a general troubleshooting step.
7. Why did PnPUtil say the Canon driver was installed?
PnPUtil successfully staged the INF package in the Windows Driver Store. The Canon printer driver still needed to be registered with the Windows print subsystem.
8. What does Attributes: Legacy mean?
Windows considers the package part of the legacy printer-driver architecture rather than the modern driverless printing model.
9. Is CNAB4STD.INF the correct INF?
For the CAPT R1.50 V3.30 x64 package discussed here, yes. The INF itself contained:
"Canon LBP2900" = LBP2900...
10. Why is the printer called Canon LBP2900 when mine is LBP2900B?
The driver package uses Canon LBP2900 as the model/driver name for this LBP2900/2900B family.
11. How do I know which USB port to use?
Run:
Get-PrinterPort | Format-Table Name,Description -AutoSize
Do not assume USB001 without checking.
12. Can I use USB002 instead?
Only if Windows has associated your printer with that port. Use the port actually created/detected for the printer.
13. Should I disable Windows Firewall?
No. Do not disable the entire firewall merely because Canon's old setup reports an RPC firewall warning.
14. Do I need to disable driver signature enforcement?
It was not necessary in this case. The driver was reported as signed by Microsoft Windows Hardware Compatibility Publisher.
15. How can I check whether the Canon driver is registered?
Run:
Get-PrinterDriver | Where-Object {$_.Name -like "*Canon*"}
16. How can I check whether Windows detects the USB printer?
Run:
pnputil /enum-devices /connected | findstr /i "Canon LBP USB"
17. How do I create the printer manually after installing the driver?
Example:
Add-Printer -Name "Canon LBP2900" -DriverName "Canon LBP2900" -PortName "USB001"
Use the actual port reported by your system.
18. What if the printer appears but doesn't print?
Check the queue, Print Spooler, port assignment and CAPT components before reinstalling the driver.
19. Can this method be used on Windows 11 Pro?
The underlying diagnostic method applies to Windows 11 generally, although policies and security configuration may differ, especially on domain-managed or organization-managed computers.
20. Should businesses continue using the LBP2900B?
If it remains reliable and the environment supports it, it can continue to be useful. However, organizations should recognize that its dependency on a legacy CAPT driver creates increasing compatibility risk as Windows printing architecture evolves.
#CanonLBP2900B #CanonLBP2900 #Canon2900B #CanonPrinter #CanonLaserPrinter #CanonCAPT #CAPTDriver #Windows11 #Windows1125H2 #Windows11Printer #PrinterInstallation #PrinterDriver #CanonDriver #LegacyPrinter #LegacyDriver #PrinterTroubleshooting #CanonTroubleshooting #WindowsTroubleshooting #ITSupport #TechnicalSupport #PrinterSupport #WindowsSupport #PowerShell #PowerShellTips #PnPUtil #PrintUI #PrintSpooler #USBPrinter #USB001 #PrinterPort #DriverInstallation #DriverStore #WindowsDriver #GroupPolicy #Error0x000004EC #WindowsProtectedPrintMode #WPP #PrinterSecurity #WindowsSecurity #Type3Driver #INFDriver #CNAB4STD #LaserPrinter #PrinterFix #Windows11Fix #ComputerRepair #ITEngineer #TechGuide #TechTutorial #BisonInfosolutions
Was this guide useful?
Your answer helps us keep BISONKB accurate and practical.