How to Change UserChoice Protection Driver in Windows 11
The UserChoice Protection Driver (UCPD) gives you tighter control over how Windows 11 handles your default apps. This guide shows how to check whether it is running, turn it on, and turn it off when you need to.
Open Terminal as Administrator and use PowerShell or Command Prompt commands to manage the UserChoice Protection Driver. Use `Set-Service -Name UCPD -StartupType Automatic` to enable and `Set-Service -Name UCPD -StartupType Disabled` to disable. Restart your computer after making changes.
What is the UserChoice Protection Driver (UCPD)?
Think of this driver as a security guard for your files. It makes sure only the correct applications open specific file types.
Windows stores your preferred app choices in a specific system registry location. UCPD guards that location and blocks unauthorized programs from altering those choices. Some browsers and utilities used to rewrite these values quietly to make themselves the default. UCPD stops that.
Why is this important?
Keep the UserChoice Protection Driver active in Windows 11 if you can. It stops other programs from changing default apps without your explicit permission, so your file choices stay secure.
UCPD only blocks outside programs from making the change for you.
Turning off UCPD lowers system security, so treat it as a temporary step. You only need to do it when you want a program to alter file associations itself. Turn the protection back on once the program has done its job.
All of the changes below need an elevated (administrator) window, so use an administrator account. They work the same on Windows 11 Home and Pro.
How to Check if UCPD is Running
To check whether UCPD is running, use PowerShell or Command Prompt inside the Terminal app. You don't need administrator rights just to look.
- Press Windows key + X and select Terminal. A Terminal window opens.
- Click the dropdown arrow at the top of the window and choose PowerShell or Command Prompt. A new tab opens with the shell you picked.
- Run the check shown in the code blocks below.
Check with PowerShell
Get-Service ucpdCheck with Command Prompt
sc query ucpdLook at the status in the output. A Running status confirms that UCPD is active. If it shows as stopped, the protection is currently off.
How to Enable UCPD
To turn UCPD on, follow the procedure below. You can use PowerShell or Command Prompt, whichever you prefer. You only need one of the two methods.
Using PowerShell
- Open Terminal as Administrator. Make sure the window has administrator rights. The title bar usually says Administrator if it does.
- Type the commands shown below one by one, and press Enter after each. Wait for one command to finish before you type the next.
- If a command returns an access denied error, the window is not elevated. Close it and reopen it as administrator.
Set-Service -Name UCPD -StartupType Automatic
Enable-ScheduledTask -TaskName "\Microsoft\Windows\AppxDeploymentClient\UCPD velocity"Using Command Prompt
- Open Terminal as Administrator: press Windows key + X and choose the Terminal (Admin) entry, then approve the User Account Control prompt.
- Open the dropdown arrow at the top and select Command Prompt. A Command Prompt tab opens.
- Type the commands shown below one by one, and press Enter after each.
sc config UCPD start= auto
schtasks /change /Enable /TN "\Microsoft\Windows\AppxDeploymentClient\UCPD velocity"Restart the computer to apply these configuration changes. The driver loads at startup, so the change won't take effect until you reboot. After the restart, run the check from the earlier section to confirm the status reads Running.
How to Disable UCPD (Temporarily)
Some programs can only change file associations when UCPD is off. Turn it off temporarily for that, and turn it back on later to keep the system secure. Turning it back on is the same procedure as the enable steps above.
Using PowerShell
- Open Terminal as Administrator with administrator rights.
- Type the commands shown below one by one, and press Enter after each.
- Check that no command reports an error before you move on.
Set-Service -Name UCPD -StartupType Disabled
Disable-ScheduledTask -TaskName "\Microsoft\Windows\AppxDeploymentClient\UCPD velocity"Using Command Prompt
- Open Terminal as Administrator and pick Command Prompt from the dropdown arrow. Approve the User Account Control prompt if it appears.
- Type the commands shown below one by one, and press Enter after each.
sc config UCPD start= disabled
schtasks /change /Disable /TN "\Microsoft\Windows\AppxDeploymentClient\UCPD velocity"Restart the computer so the new settings take effect. Then run your program and let it make its file association changes. When it has finished, re-enable UCPD with the earlier steps and restart again.
Summary
Summary The UserChoice Protection Driver acts as a safety barrier against unauthorized file association changes. Keeping it enabled maintains optimal system security for daily tasks. Disabling it temporarily accommodates trusted software requiring default app updates. Managing UCPD through PowerShell or Command Prompt requires a subsequent system reboot to apply changes reliably.- The UserChoice Protection Driver keeps your file-opening apps safe from unwanted changes.
- It's best to keep it enabled for your security.
- You can turn it off temporarily if a trusted program needs to change your file defaults.
- Use PowerShell or Command Prompt commands shown above to manage UCPD.
- Always restart your PC after making changes.
More Info
For more details, check out Gunnar Haslinger's full post on UCPD.
Following these steps helps keep your Windows 11 system safe and preserves control over file associations.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard is a writer at Geek Rewind who turns complex IT tasks into clear, step-by-step guides. He draws on years of hands-on experience in system administration and enterprise IT operations, focusing on Windows, Linux and WordPress: the problems people actually run into, and the fixes that work. His server and WordPress guides come from systems he runs himself. Richard builds and maintains the platform behind Geek Rewind, from its Ubuntu servers and Nginx configuration to its custom WordPress plugins. Many new tutorials start with readers' questions, and he's always glad to answer them in the comments.
No comments yet — be the first to share your thoughts!