Showing results for 
Search instead for 
Did you mean: 
New Member
New Member

Xerox Print and Scan Experience Keeps Installing

Product Name: VersaLink B605/B615 Multifunction Printer
Operating System: Windows 10 x64


Our organization has a fleet of Xerox printers (B615, C7030, 8045, and v180) all deployed via Group Policy.  We have users who complain that the Xerox Print and Scan Experience app continues to install despite us removing it.  They will hear the windows sound as if a new device has been plugged in and unplugged over and over. 

When we look at their device manager, under hidden Software Components, they will have hundreds (in some cases thousands) of instances of Xerox Desktop Print Experience listed.

We have tried manually removing each device, driver, and the installed application but it continues to reoccur.

We have tried running a suggested script found below on another forum that supposedly resolves this issue but it continues to happen.

Get-Printer | Where {$_.DriverName -like "*xerox*"} | Remove-Printer

Get-service | Where {$_.Name -eq "Spooler"} | Stop-Service

Start-Sleep -Seconds 2

Get-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider" | Remove-Item -Recurse -Confirm:$false
Get-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\V4 Connections\*" | Remove-Item -Recurse -Confirm:$false

get-pnpdevice | Where {$_.FriendlyName -like "*xerox desktop print experience*"} | foreach {pnputil /remove-device $_.DeviceID}

$Indexs = @()
$i = 0
$PNPTxt = pnputil -e
$PNPTxt| Foreach {If ($_ -like "*xerox*"){$Indexs += ($i - 1)};$i++}

$OEMS = Foreach ($index in $indexs){
$PNPTxt[$index].Substring($PNPTxt[$index].IndexOf("o"),$PNPTxt[$index].IndexOf("f") + 1 - $PNPTxt[$index].IndexOf("o"))

Foreach ($OEM in $OEMS){
pnputil -f -d $OEM;

Get-AppxPackage | Where {$_.Name -like "*Xerox*" } | Remove-AppxPackage
(Get-WmiObject -Class Win32_Product | Where {$_.vendor -like "*xerox*"}).uninstall()

Get-service | Where {$_.Name -eq "Spooler"} | Start-Service


Any suggestions are greatly appreciated.