A PowerShell installer for the bundled UwU animated cursor scheme on Windows.
- Installs all 17 animated cursors, including Location Select (
pin) and Person Select (person). - Registers the
UwUscheme for the current Windows user. - Reloads cursors immediately, without a restart or sign-out when the refresh succeeds.
- Checks that every required source file exists before copying files or changing the registry.
- Opens Mouse Properties for preview by default; supports running without that window.
- Windows 10 or 11.
- Windows PowerShell 5.1 or PowerShell 7 on Windows.
- Administrator access to copy files into the Windows cursors folder.
Run as Administrator with the account whose cursors you want to change. The script writes to HKEY_CURRENT_USER; entering another administrator's credentials changes that administrator's settings.
-
Download and extract the complete project from Releases, or clone it:
git clone https://github.com/ajsem1337/CustomCursorInstaller.git
-
Keep
InstallCursor.ps1and theCursor/folder together. Open PowerShell as Administrator and run:cd "C:\path\to\CustomCursorInstaller" powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\InstallCursor.ps1
Bypassapplies to this process. It does not change your saved execution policy. -
The script installs and activates
UwU, then opens Mouse Properties on the Pointers tab. Close the window after previewing; no further action is required to activate the scheme.
To install without opening Mouse Properties:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\InstallCursor.ps1 -SkipControlPanelFrom an existing elevated PowerShell session, -OpenControlPanel:$false is also supported:
.\InstallCursor.ps1 -OpenControlPanel:$false- Copies the 17 bundled files into
%SystemRoot%\Cursors\MyCustomCursors(usuallyC:\Windows\Cursors\MyCustomCursors). Re-running it overwrites those installed files. - Saves the scheme in
HKCU\Control Panel\Cursors\SchemesunderUwUand replaces an existing scheme of that name. - Updates the current user's cursor paths, active scheme name, and
Scheme Sourceregistry value. - Calls the Windows
SPI_SETCURSORSAPI to reload the cursors and reports a failure if Windows rejects the refresh.
The installer does not back up your previous cursor settings. Save any custom scheme you want to keep in Mouse Properties before running it. Files are installed in a shared Windows folder, while the scheme is selected only for the account running the script.
- Run
main.cpl, open Pointers, select Windows Default (system scheme) or your previous scheme, and click Apply. - To remove the saved scheme, select
UwUin the same list and click Delete, then select the scheme you want to keep. - Once no account uses these cursor files, you can delete
%SystemRoot%\Cursors\MyCustomCursorsas Administrator.
- Missing cursor files: extract the full download and keep the original filenames in
Cursor/. The script checks the source even if an older installation exists. - Access denied: run PowerShell as Administrator and check permissions on the destination folder.
- Scheme saved but refresh failed: select
UwUinmain.cpland click Apply, or sign out and back in. - Mouse Properties did not open: run
main.cplmanually. A preview-window failure does not undo a successful installation. - Another theme changes the cursors: reselect
UwUin Mouse Properties.
The Windows workflow runs the installer twice in the same session using Windows PowerShell 5.1 and PowerShell 7, checks the saved scheme and copied files, and tests an incomplete source folder against an existing installation. Run the same checks locally in an elevated Windows PowerShell session:
.\tests\Test-InstallCursor.ps1These are integration tests: they install and activate UwU for the account running them. Use a disposable Windows environment for testing.
To check PowerShell syntax, compile the native interop code, and validate the bundled ANI headers without installing anything (also works on Linux with PowerShell 7):
.\tests\Test-InstallCursor.ps1 -ValidateOnlyInstallCursor.ps1— installer.Cursor/— the 17 bundled.anifiles.tests/Test-InstallCursor.ps1— Windows integration checks..github/workflows/windows.yml— automated Windows checks.
Contributions and bug reports are welcome. Licensed under MIT.
Made with AI. This project was developed with AI assistance, including code, documentation, and testing.