mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-24 04:00:02 +01:00
* Basic WPF searchbox working * Updated key navigation and removed coldstart for searhbox * refactored and added code back in commented * Removed XAML Island references * Basic searchbox+listview working * Getting a bit more back * got color there * Result list bit better now * Added image loader for WPF Image * Partially got the context menus rendering again * adjusting coldstart to load, control will load with main form * getting context menus back * mouse over works now * Click now works, started to remove Win.XAML references * being a bit more forcusful on focus * Shadow text is not aligned * fixing focus if listbox was used * small tweak to fix shadow text * inputs don't work but gotta figure out why. commenting out * preview text * adding back in delay * fixed height issue * Applied the correct context button styles * Created custom ItemContainerStyle to fix the blue highlights behind the command buttons * Applied the correct highlight / mouseover styling * Removed vertical scrollbar in listview * fixed for alt-space prompt * Fixed right click focus issue * Somil55/wpf modifier keys (#3378) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Somil55/wpf context menu selection (#3389) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Add trigger to selection on tabbing * Minor shadow adjustments so its more similiar to default shell shadow. Added intro/outro animations * Added UWP-like scrollbar style for the results list * Fixed formating and naming * Removed Powerlauncher UI project * Update PowerToys.sln * Commented out scrollbar and fade in/out animations * Added missing features from UWP branch * Fixed formatting for Product.wxs * Add dragging to WPF window Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
PowerToys installer instructions
MSI installer instructions
- Install the WiX Toolset Visual Studio 2019 Extension.
- Install the WiX Toolset build tools in the development machine.
- Open
powertoys.sln, select the "Release" and "x64" configurations and build thePowerToysSetupproject. - The resulting installer will be built to
PowerToysSetup\bin\Release\PowerToysSetup.msi.
MSIX installer instructions
One-time tasks
Create and install the self-sign certificate
For the first-time installation, you'll need to generate a self-signed certificate. The script below will generate and add a cert to your TRCA store.
- Open
Developer PowerShell for VSas an Admin - Navigate to your repo's
installer\MSIX - Run
.\generate_self_sign_cert.ps1
Note: if you delete the folder, you will have to regenerate the key
Elevate Developer PowerShell for VS permissions due to unsigned file
reinstall_msix.ps1 is unsigned, you'll need to elevate your prompt.
- Open
Developer PowerShell for VSas admin - Run
Set-ExecutionPolicy -executionPolicy Unrestricted
Allow Sideloaded apps
In order to install the MSIX package without using the Microsoft Store, sideloading apps needs to be enabled. This can be done by enabling Developer Options > Sideload apps or Developer Options > Developer mode.
Building the MSIX package
- Make sure you've built the
Releaseconfiguration ofpowertoys.sln - Open
Developer PowerShell for VS - Navigate to your repo's
installer\MSIX - Run
.\reinstall_msix.ps1from the devenv powershell
What reinstall_msix.ps1 does
reinstall_msix.ps1 removes the current PowerToys installation, restarts explorer.exe (to update PowerRename and ImageResizer shell extension), builds PowerToys-x64.msix package, signs it with a PowerToys_TemporaryKey.pfx, and finally installs it.
Cleanup - Removing all .msi/.msix PowerToys installations
$name='PowerToys'
Get-AppxPackage -Name $name | select -ExpandProperty "PackageFullName" | Remove-AppxPackage
gwmi win32_product -filter "Name = '$name'" -namespace root/cimv2 | foreach {
if ($_.uninstall().returnvalue -eq 0) { write-host "Successfully uninstalled $name " }
else { write-warning "Failed to uninstall $name." }
}