Merge remote-tracking branch 'origin/main' into dev/snickler/net10-upgrade
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -58,6 +58,7 @@ body:
|
|||||||
- Image Resizer
|
- Image Resizer
|
||||||
- Installer
|
- Installer
|
||||||
- Keyboard Manager
|
- Keyboard Manager
|
||||||
|
- Light Switch
|
||||||
- Mouse Utilities
|
- Mouse Utilities
|
||||||
- Mouse Without Borders
|
- Mouse Without Borders
|
||||||
- New+
|
- New+
|
||||||
|
|||||||
1
.github/ISSUE_TEMPLATE/translation_issue.yml
vendored
@@ -38,6 +38,7 @@ body:
|
|||||||
- Image Resizer
|
- Image Resizer
|
||||||
- Installer
|
- Installer
|
||||||
- Keyboard Manager
|
- Keyboard Manager
|
||||||
|
- Light Switch
|
||||||
- Mouse Utilities
|
- Mouse Utilities
|
||||||
- Mouse Without Borders
|
- Mouse Without Borders
|
||||||
- New+
|
- New+
|
||||||
|
|||||||
3
.github/actions/spell-check/allow/code.txt
vendored
@@ -94,6 +94,7 @@ onefuzzingestionpreparationtool
|
|||||||
OTP
|
OTP
|
||||||
Yubi
|
Yubi
|
||||||
Yubico
|
Yubico
|
||||||
|
Perplexity
|
||||||
svgl
|
svgl
|
||||||
|
|
||||||
# KEYS
|
# KEYS
|
||||||
@@ -319,4 +320,4 @@ MRUINFO
|
|||||||
REGSTR
|
REGSTR
|
||||||
|
|
||||||
# Misc Win32 APIs and PInvokes
|
# Misc Win32 APIs and PInvokes
|
||||||
INVOKEIDLIST
|
INVOKEIDLIST
|
||||||
|
|||||||
2
.github/actions/spell-check/allow/names.txt
vendored
@@ -208,6 +208,7 @@ capturevideosample
|
|||||||
cmdow
|
cmdow
|
||||||
Controlz
|
Controlz
|
||||||
cortana
|
cortana
|
||||||
|
devhints
|
||||||
dlnilsson
|
dlnilsson
|
||||||
fancymouse
|
fancymouse
|
||||||
firefox
|
firefox
|
||||||
@@ -227,6 +228,7 @@ regedit
|
|||||||
roslyn
|
roslyn
|
||||||
Skia
|
Skia
|
||||||
Spotify
|
Spotify
|
||||||
|
tldr
|
||||||
Vanara
|
Vanara
|
||||||
wangyi
|
wangyi
|
||||||
WEX
|
WEX
|
||||||
|
|||||||
5
.github/actions/spell-check/excludes.txt
vendored
@@ -121,6 +121,10 @@
|
|||||||
^src/modules/MouseWithoutBorders/App/Helper/.*\.resx$
|
^src/modules/MouseWithoutBorders/App/Helper/.*\.resx$
|
||||||
^src/modules/MouseWithoutBorders/ModuleInterface/generateSecurityDescriptor\.h$
|
^src/modules/MouseWithoutBorders/ModuleInterface/generateSecurityDescriptor\.h$
|
||||||
^src/modules/peek/Peek.Common/NativeMethods\.txt$
|
^src/modules/peek/Peek.Common/NativeMethods\.txt$
|
||||||
|
^src/modules/peek/Peek.UITests/TestAssets/4\.qoi$
|
||||||
|
^src/modules/powerrename/PowerRenameUITest/testItems/folder1/testCase2\.txt$
|
||||||
|
^src/modules/powerrename/PowerRenameUITest/testItems/folder2/SpecialCase\.txt$
|
||||||
|
^src/modules/powerrename/PowerRenameUITest/testItems/testCase1\.txt$
|
||||||
^src/modules/previewpane/SvgPreviewHandler/SvgHTMLPreviewGenerator\.cs$
|
^src/modules/previewpane/SvgPreviewHandler/SvgHTMLPreviewGenerator\.cs$
|
||||||
^src/modules/previewpane/UnitTests-MarkdownPreviewHandler/HelperFiles/MarkdownWithHTMLImageTag\.txt$
|
^src/modules/previewpane/UnitTests-MarkdownPreviewHandler/HelperFiles/MarkdownWithHTMLImageTag\.txt$
|
||||||
^src/modules/registrypreview/RegistryPreviewUILib/Controls/HexBox/.*$
|
^src/modules/registrypreview/RegistryPreviewUILib/Controls/HexBox/.*$
|
||||||
@@ -131,3 +135,4 @@
|
|||||||
ignore$
|
ignore$
|
||||||
^src/modules/registrypreview/RegistryPreviewUILib/Controls/HexBox/.*$
|
^src/modules/registrypreview/RegistryPreviewUILib/Controls/HexBox/.*$
|
||||||
^src/common/CalculatorEngineCommon/exprtk\.hpp$
|
^src/common/CalculatorEngineCommon/exprtk\.hpp$
|
||||||
|
src/modules/cmdpal/ext/SamplePagesExtension/Pages/SampleMarkdownImagesPage.cs
|
||||||
|
|||||||
91
.github/actions/spell-check/expect.txt
vendored
@@ -3,6 +3,7 @@ abcdefghjkmnpqrstuvxyz
|
|||||||
abgr
|
abgr
|
||||||
ABlocked
|
ABlocked
|
||||||
ABOUTBOX
|
ABOUTBOX
|
||||||
|
ABORTIFHUNG
|
||||||
Abug
|
Abug
|
||||||
Acceleratorkeys
|
Acceleratorkeys
|
||||||
ACCEPTFILES
|
ACCEPTFILES
|
||||||
@@ -25,8 +26,7 @@ ADMINS
|
|||||||
adml
|
adml
|
||||||
admx
|
admx
|
||||||
advancedpaste
|
advancedpaste
|
||||||
advancedpasteui
|
advapi
|
||||||
advancedpasteuishortcut
|
|
||||||
advfirewall
|
advfirewall
|
||||||
AFeature
|
AFeature
|
||||||
affordances
|
affordances
|
||||||
@@ -43,7 +43,6 @@ ALLINPUT
|
|||||||
Allman
|
Allman
|
||||||
Allmodule
|
Allmodule
|
||||||
ALLOWUNDO
|
ALLOWUNDO
|
||||||
allpc
|
|
||||||
ALLVIEW
|
ALLVIEW
|
||||||
ALPHATYPE
|
ALPHATYPE
|
||||||
AModifier
|
AModifier
|
||||||
@@ -76,6 +75,7 @@ appwiz
|
|||||||
appxpackage
|
appxpackage
|
||||||
APSTUDIO
|
APSTUDIO
|
||||||
AQS
|
AQS
|
||||||
|
Aquadrant
|
||||||
ARandom
|
ARandom
|
||||||
ARCHITEW
|
ARCHITEW
|
||||||
ARemapped
|
ARemapped
|
||||||
@@ -133,7 +133,6 @@ bla
|
|||||||
BLACKFRAME
|
BLACKFRAME
|
||||||
BLENDFUNCTION
|
BLENDFUNCTION
|
||||||
Blockquotes
|
Blockquotes
|
||||||
blogs
|
|
||||||
Blt
|
Blt
|
||||||
BLURBEHIND
|
BLURBEHIND
|
||||||
BLURREGION
|
BLURREGION
|
||||||
@@ -159,6 +158,7 @@ BUILDARCH
|
|||||||
BUILDNUMBER
|
BUILDNUMBER
|
||||||
buildtransitive
|
buildtransitive
|
||||||
builttoroam
|
builttoroam
|
||||||
|
BUNDLEINFO
|
||||||
BVal
|
BVal
|
||||||
BValue
|
BValue
|
||||||
byapp
|
byapp
|
||||||
@@ -193,6 +193,7 @@ changecursor
|
|||||||
CHILDACTIVATE
|
CHILDACTIVATE
|
||||||
CHILDWINDOW
|
CHILDWINDOW
|
||||||
CHOOSEFONT
|
CHOOSEFONT
|
||||||
|
CIBUILD
|
||||||
cidl
|
cidl
|
||||||
CIELCh
|
CIELCh
|
||||||
cim
|
cim
|
||||||
@@ -247,6 +248,7 @@ CONFIGW
|
|||||||
CONFLICTINGMODIFIERKEY
|
CONFLICTINGMODIFIERKEY
|
||||||
CONFLICTINGMODIFIERSHORTCUT
|
CONFLICTINGMODIFIERSHORTCUT
|
||||||
CONOUT
|
CONOUT
|
||||||
|
coreclr
|
||||||
constexpr
|
constexpr
|
||||||
contentdialog
|
contentdialog
|
||||||
contentfiles
|
contentfiles
|
||||||
@@ -268,6 +270,8 @@ cpcontrols
|
|||||||
cph
|
cph
|
||||||
cplusplus
|
cplusplus
|
||||||
CPower
|
CPower
|
||||||
|
cpptools
|
||||||
|
cppvsdbg
|
||||||
cppwinrt
|
cppwinrt
|
||||||
createdump
|
createdump
|
||||||
CREATEPROCESS
|
CREATEPROCESS
|
||||||
@@ -279,6 +283,7 @@ CRH
|
|||||||
critsec
|
critsec
|
||||||
cropandlock
|
cropandlock
|
||||||
Crossdevice
|
Crossdevice
|
||||||
|
csdevkit
|
||||||
CSearch
|
CSearch
|
||||||
CSettings
|
CSettings
|
||||||
cso
|
cso
|
||||||
@@ -360,11 +365,12 @@ desktopshorcutinstalled
|
|||||||
DESKTOPVERTRES
|
DESKTOPVERTRES
|
||||||
devblogs
|
devblogs
|
||||||
devdocs
|
devdocs
|
||||||
|
devenv
|
||||||
devmgmt
|
devmgmt
|
||||||
DEVMODE
|
DEVMODE
|
||||||
DEVMODEW
|
DEVMODEW
|
||||||
devpal
|
devpal
|
||||||
DFX
|
dfx
|
||||||
DIALOGEX
|
DIALOGEX
|
||||||
digicert
|
digicert
|
||||||
DINORMAL
|
DINORMAL
|
||||||
@@ -378,6 +384,7 @@ DISPLAYFREQUENCY
|
|||||||
displayname
|
displayname
|
||||||
DISPLAYORIENTATION
|
DISPLAYORIENTATION
|
||||||
divyan
|
divyan
|
||||||
|
djwsxzxb
|
||||||
Dlg
|
Dlg
|
||||||
DLGFRAME
|
DLGFRAME
|
||||||
DLGMODALFRAME
|
DLGMODALFRAME
|
||||||
@@ -388,6 +395,7 @@ DNLEN
|
|||||||
DONOTROUND
|
DONOTROUND
|
||||||
DONTVALIDATEPATH
|
DONTVALIDATEPATH
|
||||||
dotnet
|
dotnet
|
||||||
|
downscale
|
||||||
DPICHANGED
|
DPICHANGED
|
||||||
DPIs
|
DPIs
|
||||||
DPSAPI
|
DPSAPI
|
||||||
@@ -437,6 +445,7 @@ EDITSHORTCUTS
|
|||||||
EDITTEXT
|
EDITTEXT
|
||||||
EFile
|
EFile
|
||||||
ekus
|
ekus
|
||||||
|
eku
|
||||||
emojis
|
emojis
|
||||||
ENABLEDELAYEDEXPANSION
|
ENABLEDELAYEDEXPANSION
|
||||||
ENABLEDPOPUP
|
ENABLEDPOPUP
|
||||||
@@ -447,6 +456,7 @@ encryptor
|
|||||||
ENDSESSION
|
ENDSESSION
|
||||||
ENSUREVISIBLE
|
ENSUREVISIBLE
|
||||||
ENTERSIZEMOVE
|
ENTERSIZEMOVE
|
||||||
|
ENTRYW
|
||||||
ENU
|
ENU
|
||||||
environmentvariables
|
environmentvariables
|
||||||
EOAC
|
EOAC
|
||||||
@@ -477,6 +487,7 @@ examplehandler
|
|||||||
examplepowertoy
|
examplepowertoy
|
||||||
EXAND
|
EXAND
|
||||||
EXCLUDEFROMCAPTURE
|
EXCLUDEFROMCAPTURE
|
||||||
|
EXECUTEDEFAULT
|
||||||
executionpolicy
|
executionpolicy
|
||||||
exename
|
exename
|
||||||
exf
|
exf
|
||||||
@@ -499,8 +510,8 @@ eyetracker
|
|||||||
FANCYZONESDRAWLAYOUTTEST
|
FANCYZONESDRAWLAYOUTTEST
|
||||||
FANCYZONESEDITOR
|
FANCYZONESEDITOR
|
||||||
FARPROC
|
FARPROC
|
||||||
|
fdx
|
||||||
fesf
|
fesf
|
||||||
fff
|
|
||||||
FFFF
|
FFFF
|
||||||
FILEEXPLORER
|
FILEEXPLORER
|
||||||
fileexploreraddons
|
fileexploreraddons
|
||||||
@@ -563,6 +574,7 @@ GETDESKWALLPAPER
|
|||||||
GETDLGCODE
|
GETDLGCODE
|
||||||
GETDPISCALEDSIZE
|
GETDPISCALEDSIZE
|
||||||
getfilesiginforedist
|
getfilesiginforedist
|
||||||
|
geolocator
|
||||||
GETHOTKEY
|
GETHOTKEY
|
||||||
GETICON
|
GETICON
|
||||||
GETMINMAXINFO
|
GETMINMAXINFO
|
||||||
@@ -572,6 +584,7 @@ GETSCREENSAVERRUNNING
|
|||||||
GETSECKEY
|
GETSECKEY
|
||||||
GETSTICKYKEYS
|
GETSTICKYKEYS
|
||||||
GETTEXTLENGTH
|
GETTEXTLENGTH
|
||||||
|
gitmodules
|
||||||
GHND
|
GHND
|
||||||
GMEM
|
GMEM
|
||||||
GNumber
|
GNumber
|
||||||
@@ -659,11 +672,7 @@ Hostx
|
|||||||
hotfixes
|
hotfixes
|
||||||
hotkeycontrol
|
hotkeycontrol
|
||||||
HOTKEYF
|
HOTKEYF
|
||||||
hotkeylockmachine
|
|
||||||
hotkeyreconnect
|
|
||||||
hotkeys
|
hotkeys
|
||||||
hotkeyswitch
|
|
||||||
hotkeytoggleeasymouse
|
|
||||||
hotlight
|
hotlight
|
||||||
hotspot
|
hotspot
|
||||||
HPAINTBUFFER
|
HPAINTBUFFER
|
||||||
@@ -722,8 +731,6 @@ IMAGERESIZERCONTEXTMENU
|
|||||||
IMAGERESIZEREXT
|
IMAGERESIZEREXT
|
||||||
imageresizerinput
|
imageresizerinput
|
||||||
imageresizersettings
|
imageresizersettings
|
||||||
imagetotext
|
|
||||||
imagetotextshortcut
|
|
||||||
imagingdevices
|
imagingdevices
|
||||||
ime
|
ime
|
||||||
imgflip
|
imgflip
|
||||||
@@ -812,12 +819,15 @@ keyvault
|
|||||||
KILLFOCUS
|
KILLFOCUS
|
||||||
killrunner
|
killrunner
|
||||||
kmph
|
kmph
|
||||||
|
ksa
|
||||||
kvp
|
kvp
|
||||||
Kybd
|
Kybd
|
||||||
|
LARGEICON
|
||||||
lastcodeanalysissucceeded
|
lastcodeanalysissucceeded
|
||||||
LASTEXITCODE
|
LASTEXITCODE
|
||||||
LAYOUTRTL
|
LAYOUTRTL
|
||||||
LCh
|
LCh
|
||||||
|
lbl
|
||||||
lcid
|
lcid
|
||||||
LCIDTo
|
LCIDTo
|
||||||
lcl
|
lcl
|
||||||
@@ -836,10 +846,12 @@ LIBID
|
|||||||
LIMITSIZE
|
LIMITSIZE
|
||||||
LIMITTEXT
|
LIMITTEXT
|
||||||
lindex
|
lindex
|
||||||
|
lightswitch
|
||||||
linkid
|
linkid
|
||||||
LINKOVERLAY
|
LINKOVERLAY
|
||||||
LINQTo
|
LINQTo
|
||||||
listview
|
listview
|
||||||
|
LIVEDRAW
|
||||||
LIVEZOOM
|
LIVEZOOM
|
||||||
LLKH
|
LLKH
|
||||||
llkhf
|
llkhf
|
||||||
@@ -851,17 +863,19 @@ localappdata
|
|||||||
localpackage
|
localpackage
|
||||||
LOCALSYSTEM
|
LOCALSYSTEM
|
||||||
LOCATIONCHANGE
|
LOCATIONCHANGE
|
||||||
LOCKMACHINE
|
|
||||||
LOCKTYPE
|
LOCKTYPE
|
||||||
LOGFONT
|
LOGFONT
|
||||||
LOGFONTW
|
LOGFONTW
|
||||||
logon
|
logon
|
||||||
|
LOGMSG
|
||||||
LOGPIXELSX
|
LOGPIXELSX
|
||||||
LOGPIXELSY
|
LOGPIXELSY
|
||||||
LOn
|
lng
|
||||||
|
lon
|
||||||
longdate
|
longdate
|
||||||
LONGNAMES
|
LONGNAMES
|
||||||
lowlevel
|
lowlevel
|
||||||
|
lquadrant
|
||||||
LOWORD
|
LOWORD
|
||||||
lparam
|
lparam
|
||||||
LPBITMAPINFOHEADER
|
LPBITMAPINFOHEADER
|
||||||
@@ -908,11 +922,11 @@ luid
|
|||||||
LUMA
|
LUMA
|
||||||
lusrmgr
|
lusrmgr
|
||||||
LVal
|
LVal
|
||||||
lvm
|
|
||||||
LWA
|
LWA
|
||||||
lwin
|
lwin
|
||||||
LZero
|
LZero
|
||||||
MAGTRANSFORM
|
MAGTRANSFORM
|
||||||
|
makeappx
|
||||||
MAKEINTRESOURCE
|
MAKEINTRESOURCE
|
||||||
MAKEINTRESOURCEA
|
MAKEINTRESOURCEA
|
||||||
MAKEINTRESOURCEW
|
MAKEINTRESOURCEW
|
||||||
@@ -937,7 +951,6 @@ MDL
|
|||||||
mdtext
|
mdtext
|
||||||
mdtxt
|
mdtxt
|
||||||
mdwn
|
mdwn
|
||||||
measuretool
|
|
||||||
meme
|
meme
|
||||||
memicmp
|
memicmp
|
||||||
MENUITEMINFO
|
MENUITEMINFO
|
||||||
@@ -987,10 +1000,12 @@ MOUSEHWHEEL
|
|||||||
MOUSEINPUT
|
MOUSEINPUT
|
||||||
mousejump
|
mousejump
|
||||||
mousepointer
|
mousepointer
|
||||||
mousepointercrosshairs
|
|
||||||
mouseutils
|
mouseutils
|
||||||
MOVESIZEEND
|
MOVESIZEEND
|
||||||
MOVESIZESTART
|
MOVESIZESTART
|
||||||
|
muxx
|
||||||
|
muxxc
|
||||||
|
muxxh
|
||||||
MRM
|
MRM
|
||||||
MRT
|
MRT
|
||||||
mru
|
mru
|
||||||
@@ -1139,6 +1154,7 @@ ntfs
|
|||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTSYSAPI
|
NTSYSAPI
|
||||||
NULLCURSOR
|
NULLCURSOR
|
||||||
|
nullref
|
||||||
nullonfailure
|
nullonfailure
|
||||||
numberbox
|
numberbox
|
||||||
nwc
|
nwc
|
||||||
@@ -1185,23 +1201,13 @@ PACL
|
|||||||
PAINTSTRUCT
|
PAINTSTRUCT
|
||||||
PALETTEWINDOW
|
PALETTEWINDOW
|
||||||
PARENTNOTIFY
|
PARENTNOTIFY
|
||||||
|
PARENTRELATIVE
|
||||||
PARENTRELATIVEEDITING
|
PARENTRELATIVEEDITING
|
||||||
PARENTRELATIVEFORADDRESSBAR
|
PARENTRELATIVEFORADDRESSBAR
|
||||||
|
PARENTRELATIVEFORUI
|
||||||
PARENTRELATIVEPARSING
|
PARENTRELATIVEPARSING
|
||||||
parray
|
parray
|
||||||
PARTIALCONFIRMATIONDIALOGTITLE
|
PARTIALCONFIRMATIONDIALOGTITLE
|
||||||
pasteashtmlfile
|
|
||||||
pasteashtmlfileshortcut
|
|
||||||
pasteasjson
|
|
||||||
pasteasjsonshortcut
|
|
||||||
pasteasmarkdown
|
|
||||||
pasteasmarkdownshortcut
|
|
||||||
pasteasplaintext
|
|
||||||
pasteasplaintextshortcut
|
|
||||||
pasteaspngfile
|
|
||||||
pasteaspngfileshortcut
|
|
||||||
pasteastxtfile
|
|
||||||
pasteastxtfileshortcut
|
|
||||||
PATCOPY
|
PATCOPY
|
||||||
PATHMUSTEXIST
|
PATHMUSTEXIST
|
||||||
PATINVERT
|
PATINVERT
|
||||||
@@ -1209,6 +1215,7 @@ PATPAINT
|
|||||||
pbc
|
pbc
|
||||||
pbi
|
pbi
|
||||||
PBlob
|
PBlob
|
||||||
|
pbrush
|
||||||
pcb
|
pcb
|
||||||
pcch
|
pcch
|
||||||
pcelt
|
pcelt
|
||||||
@@ -1242,6 +1249,7 @@ pgp
|
|||||||
pguid
|
pguid
|
||||||
phbm
|
phbm
|
||||||
phbmp
|
phbmp
|
||||||
|
phicon
|
||||||
phwnd
|
phwnd
|
||||||
pici
|
pici
|
||||||
pidl
|
pidl
|
||||||
@@ -1250,6 +1258,8 @@ pinfo
|
|||||||
pinvoke
|
pinvoke
|
||||||
pipename
|
pipename
|
||||||
PKBDLLHOOKSTRUCT
|
PKBDLLHOOKSTRUCT
|
||||||
|
pkgfamily
|
||||||
|
PKI
|
||||||
plib
|
plib
|
||||||
ploc
|
ploc
|
||||||
ploca
|
ploca
|
||||||
@@ -1269,7 +1279,6 @@ Pomodoro
|
|||||||
Popups
|
Popups
|
||||||
POPUPWINDOW
|
POPUPWINDOW
|
||||||
POSITIONITEM
|
POSITIONITEM
|
||||||
powerocr
|
|
||||||
POWERRENAMECONTEXTMENU
|
POWERRENAMECONTEXTMENU
|
||||||
powerrenameinput
|
powerrenameinput
|
||||||
POWERRENAMETEST
|
POWERRENAMETEST
|
||||||
@@ -1320,7 +1329,6 @@ PRODUCTVERSION
|
|||||||
Progman
|
Progman
|
||||||
programdata
|
programdata
|
||||||
projectname
|
projectname
|
||||||
projitems
|
|
||||||
PROPERTYKEY
|
PROPERTYKEY
|
||||||
Propset
|
Propset
|
||||||
PROPVARIANT
|
PROPVARIANT
|
||||||
@@ -1328,6 +1336,7 @@ PRTL
|
|||||||
prvpane
|
prvpane
|
||||||
psapi
|
psapi
|
||||||
pscid
|
pscid
|
||||||
|
pscustomobject
|
||||||
PSECURITY
|
PSECURITY
|
||||||
psfgao
|
psfgao
|
||||||
psfi
|
psfi
|
||||||
@@ -1368,8 +1377,9 @@ quickaccent
|
|||||||
QUNS
|
QUNS
|
||||||
RAII
|
RAII
|
||||||
RAlt
|
RAlt
|
||||||
|
RAquadrant
|
||||||
randi
|
randi
|
||||||
Rasterization
|
rasterization
|
||||||
Rasterize
|
Rasterize
|
||||||
RAWINPUTDEVICE
|
RAWINPUTDEVICE
|
||||||
RAWINPUTHEADER
|
RAWINPUTHEADER
|
||||||
@@ -1412,7 +1422,6 @@ Removelnk
|
|||||||
renamable
|
renamable
|
||||||
RENAMEONCOLLISION
|
RENAMEONCOLLISION
|
||||||
reparented
|
reparented
|
||||||
reparenthotkey
|
|
||||||
reparenting
|
reparenting
|
||||||
reportfileaccesses
|
reportfileaccesses
|
||||||
requery
|
requery
|
||||||
@@ -1438,7 +1447,6 @@ RIDEV
|
|||||||
RIGHTSCROLLBAR
|
RIGHTSCROLLBAR
|
||||||
riid
|
riid
|
||||||
RKey
|
RKey
|
||||||
Rns
|
|
||||||
RNumber
|
RNumber
|
||||||
rop
|
rop
|
||||||
ROUNDSMALL
|
ROUNDSMALL
|
||||||
@@ -1451,7 +1459,6 @@ rstringalnum
|
|||||||
rstringalpha
|
rstringalpha
|
||||||
rstringdigit
|
rstringdigit
|
||||||
rtb
|
rtb
|
||||||
RTB
|
|
||||||
RTLREADING
|
RTLREADING
|
||||||
rtm
|
rtm
|
||||||
runas
|
runas
|
||||||
@@ -1663,10 +1670,10 @@ STYLECHANGED
|
|||||||
STYLECHANGING
|
STYLECHANGING
|
||||||
subkeys
|
subkeys
|
||||||
sublang
|
sublang
|
||||||
Subdomain
|
|
||||||
SUBMODULEUPDATE
|
SUBMODULEUPDATE
|
||||||
subresource
|
subresource
|
||||||
Superbar
|
Superbar
|
||||||
|
suntimes
|
||||||
sut
|
sut
|
||||||
svchost
|
svchost
|
||||||
SVGIn
|
SVGIn
|
||||||
@@ -1694,6 +1701,7 @@ syskeydown
|
|||||||
SYSKEYUP
|
SYSKEYUP
|
||||||
SYSLIB
|
SYSLIB
|
||||||
SYSMENU
|
SYSMENU
|
||||||
|
systemai
|
||||||
SYSTEMAPPS
|
SYSTEMAPPS
|
||||||
SYSTEMMODAL
|
SYSTEMMODAL
|
||||||
SYSTEMTIME
|
SYSTEMTIME
|
||||||
@@ -1732,9 +1740,9 @@ tgz
|
|||||||
themeresources
|
themeresources
|
||||||
THH
|
THH
|
||||||
THICKFRAME
|
THICKFRAME
|
||||||
|
THEMECHANGED
|
||||||
THISCOMPONENT
|
THISCOMPONENT
|
||||||
throughs
|
throughs
|
||||||
thumbnailhotkey
|
|
||||||
TILEDWINDOW
|
TILEDWINDOW
|
||||||
TILLSON
|
TILLSON
|
||||||
timedate
|
timedate
|
||||||
@@ -1748,10 +1756,9 @@ tkconverters
|
|||||||
tlb
|
tlb
|
||||||
tlbimp
|
tlbimp
|
||||||
tlc
|
tlc
|
||||||
|
tmain
|
||||||
TNP
|
TNP
|
||||||
TOGGLEEASYMOUSE
|
|
||||||
Toolhelp
|
Toolhelp
|
||||||
toolkitconverters
|
|
||||||
toolwindow
|
toolwindow
|
||||||
TOPDOWNDIB
|
TOPDOWNDIB
|
||||||
TOUCHEVENTF
|
TOUCHEVENTF
|
||||||
@@ -1763,11 +1770,9 @@ tracelogging
|
|||||||
tracerpt
|
tracerpt
|
||||||
trackbar
|
trackbar
|
||||||
trafficmanager
|
trafficmanager
|
||||||
transcodetomp
|
|
||||||
transicc
|
transicc
|
||||||
TRAYMOUSEMESSAGE
|
TRAYMOUSEMESSAGE
|
||||||
triaging
|
triaging
|
||||||
Tru
|
|
||||||
trl
|
trl
|
||||||
trx
|
trx
|
||||||
tsa
|
tsa
|
||||||
@@ -1798,6 +1803,7 @@ UIA
|
|||||||
UIEx
|
UIEx
|
||||||
uild
|
uild
|
||||||
uitests
|
uitests
|
||||||
|
UITo
|
||||||
ULONGLONG
|
ULONGLONG
|
||||||
ums
|
ums
|
||||||
uncompilable
|
uncompilable
|
||||||
@@ -1968,6 +1974,7 @@ WMI
|
|||||||
WMICIM
|
WMICIM
|
||||||
wmimgmt
|
wmimgmt
|
||||||
wmp
|
wmp
|
||||||
|
wmsg
|
||||||
WMSYSCOMMAND
|
WMSYSCOMMAND
|
||||||
wnd
|
wnd
|
||||||
WNDCLASS
|
WNDCLASS
|
||||||
@@ -1981,6 +1988,7 @@ WORKSPACESEDITOR
|
|||||||
WORKSPACESLAUNCHER
|
WORKSPACESLAUNCHER
|
||||||
WORKSPACESSNAPSHOTTOOL
|
WORKSPACESSNAPSHOTTOOL
|
||||||
WORKSPACESWINDOWARRANGER
|
WORKSPACESWINDOWARRANGER
|
||||||
|
worktree
|
||||||
wox
|
wox
|
||||||
wparam
|
wparam
|
||||||
wpf
|
wpf
|
||||||
@@ -2012,6 +2020,7 @@ XButton
|
|||||||
xclip
|
xclip
|
||||||
xcopy
|
xcopy
|
||||||
XDeployment
|
XDeployment
|
||||||
|
xdf
|
||||||
XDocument
|
XDocument
|
||||||
XElement
|
XElement
|
||||||
xfd
|
xfd
|
||||||
|
|||||||
9
.github/actions/spell-check/patterns.txt
vendored
@@ -1,5 +1,10 @@
|
|||||||
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
|
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
|
||||||
|
|
||||||
|
# marker to ignore all code on line
|
||||||
|
^.*/\* #no-spell-check-line \*/.*$
|
||||||
|
# marker for ignoring a comment to the end of the line
|
||||||
|
// #no-spell-check.*$
|
||||||
|
|
||||||
# Gaelic
|
# Gaelic
|
||||||
Gàidhlig
|
Gàidhlig
|
||||||
|
|
||||||
@@ -264,3 +269,7 @@ St&yle
|
|||||||
# This matches a relative clause where the relative pronoun "that" is omitted.
|
# This matches a relative clause where the relative pronoun "that" is omitted.
|
||||||
# Example: "Gets or sets the window the TitleBar should configure."
|
# Example: "Gets or sets the window the TitleBar should configure."
|
||||||
\bthe\s+\w+\s+the\b
|
\bthe\s+\w+\s+the\b
|
||||||
|
|
||||||
|
# Usernames with numbers
|
||||||
|
# 0x6f677548 is user name but user folder causes a flag
|
||||||
|
\bx6f677548\b
|
||||||
|
|||||||
43
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# PowerToys – Copilot guide (concise)
|
||||||
|
|
||||||
|
This is the top-level guide for AI changes. Keep edits small, follow existing patterns, and cite exact paths in PRs.
|
||||||
|
|
||||||
|
Repo map (1‑line per area)
|
||||||
|
- Core apps: `src/runner/**` (tray/loader), `src/settings-ui/**` (Settings app)
|
||||||
|
- Shared libs: `src/common/**`
|
||||||
|
- Modules: `src/modules/*` (one per utility; Command Palette in `src/modules/cmdpal/**`)
|
||||||
|
- Build tools/docs: `tools/**`, `doc/devdocs/**`
|
||||||
|
|
||||||
|
Build and test (defaults)
|
||||||
|
- Prerequisites: Visual Studio 2022 17.4+, minimal Windows 10 1803+.
|
||||||
|
- Build discipline:
|
||||||
|
- One terminal per operation (build → test). Don’t switch/open new ones mid-flow.
|
||||||
|
- After making changes, `cd` to the project folder that changed (`.csproj`/`.vcxproj`).
|
||||||
|
- Use script(s) to build, synchronously block and wait in foreground for it to finish: `tools/build/build.ps1|.cmd` (current folder), `build-essentials.*` (once per brand new build for missing nuget packages)
|
||||||
|
- Treat build **exit code 0** as success; any non-zero exit code is a failure, have Copilot read the errors log in the build folder (e.g., `build.*.*.errors.log`) and surface problems.
|
||||||
|
- Don’t start tests or launch Runner until the previous step succeeded.
|
||||||
|
- Tests (fast + targeted):
|
||||||
|
- Find the test project by product code prefix (e.g., FancyZones, AdvancedPaste). Look for a sibling folder or 1–2 levels up named like `<Product>*UnitTests` or `<Product>*UITests`.
|
||||||
|
- Build the test project, wait for **exit**, then run only those tests via VS Test Explorer or `vstest.console.exe` with filters. Avoid `dotnet test` in this repo.
|
||||||
|
- Add/adjust tests when changing behavior; if skipped, state why (e.g., comment-only, string rename).
|
||||||
|
|
||||||
|
Pull requests (expectations)
|
||||||
|
- Atomic: one logical change; no drive‑by refactors.
|
||||||
|
- Describe: problem / approach / risk / test evidence.
|
||||||
|
- List: touched paths if not obvious.
|
||||||
|
|
||||||
|
When to ask for clarification
|
||||||
|
- Ambiguous spec after scanning relevant docs (see below).
|
||||||
|
- Cross-module impact (shared enum/struct) not clear.
|
||||||
|
- Security / elevation / installer changes.
|
||||||
|
|
||||||
|
Logging (use existing stacks)
|
||||||
|
- C++: `src/common/logger/**` (`Logger::info|warn|error|debug`). Keep hot paths quiet (hooks, tight loops).
|
||||||
|
- C#: `ManagedCommon.Logger` (`LogInfo|LogWarning|LogError|LogDebug|LogTrace`). Some UIs use injected `ILogger` via `LoggerInstance.Logger`.
|
||||||
|
|
||||||
|
Docs to consult
|
||||||
|
- `tools/build/BUILD-GUIDELINES.md`
|
||||||
|
- `doc/devdocs/core/architecture.md`, `doc/devdocs/core/runner.md`, `doc/devdocs/core/settings/readme.md`, `doc/devdocs/modules/readme.md`
|
||||||
|
|
||||||
|
Done checklist (self review before finishing)
|
||||||
|
- Build clean? Tests updated/passed? No unintended formatting? Any new dependency? Documented skips?
|
||||||
19
.github/workflows/automatic-issue-deduplication.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
name: Automatic New Issue Deduplication
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened, reopened]
|
||||||
|
permissions:
|
||||||
|
models: read
|
||||||
|
issues: write
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.issue.number }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
jobs:
|
||||||
|
deduplicate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Run Deduplicate Action
|
||||||
|
uses: pelikhan/action-genai-issue-dedup@v0
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
label_as_duplicate: true
|
||||||
2
.gitignore
vendored
@@ -350,7 +350,9 @@ src/common/Telemetry/*.etl
|
|||||||
|
|
||||||
# Generated installer file for Monaco source files.
|
# Generated installer file for Monaco source files.
|
||||||
/installer/PowerToysSetup/MonacoSRC.wxs
|
/installer/PowerToysSetup/MonacoSRC.wxs
|
||||||
|
/installer/PowerToysSetup/DscResources.wxs
|
||||||
/installer/PowerToysSetupVNext/MonacoSRC.wxs
|
/installer/PowerToysSetupVNext/MonacoSRC.wxs
|
||||||
|
/installer/PowerToysSetupVNext/DscResources.wxs
|
||||||
|
|
||||||
# MSBuildCache
|
# MSBuildCache
|
||||||
/MSBuildCacheLogs/
|
/MSBuildCacheLogs/
|
||||||
|
|||||||
@@ -55,7 +55,6 @@
|
|||||||
"PowerToys.Awake.exe",
|
"PowerToys.Awake.exe",
|
||||||
"PowerToys.Awake.dll",
|
"PowerToys.Awake.dll",
|
||||||
|
|
||||||
|
|
||||||
"PowerToys.FancyZonesEditor.exe",
|
"PowerToys.FancyZonesEditor.exe",
|
||||||
"PowerToys.FancyZonesEditor.dll",
|
"PowerToys.FancyZonesEditor.dll",
|
||||||
"PowerToys.FancyZonesEditorCommon.dll",
|
"PowerToys.FancyZonesEditorCommon.dll",
|
||||||
@@ -134,6 +133,9 @@
|
|||||||
"PowerToys.ImageResizerContextMenu.dll",
|
"PowerToys.ImageResizerContextMenu.dll",
|
||||||
"ImageResizerContextMenuPackage.msix",
|
"ImageResizerContextMenuPackage.msix",
|
||||||
|
|
||||||
|
"PowerToys.LightSwitchModuleInterface.dll",
|
||||||
|
"LightSwitchService\\PowerToys.LightSwitchService.exe",
|
||||||
|
|
||||||
"PowerToys.KeyboardManager.dll",
|
"PowerToys.KeyboardManager.dll",
|
||||||
"KeyboardManagerEditor\\PowerToys.KeyboardManagerEditor.exe",
|
"KeyboardManagerEditor\\PowerToys.KeyboardManagerEditor.exe",
|
||||||
"KeyboardManagerEngine\\PowerToys.KeyboardManagerEngine.exe",
|
"KeyboardManagerEngine\\PowerToys.KeyboardManagerEngine.exe",
|
||||||
@@ -230,7 +232,12 @@
|
|||||||
|
|
||||||
"PowerToys.CmdPalModuleInterface.dll",
|
"PowerToys.CmdPalModuleInterface.dll",
|
||||||
"CmdPalKeyboardService.dll",
|
"CmdPalKeyboardService.dll",
|
||||||
"*Microsoft.CmdPal.UI_*.msix"
|
"*Microsoft.CmdPal.UI_*.msix",
|
||||||
|
|
||||||
|
"PowerToys.DSC.dll",
|
||||||
|
"PowerToys.DSC.exe",
|
||||||
|
|
||||||
|
"PowerToysSparse.msix"
|
||||||
],
|
],
|
||||||
"SigningInfo": {
|
"SigningInfo": {
|
||||||
"Operations": [
|
"Operations": [
|
||||||
@@ -297,6 +304,9 @@
|
|||||||
"msvcp140_1_app.dll",
|
"msvcp140_1_app.dll",
|
||||||
"msvcp140_2_app.dll",
|
"msvcp140_2_app.dll",
|
||||||
"msvcp140_app.dll",
|
"msvcp140_app.dll",
|
||||||
|
"Namotion.Reflection.dll",
|
||||||
|
"NJsonSchema.Annotations.dll",
|
||||||
|
"NJsonSchema.dll",
|
||||||
"vcamp140_app.dll",
|
"vcamp140_app.dll",
|
||||||
"vccorlib140_app.dll",
|
"vccorlib140_app.dll",
|
||||||
"vcomp140_app.dll",
|
"vcomp140_app.dll",
|
||||||
@@ -322,6 +332,12 @@
|
|||||||
"WinUI3Apps\\ReverseMarkdown.dll",
|
"WinUI3Apps\\ReverseMarkdown.dll",
|
||||||
"WinUI3Apps\\SharpCompress.dll",
|
"WinUI3Apps\\SharpCompress.dll",
|
||||||
"WinUI3Apps\\ZstdSharp.dll",
|
"WinUI3Apps\\ZstdSharp.dll",
|
||||||
|
"CommunityToolkit.WinUI.Controls.MarkdownTextBlock.dll",
|
||||||
|
"WinUI3Apps\\CommunityToolkit.WinUI.Controls.MarkdownTextBlock.dll",
|
||||||
|
"Markdig.dll",
|
||||||
|
"WinUI3Apps\\Markdig.dll",
|
||||||
|
"RomanNumerals.dll",
|
||||||
|
"WinUI3Apps\\RomanNumerals.dll",
|
||||||
"TestableIO.System.IO.Abstractions.dll",
|
"TestableIO.System.IO.Abstractions.dll",
|
||||||
"WinUI3Apps\\TestableIO.System.IO.Abstractions.dll",
|
"WinUI3Apps\\TestableIO.System.IO.Abstractions.dll",
|
||||||
"TestableIO.System.IO.Abstractions.Wrappers.dll",
|
"TestableIO.System.IO.Abstractions.Wrappers.dll",
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
"SignBatches": [
|
"SignBatches": [
|
||||||
{
|
{
|
||||||
"MatchedPath": [
|
"MatchedPath": [
|
||||||
"PowerToysSetupCustomActions.dll",
|
|
||||||
"PowerToysSetupCustomActionsVNext.dll",
|
"PowerToysSetupCustomActionsVNext.dll",
|
||||||
"SilentFilesInUseBAFunction.dll",
|
"SilentFilesInUseBAFunction.dll",
|
||||||
"PowerToys*Setup-*.exe",
|
"PowerToys*Setup-*.exe",
|
||||||
|
|||||||
88
.pipelines/generateDscManifests.ps1
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
[CmdletBinding()]
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]$BuildPlatform,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]$BuildConfiguration,
|
||||||
|
|
||||||
|
[Parameter()]
|
||||||
|
[string]$RepoRoot = (Get-Location).Path
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
|
||||||
|
function Resolve-PlatformDirectory {
|
||||||
|
param(
|
||||||
|
[string]$Root,
|
||||||
|
[string]$Platform
|
||||||
|
)
|
||||||
|
|
||||||
|
$normalized = $Platform.Trim()
|
||||||
|
$candidates = @()
|
||||||
|
$candidates += Join-Path $Root $normalized
|
||||||
|
$candidates += Join-Path $Root ($normalized.ToUpperInvariant())
|
||||||
|
$candidates += Join-Path $Root ($normalized.ToLowerInvariant())
|
||||||
|
$candidates = $candidates | Where-Object { -not [string]::IsNullOrWhiteSpace($_) } | Select-Object -Unique
|
||||||
|
|
||||||
|
foreach ($candidate in $candidates) {
|
||||||
|
if (Test-Path $candidate) {
|
||||||
|
return $candidate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $candidates[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Repo root: $RepoRoot"
|
||||||
|
Write-Host "Requested build platform: $BuildPlatform"
|
||||||
|
Write-Host "Requested configuration: $BuildConfiguration"
|
||||||
|
|
||||||
|
# Always use x64 PowerToys.DSC.exe since CI/CD machines are x64
|
||||||
|
$exePlatform = 'x64'
|
||||||
|
$exeRoot = Resolve-PlatformDirectory -Root $RepoRoot -Platform $exePlatform
|
||||||
|
$exeOutputDir = Join-Path $exeRoot $BuildConfiguration
|
||||||
|
$exePath = Join-Path $exeOutputDir 'PowerToys.DSC.exe'
|
||||||
|
|
||||||
|
Write-Host "Using x64 PowerToys.DSC.exe to generate DSC manifests for $BuildPlatform build"
|
||||||
|
|
||||||
|
if (-not (Test-Path $exePath)) {
|
||||||
|
throw "PowerToys.DSC.exe not found at '$exePath'. Make sure it has been built first."
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Using PowerToys.DSC.exe at '$exePath'."
|
||||||
|
|
||||||
|
# Output DSC manifests to the target build platform directory (x64, ARM64, etc.)
|
||||||
|
$outputRoot = Resolve-PlatformDirectory -Root $RepoRoot -Platform $BuildPlatform
|
||||||
|
if (-not (Test-Path $outputRoot)) {
|
||||||
|
Write-Host "Creating missing platform output root at '$outputRoot'."
|
||||||
|
New-Item -Path $outputRoot -ItemType Directory -Force | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
$outputDir = Join-Path $outputRoot $BuildConfiguration
|
||||||
|
if (-not (Test-Path $outputDir)) {
|
||||||
|
Write-Host "Creating missing configuration output directory at '$outputDir'."
|
||||||
|
New-Item -Path $outputDir -ItemType Directory -Force | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "DSC manifests will be generated to: '$outputDir'"
|
||||||
|
|
||||||
|
Write-Host "Cleaning previously generated DSC manifest files from '$outputDir'."
|
||||||
|
Get-ChildItem -Path $outputDir -Filter 'microsoft.powertoys.*.settings.dsc.resource.json' -ErrorAction SilentlyContinue | Remove-Item -Force
|
||||||
|
|
||||||
|
$arguments = @('manifest', '--resource', 'settings', '--outputDir', $outputDir)
|
||||||
|
Write-Host "Invoking DSC manifest generator: '$exePath' $($arguments -join ' ')"
|
||||||
|
& $exePath @arguments
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
throw "PowerToys.DSC.exe exited with code $LASTEXITCODE"
|
||||||
|
}
|
||||||
|
|
||||||
|
$generatedFiles = Get-ChildItem -Path $outputDir -Filter 'microsoft.powertoys.*.settings.dsc.resource.json' -ErrorAction Stop
|
||||||
|
if ($generatedFiles.Count -eq 0) {
|
||||||
|
throw "No DSC manifest files were generated in '$outputDir'."
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Generated $($generatedFiles.Count) DSC manifest file(s):"
|
||||||
|
foreach ($file in $generatedFiles) {
|
||||||
|
Write-Host " - $($file.FullName)"
|
||||||
|
}
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
$ProgressPreference = 'SilentlyContinue'
|
|
||||||
|
|
||||||
$WixDownloadUrl = "https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314.exe"
|
|
||||||
$WixBinariesDownloadUrl = "https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip"
|
|
||||||
|
|
||||||
# Download WiX binaries and verify their hash sums
|
|
||||||
Invoke-WebRequest -Uri $WixDownloadUrl -OutFile "$($ENV:Temp)\wix314.exe"
|
|
||||||
$Hash = (Get-FileHash -Algorithm SHA256 "$($ENV:Temp)\wix314.exe").Hash
|
|
||||||
if ($Hash -ne '6BF6D03D6923D9EF827AE1D943B90B42B8EBB1B0F68EF6D55F868FA34C738A29')
|
|
||||||
{
|
|
||||||
Write-Error "$WixHash"
|
|
||||||
throw "wix314.exe has unexpected SHA256 hash: $Hash"
|
|
||||||
}
|
|
||||||
Invoke-WebRequest -Uri $WixBinariesDownloadUrl -OutFile "$($ENV:Temp)\wix314-binaries.zip"
|
|
||||||
$Hash = (Get-FileHash -Algorithm SHA256 "$($ENV:Temp)\wix314-binaries.zip").Hash
|
|
||||||
if($Hash -ne '6AC824E1642D6F7277D0ED7EA09411A508F6116BA6FAE0AA5F2C7DAA2FF43D31')
|
|
||||||
{
|
|
||||||
throw "wix314-binaries.zip has unexpected SHA256 hash: $Hash"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Install WiX
|
|
||||||
Start-Process -Wait -FilePath "$($ENV:Temp)\wix314.exe" -ArgumentList "/install /quiet"
|
|
||||||
|
|
||||||
# Extract WiX binaries and copy wix.targets to the installed dir
|
|
||||||
Expand-Archive -Path "$($ENV:Temp)\wix314-binaries.zip" -Force -DestinationPath "$($ENV:Temp)"
|
|
||||||
Copy-Item -Path "$($ENV:Temp)\wix.targets" -Destination "C:\Program Files (x86)\WiX Toolset v3.14\"
|
|
||||||
@@ -29,8 +29,8 @@ steps:
|
|||||||
displayName: 'Touchdown Build - 37400, PRODEXT'
|
displayName: 'Touchdown Build - 37400, PRODEXT'
|
||||||
inputs:
|
inputs:
|
||||||
teamId: 37400
|
teamId: 37400
|
||||||
TDBuildServiceConnection: $(TouchdownServiceConnection)
|
FederatedIdentityTDBuildServiceConnection: $(TouchdownServiceConnection)
|
||||||
authType: SubjectNameIssuer
|
authType: FederatedIdentityTDBuild
|
||||||
resourceFilePath: |
|
resourceFilePath: |
|
||||||
src\**\Resources.resx
|
src\**\Resources.resx
|
||||||
src\**\Resource.resx
|
src\**\Resource.resx
|
||||||
|
|||||||
38
.pipelines/v2/ci-nightly.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# .pipelines/v2/nightly-prewarm.yml
|
||||||
|
# Nightly pre-warm that reuses your existing ci.yml as-is
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
# (18:00 UTC) — adjust as you like
|
||||||
|
schedules:
|
||||||
|
- cron: "0 18 * * *" # UTC
|
||||||
|
displayName: Nightly pre-warm (main)
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- main
|
||||||
|
always: true
|
||||||
|
|
||||||
|
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: buildPlatforms
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- x64
|
||||||
|
- arm64
|
||||||
|
- name: enableMsBuildCaching
|
||||||
|
type: boolean
|
||||||
|
displayName: "Enable MSBuild Caching"
|
||||||
|
default: true
|
||||||
|
- name: msBuildCacheIsReadOnly
|
||||||
|
type: boolean
|
||||||
|
displayName: "MSBuild Cache Read Only"
|
||||||
|
default: false
|
||||||
|
|
||||||
|
extends:
|
||||||
|
template: templates/pipeline-ci-build.yml
|
||||||
|
parameters:
|
||||||
|
buildPlatforms: ${{ parameters.buildPlatforms }}
|
||||||
|
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
|
||||||
|
msBuildCacheIsReadOnly: ${{ parameters.msBuildCacheIsReadOnly }}
|
||||||
@@ -20,11 +20,6 @@ parameters:
|
|||||||
type: string
|
type: string
|
||||||
default: '0.0.1'
|
default: '0.0.1'
|
||||||
|
|
||||||
- name: installerSuffix
|
|
||||||
type: string
|
|
||||||
displayName: "WiX5 installer suffix (e.g., 'wix5', 'vnext', etc.)"
|
|
||||||
default: "wix5"
|
|
||||||
|
|
||||||
- name: buildConfigurations
|
- name: buildConfigurations
|
||||||
displayName: "Build Configurations"
|
displayName: "Build Configurations"
|
||||||
type: object
|
type: object
|
||||||
@@ -43,11 +38,6 @@ parameters:
|
|||||||
displayName: "Build Using Visual Studio Preview"
|
displayName: "Build Using Visual Studio Preview"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
- name: enableAOT
|
|
||||||
type: boolean
|
|
||||||
displayName: "Enable AOT (Ahead-of-Time) Compilation for CmdPal"
|
|
||||||
default: true
|
|
||||||
|
|
||||||
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
|
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
@@ -109,8 +99,7 @@ extends:
|
|||||||
useManagedIdentity: $(SigningUseManagedIdentity)
|
useManagedIdentity: $(SigningUseManagedIdentity)
|
||||||
clientId: $(SigningOriginalClientId)
|
clientId: $(SigningOriginalClientId)
|
||||||
# Have msbuild use the release nuget config profile
|
# Have msbuild use the release nuget config profile
|
||||||
additionalBuildOptions: /p:RestoreConfigFile="$(Build.SourcesDirectory)\.pipelines\release-nuget.config" /p:EnableCmdPalAOT=${{ parameters.enableAOT }} /p:InstallerSuffix=${{ parameters.installerSuffix }}
|
additionalBuildOptions: /p:RestoreConfigFile="$(Build.SourcesDirectory)\.pipelines\release-nuget.config" /p:EnableCmdPalAOT=true
|
||||||
installerSuffix: ${{ parameters.installerSuffix }}
|
|
||||||
beforeBuildSteps:
|
beforeBuildSteps:
|
||||||
# Sets versions for all PowerToy created DLLs
|
# Sets versions for all PowerToy created DLLs
|
||||||
- pwsh: |-
|
- pwsh: |-
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ parameters:
|
|||||||
- name: enableMsBuildCaching
|
- name: enableMsBuildCaching
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
- name: msBuildCacheIsReadOnly
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
- name: runTests
|
- name: runTests
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
@@ -62,9 +65,6 @@ parameters:
|
|||||||
- name: versionNumber
|
- name: versionNumber
|
||||||
type: string
|
type: string
|
||||||
default: '0.0.1'
|
default: '0.0.1'
|
||||||
- name: installerSuffix
|
|
||||||
type: string
|
|
||||||
default: "wix5"
|
|
||||||
- name: useLatestWinAppSDK
|
- name: useLatestWinAppSDK
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
@@ -154,7 +154,11 @@ jobs:
|
|||||||
$MSBuildCacheParameters += " -reportfileaccesses"
|
$MSBuildCacheParameters += " -reportfileaccesses"
|
||||||
$MSBuildCacheParameters += " -p:MSBuildCacheEnabled=true"
|
$MSBuildCacheParameters += " -p:MSBuildCacheEnabled=true"
|
||||||
$MSBuildCacheParameters += " -p:MSBuildCacheLogDirectory=$(LogOutputDirectory)\MSBuildCacheLogs"
|
$MSBuildCacheParameters += " -p:MSBuildCacheLogDirectory=$(LogOutputDirectory)\MSBuildCacheLogs"
|
||||||
|
# Cache read-only policy controlled by parameter
|
||||||
|
$cacheIsReadOnly = "${{ parameters.msBuildCacheIsReadOnly }}"
|
||||||
|
if ($cacheIsReadOnly -eq "True") {
|
||||||
|
$MSBuildCacheParameters += " /p:MSBuildCacheRemoteCacheIsReadOnly=true"
|
||||||
|
}
|
||||||
Write-Host "MSBuildCacheParameters: $MSBuildCacheParameters"
|
Write-Host "MSBuildCacheParameters: $MSBuildCacheParameters"
|
||||||
Write-Host "##vso[task.setvariable variable=MSBuildCacheParameters]$MSBuildCacheParameters"
|
Write-Host "##vso[task.setvariable variable=MSBuildCacheParameters]$MSBuildCacheParameters"
|
||||||
displayName: Prepare MSBuildCache variables
|
displayName: Prepare MSBuildCache variables
|
||||||
@@ -233,9 +237,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
directory: $(build.sourcesdirectory)\src\modules\cmdpal
|
directory: $(build.sourcesdirectory)\src\modules\cmdpal
|
||||||
|
|
||||||
- pwsh: |-
|
|
||||||
& "$(build.sourcesdirectory)\.pipelines\installWiX.ps1"
|
|
||||||
displayName: Download and install WiX 3.14 development build
|
|
||||||
|
|
||||||
- ${{ parameters.beforeBuildSteps }}
|
- ${{ parameters.beforeBuildSteps }}
|
||||||
|
|
||||||
@@ -264,6 +266,23 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||||
|
|
||||||
|
# Build PowerToys.DSC.exe for ARM64 (x64 uses existing binary from previous build)
|
||||||
|
- task: VSBuild@1
|
||||||
|
displayName: Build PowerToys.DSC.exe (x64 for generating manifests)
|
||||||
|
condition: and(succeeded(), ne(variables['BuildPlatform'], 'x64'))
|
||||||
|
inputs:
|
||||||
|
solution: src/dsc/v3/PowerToys.DSC/PowerToys.DSC.csproj
|
||||||
|
msbuildArgs: /t:Build /m /restore
|
||||||
|
platform: x64
|
||||||
|
configuration: $(BuildConfiguration)
|
||||||
|
msbuildArchitecture: x64
|
||||||
|
maximumCpuCount: true
|
||||||
|
|
||||||
|
# Generate DSC manifests using PowerToys.DSC.exe
|
||||||
|
- pwsh: |-
|
||||||
|
& '.pipelines/generateDscManifests.ps1' -BuildPlatform '$(BuildPlatform)' -BuildConfiguration '$(BuildConfiguration)' -RepoRoot '$(Build.SourcesDirectory)'
|
||||||
|
displayName: Generate DSC manifests
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Stage SDK/build
|
displayName: Stage SDK/build
|
||||||
inputs:
|
inputs:
|
||||||
@@ -412,9 +431,28 @@ jobs:
|
|||||||
!**\obj\**
|
!**\obj\**
|
||||||
|
|
||||||
- pwsh: |-
|
- pwsh: |-
|
||||||
$Package = (Get-ChildItem -Recurse -Filter "Microsoft.CmdPal.UI_*.msix" | Select -First 1)
|
$Packages = Get-ChildItem -Recurse -Filter "Microsoft.CmdPal.UI_*.msix"
|
||||||
$PackageFilename = $Package.FullName
|
Write-Host "Found $($Packages.Count) CmdPal MSIX package(s):"
|
||||||
Write-Host "##vso[task.setvariable variable=CmdPalPackagePath]${PackageFilename}"
|
foreach ($pkg in $Packages) {
|
||||||
|
Write-Host " - $($pkg.FullName)"
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($Packages.Count -gt 0) {
|
||||||
|
# Priority: Look for platform-specific MSIX (x64/arm64) first, then fall back to any
|
||||||
|
$PlatformPackage = $Packages | Where-Object { $_.Name -match "Microsoft\.CmdPal\.UI_.*_(x64|arm64)\.msix$" } | Select-Object -First 1
|
||||||
|
if ($PlatformPackage) {
|
||||||
|
$Package = $PlatformPackage
|
||||||
|
Write-Host "Using platform-specific package: $($Package.FullName)"
|
||||||
|
} else {
|
||||||
|
$Package = $Packages | Select-Object -First 1
|
||||||
|
Write-Host "Using first available package: $($Package.FullName)"
|
||||||
|
}
|
||||||
|
|
||||||
|
$PackageFilename = $Package.FullName
|
||||||
|
Write-Host "##vso[task.setvariable variable=CmdPalPackagePath]${PackageFilename}"
|
||||||
|
} else {
|
||||||
|
Write-Warning "No CmdPal MSIX packages found!"
|
||||||
|
}
|
||||||
displayName: Locate the CmdPal MSIX
|
displayName: Locate the CmdPal MSIX
|
||||||
|
|
||||||
- ${{ if eq(parameters.codeSign, true) }}:
|
- ${{ if eq(parameters.codeSign, true) }}:
|
||||||
@@ -465,20 +503,7 @@ jobs:
|
|||||||
Copy-Item -Verbose -Force "$(CmdPalPackagePath)" "$(JobOutputDirectory)"
|
Copy-Item -Verbose -Force "$(CmdPalPackagePath)" "$(JobOutputDirectory)"
|
||||||
displayName: Stage the final CmdPal package
|
displayName: Stage the final CmdPal package
|
||||||
|
|
||||||
- template: steps-build-installer.yml
|
|
||||||
parameters:
|
|
||||||
codeSign: ${{ parameters.codeSign }}
|
|
||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
|
||||||
versionNumber: ${{ parameters.versionNumber }}
|
|
||||||
additionalBuildOptions: ${{ parameters.additionalBuildOptions }}
|
|
||||||
|
|
||||||
- template: steps-build-installer.yml
|
|
||||||
parameters:
|
|
||||||
codeSign: ${{ parameters.codeSign }}
|
|
||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
|
||||||
versionNumber: ${{ parameters.versionNumber }}
|
|
||||||
additionalBuildOptions: ${{ parameters.additionalBuildOptions }}
|
|
||||||
buildUserInstaller: true # NOTE: This is the distinction between the above and below rules
|
|
||||||
|
|
||||||
- template: steps-build-installer-vnext.yml
|
- template: steps-build-installer-vnext.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -486,7 +511,6 @@ jobs:
|
|||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
signingIdentity: ${{ parameters.signingIdentity }}
|
||||||
versionNumber: ${{ parameters.versionNumber }}
|
versionNumber: ${{ parameters.versionNumber }}
|
||||||
additionalBuildOptions: ${{ parameters.additionalBuildOptions }}
|
additionalBuildOptions: ${{ parameters.additionalBuildOptions }}
|
||||||
installerSuffix: ${{ parameters.installerSuffix }}
|
|
||||||
|
|
||||||
- template: steps-build-installer-vnext.yml
|
- template: steps-build-installer-vnext.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -494,7 +518,6 @@ jobs:
|
|||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
signingIdentity: ${{ parameters.signingIdentity }}
|
||||||
versionNumber: ${{ parameters.versionNumber }}
|
versionNumber: ${{ parameters.versionNumber }}
|
||||||
additionalBuildOptions: ${{ parameters.additionalBuildOptions }}
|
additionalBuildOptions: ${{ parameters.additionalBuildOptions }}
|
||||||
installerSuffix: ${{ parameters.installerSuffix }}
|
|
||||||
buildUserInstaller: true # NOTE: This is the distinction between the above and below rules
|
buildUserInstaller: true # NOTE: This is the distinction between the above and below rules
|
||||||
|
|
||||||
# This saves ~1GiB per architecture. We won't need these later.
|
# This saves ~1GiB per architecture. We won't need these later.
|
||||||
@@ -521,29 +544,29 @@ jobs:
|
|||||||
flattenFolders: True
|
flattenFolders: True
|
||||||
targetFolder: $(JobOutputDirectory)
|
targetFolder: $(JobOutputDirectory)
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- pwsh: |-
|
||||||
displayName: Stage Symbols
|
$Symbols = Get-ChildItem "$(BuildPlatform)" -Recurse -Filter *.pdb -Exclude "vc143.pdb","*test*.pdb" |
|
||||||
inputs:
|
Group-Object Name | ForEach-Object { $_.Group[0] }
|
||||||
contents: |-
|
$OutDir = "$(JobOutputDirectory)/symbols-$(BuildPlatform)"
|
||||||
**\*.pdb
|
New-Item -Type Directory $OutDir -EA:Ignore
|
||||||
!**\vc143.pdb
|
Write-Host "Linking $($Symbols.Length) symbols into place at $OutDir"
|
||||||
!**\*test*.pdb
|
ForEach($s in $Symbols) {
|
||||||
flattenFolders: True
|
New-Item -Type HardLink -Target $s.FullName (Join-Path $OutDir $s.Name)
|
||||||
targetFolder: $(JobOutputDirectory)/symbols-$(BuildPlatform)/
|
}
|
||||||
|
displayName: Stage Unique Symbols (as hard links)
|
||||||
|
|
||||||
- pwsh: |-
|
- pwsh: |-
|
||||||
$p = "$(JobOutputDirectory)\"
|
$p = "$(JobOutputDirectory)\"
|
||||||
$installerSuffix = "${{ parameters.installerSuffix }}"
|
|
||||||
|
|
||||||
# Calculate hashes for regular installers (without custom suffix)
|
# Calculate hashes for installers
|
||||||
$userSetupFiles = Get-ChildItem -Path $p -Filter "PowerToysUserSetup*.exe" | Where-Object { $_.Name -notmatch "-$installerSuffix-" }
|
$userSetupFiles = Get-ChildItem -Path $p -Filter "PowerToysUserSetup*.exe"
|
||||||
$machineSetupFiles = Get-ChildItem -Path $p -Filter "PowerToysSetup*.exe" | Where-Object { $_.Name -notmatch "-$installerSuffix-" -and $_.Name -notmatch "PowerToysUserSetup" }
|
$machineSetupFiles = Get-ChildItem -Path $p -Filter "PowerToysSetup*.exe" | Where-Object { $_.Name -notmatch "PowerToysUserSetup" }
|
||||||
|
|
||||||
if ($userSetupFiles.Count -gt 0) {
|
if ($userSetupFiles.Count -gt 0) {
|
||||||
$userHash = ($userSetupFiles[0] | Get-FileHash).Hash;
|
$userHash = ($userSetupFiles[0] | Get-FileHash).Hash;
|
||||||
$userPlat = "hash_user_$(BuildPlatform).txt";
|
$userPlat = "hash_user_$(BuildPlatform).txt";
|
||||||
$combinedUserPath = $p + $userPlat;
|
$combinedUserPath = $p + $userPlat;
|
||||||
echo "Regular User: $userHash"
|
echo "User: $userHash"
|
||||||
$userHash | out-file -filepath $combinedUserPath
|
$userHash | out-file -filepath $combinedUserPath
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -551,48 +574,37 @@ jobs:
|
|||||||
$machineHash = ($machineSetupFiles[0] | Get-FileHash).Hash;
|
$machineHash = ($machineSetupFiles[0] | Get-FileHash).Hash;
|
||||||
$machinePlat = "hash_machine_$(BuildPlatform).txt";
|
$machinePlat = "hash_machine_$(BuildPlatform).txt";
|
||||||
$combinedMachinePath = $p + $machinePlat;
|
$combinedMachinePath = $p + $machinePlat;
|
||||||
echo "Regular Machine: $machineHash"
|
echo "Machine: $machineHash"
|
||||||
$machineHash | out-file -filepath $combinedMachinePath
|
$machineHash | out-file -filepath $combinedMachinePath
|
||||||
}
|
}
|
||||||
|
|
||||||
# Calculate hashes for VNext installers (with custom suffix)
|
|
||||||
$userVNextFiles = Get-ChildItem -Path $p -Filter "PowerToysUserSetup*-$installerSuffix-*.exe"
|
|
||||||
$machineVNextFiles = Get-ChildItem -Path $p -Filter "PowerToysSetup*-$installerSuffix-*.exe" | Where-Object { $_.Name -notmatch "PowerToysUserSetup" }
|
|
||||||
|
|
||||||
if ($userVNextFiles.Count -gt 0) {
|
|
||||||
$userVNextHash = ($userVNextFiles[0] | Get-FileHash).Hash;
|
|
||||||
$userVNextPlat = "hash_user_vnext_$(BuildPlatform).txt";
|
|
||||||
$combinedUserVNextPath = $p + $userVNextPlat;
|
|
||||||
echo "VNext User: $userVNextHash"
|
|
||||||
$userVNextHash | out-file -filepath $combinedUserVNextPath
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($machineVNextFiles.Count -gt 0) {
|
|
||||||
$machineVNextHash = ($machineVNextFiles[0] | Get-FileHash).Hash;
|
|
||||||
$machineVNextPlat = "hash_machine_vnext_$(BuildPlatform).txt";
|
|
||||||
$combinedMachineVNextPath = $p + $machineVNextPlat;
|
|
||||||
echo "VNext Machine: $machineVNextHash"
|
|
||||||
$machineVNextHash | out-file -filepath $combinedMachineVNextPath
|
|
||||||
}
|
|
||||||
displayName: Calculate file hashes for all installers
|
displayName: Calculate file hashes for all installers
|
||||||
|
|
||||||
# Publishing the GPO files
|
# Publishing the GPO files
|
||||||
- pwsh: |-
|
- pwsh: |-
|
||||||
New-Item "$(JobOutputDirectory)/gpo" -Type Directory
|
$GpoArchive = "$(JobOutputDirectory)\GroupPolicyObjectFiles-${{ parameters.versionNumber }}.zip"
|
||||||
Copy-Item src\gpo\assets\* "$(JobOutputDirectory)/gpo" -Recurse
|
tar -c -v --format=zip -C .\src\gpo\assets -f $GpoArchive *
|
||||||
displayName: Stage GPO files
|
displayName: Stage GPO files
|
||||||
|
|
||||||
# Running the tests may result in future jobs consuming artifacts out of this build
|
|
||||||
- ${{ if or(eq(parameters.runTests, true), eq(parameters.buildTests, true)) }}:
|
- ${{ if or(eq(parameters.runTests, true), eq(parameters.buildTests, true)) }}:
|
||||||
- task: CopyFiles@2
|
# Running the tests may result in future jobs consuming artifacts out of this build
|
||||||
displayName: Stage entire build output
|
# Instead of running an expensive file copy step, move everything over since the build is totally done.
|
||||||
inputs:
|
- pwsh: |-
|
||||||
sourceFolder: '$(Build.SourcesDirectory)'
|
# It seems weird, but this is for compatibility. Our artifacts historically contained the folder x64/Release/x64/Release (for example).
|
||||||
contents: '$(BuildPlatform)/$(BuildConfiguration)/**/*'
|
$FinalOutputRoot = "$(JobOutputDirectory)\$(BuildPlatform)\$(BuildConfiguration)\$(BuildPlatform)"
|
||||||
targetFolder: '$(JobOutputDirectory)\$(BuildPlatform)\$(BuildConfiguration)'
|
$ProjectBuildRoot = "$(Build.SourcesDirectory)\$(BuildPlatform)"
|
||||||
|
$ProjectBuildDirectory = "$ProjectBuildRoot\$(BuildConfiguration)"
|
||||||
|
|
||||||
|
New-Item -Type Directory $FinalOutputRoot -EA:Ignore
|
||||||
|
Move-Item $ProjectBuildDirectory $FinalOutputRoot
|
||||||
|
displayName: Move entire output directory into artifacts
|
||||||
|
|
||||||
- ${{ if eq(parameters.publishArtifacts, true) }}:
|
- ${{ if eq(parameters.publishArtifacts, true) }}:
|
||||||
- publish: $(JobOutputDirectory)
|
- publish: $(JobOutputDirectory)
|
||||||
artifact: $(JobOutputArtifactName)
|
artifact: $(JobOutputArtifactName)
|
||||||
displayName: Publish all outputs
|
displayName: Publish all outputs
|
||||||
condition: always()
|
condition: succeeded()
|
||||||
|
|
||||||
|
- publish: $(JobOutputDirectory)
|
||||||
|
artifact: $(JobOutputArtifactName)-failure-$(System.JobAttempt)
|
||||||
|
displayName: Publish failure logs
|
||||||
|
condition: or(failed(), canceled())
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ parameters:
|
|||||||
- name: enableMsBuildCaching
|
- name: enableMsBuildCaching
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
- name: msBuildCacheIsReadOnly
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
- name: runTests
|
- name: runTests
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
@@ -52,6 +55,7 @@ stages:
|
|||||||
buildConfigurations: [Release]
|
buildConfigurations: [Release]
|
||||||
enablePackageCaching: true
|
enablePackageCaching: true
|
||||||
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
|
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
|
||||||
|
msBuildCacheIsReadOnly: ${{ parameters.msBuildCacheIsReadOnly }}
|
||||||
runTests: ${{ parameters.runTests }}
|
runTests: ${{ parameters.runTests }}
|
||||||
useVSPreview: ${{ parameters.useVSPreview }}
|
useVSPreview: ${{ parameters.useVSPreview }}
|
||||||
useLatestWinAppSDK: ${{ parameters.useLatestWinAppSDK }}
|
useLatestWinAppSDK: ${{ parameters.useLatestWinAppSDK }}
|
||||||
|
|||||||
@@ -14,9 +14,6 @@ parameters:
|
|||||||
- name: additionalBuildOptions
|
- name: additionalBuildOptions
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: installerSuffix
|
|
||||||
type: string
|
|
||||||
default: "wix5"
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Install WiX 5.0.2 tools needed for VNext installer (matching project SDK)
|
# Install WiX 5.0.2 tools needed for VNext installer (matching project SDK)
|
||||||
@@ -41,10 +38,10 @@ steps:
|
|||||||
# VNext bundle folder; base name intentionally omits the VNext suffix
|
# VNext bundle folder; base name intentionally omits the VNext suffix
|
||||||
$InstallerFolder = 'PowerToysSetupVNext'
|
$InstallerFolder = 'PowerToysSetupVNext'
|
||||||
if ($IsPerUser) {
|
if ($IsPerUser) {
|
||||||
$InstallerBasename = "PowerToysUserSetup-${{ parameters.versionNumber }}-${{ parameters.installerSuffix }}-$(BuildPlatform)"
|
$InstallerBasename = "PowerToysUserSetup-${{ parameters.versionNumber }}-$(BuildPlatform)"
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$InstallerBasename = "PowerToysSetup-${{ parameters.versionNumber }}-${{ parameters.installerSuffix }}-$(BuildPlatform)"
|
$InstallerBasename = "PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform)"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Export variables for downstream steps
|
# Export variables for downstream steps
|
||||||
@@ -63,7 +60,6 @@ steps:
|
|||||||
msbuildArgs: >-
|
msbuildArgs: >-
|
||||||
/t:PowerToysSetupCustomActionsVNext
|
/t:PowerToysSetupCustomActionsVNext
|
||||||
/p:RunBuildEvents=true;PerUser=${{parameters.buildUserInstaller}};RestorePackagesConfig=true;CIBuild=true
|
/p:RunBuildEvents=true;PerUser=${{parameters.buildUserInstaller}};RestorePackagesConfig=true;CIBuild=true
|
||||||
/p:InstallerSuffix=${{ parameters.installerSuffix }}
|
|
||||||
-restore -graph
|
-restore -graph
|
||||||
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-actions.binlog
|
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-actions.binlog
|
||||||
${{ parameters.additionalBuildOptions }}
|
${{ parameters.additionalBuildOptions }}
|
||||||
@@ -95,7 +91,6 @@ steps:
|
|||||||
-restore
|
-restore
|
||||||
/t:PowerToysInstallerVNext
|
/t:PowerToysInstallerVNext
|
||||||
/p:RunBuildEvents=false;PerUser=${{parameters.buildUserInstaller}};BuildProjectReferences=false;CIBuild=true
|
/p:RunBuildEvents=false;PerUser=${{parameters.buildUserInstaller}};BuildProjectReferences=false;CIBuild=true
|
||||||
/p:InstallerSuffix=${{ parameters.installerSuffix }}
|
|
||||||
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-msi.binlog
|
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-msi.binlog
|
||||||
${{ parameters.additionalBuildOptions }}
|
${{ parameters.additionalBuildOptions }}
|
||||||
platform: $(BuildPlatform)
|
platform: $(BuildPlatform)
|
||||||
@@ -132,6 +127,38 @@ steps:
|
|||||||
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
||||||
|
|
||||||
#### END MSI
|
#### END MSI
|
||||||
|
|
||||||
|
#### BUILDING AND SIGNING SilentFilesInUseBAFunction DLL
|
||||||
|
- task: VSBuild@1
|
||||||
|
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Build SilentFilesInUseBAFunction
|
||||||
|
inputs:
|
||||||
|
solution: "**/installer/PowerToysSetup.sln"
|
||||||
|
vsVersion: 17.0
|
||||||
|
msbuildArgs: >-
|
||||||
|
/t:SilentFilesInUseBAFunction
|
||||||
|
/p:RunBuildEvents=true;PerUser=${{parameters.buildUserInstaller}};RestorePackagesConfig=true;CIBuild=true
|
||||||
|
-restore -graph
|
||||||
|
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-SilentFilesInUseBAFunction.binlog
|
||||||
|
${{ parameters.additionalBuildOptions }}
|
||||||
|
platform: $(BuildPlatform)
|
||||||
|
configuration: $(BuildConfiguration)
|
||||||
|
clean: false # don't undo our hard work above by deleting the msi
|
||||||
|
msbuildArchitecture: x64
|
||||||
|
maximumCpuCount: true
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.codeSign, true) }}:
|
||||||
|
- template: steps-esrp-signing.yml
|
||||||
|
parameters:
|
||||||
|
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Sign SilentFilesInUseBAFunction
|
||||||
|
signingIdentity: ${{ parameters.signingIdentity }}
|
||||||
|
inputs:
|
||||||
|
FolderPath: 'installer/$(BuildPlatform)/$(BuildConfiguration)'
|
||||||
|
signType: batchSigning
|
||||||
|
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
||||||
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
||||||
|
|
||||||
|
#### END BUILDING AND SIGNING SilentFilesInUseBAFunction DLL
|
||||||
|
|
||||||
#### BOOTSTRAP BUILDING AND SIGNING
|
#### BOOTSTRAP BUILDING AND SIGNING
|
||||||
- task: VSBuild@1
|
- task: VSBuild@1
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Build VNext Bootstrapper
|
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Build VNext Bootstrapper
|
||||||
@@ -142,13 +169,12 @@ steps:
|
|||||||
-restore
|
-restore
|
||||||
/t:PowerToysBootstrapperVNext
|
/t:PowerToysBootstrapperVNext
|
||||||
/p:PerUser=${{parameters.buildUserInstaller}};CIBuild=true
|
/p:PerUser=${{parameters.buildUserInstaller}};CIBuild=true
|
||||||
/p:InstallerSuffix=${{ parameters.installerSuffix }}
|
|
||||||
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-bootstrapper.binlog
|
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-bootstrapper.binlog
|
||||||
-restore -graph
|
-restore -graph
|
||||||
${{ parameters.additionalBuildOptions }}
|
${{ parameters.additionalBuildOptions }}
|
||||||
platform: $(BuildPlatform)
|
platform: $(BuildPlatform)
|
||||||
configuration: $(BuildConfiguration)
|
configuration: $(BuildConfiguration)
|
||||||
clean: false # don't undo our hard work above by deleting the MSI
|
clean: false # don't undo our hard work above by deleting the MSI nor SilentFilesInUseBAFunction
|
||||||
msbuildArchitecture: x64
|
msbuildArchitecture: x64
|
||||||
maximumCpuCount: true
|
maximumCpuCount: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,208 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: versionNumber
|
|
||||||
type: string
|
|
||||||
default: "0.0.1"
|
|
||||||
- name: buildUserInstaller
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: codeSign
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: signingIdentity
|
|
||||||
type: object
|
|
||||||
default: {}
|
|
||||||
- name: additionalBuildOptions
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- pwsh: |-
|
|
||||||
& git clean -xfd -e *exe -- .\installer\
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Clean installer to reduce cross-contamination
|
|
||||||
|
|
||||||
- pwsh: |-
|
|
||||||
$IsPerUser = $${{ parameters.buildUserInstaller }}
|
|
||||||
$InstallerBuildSlug = "MachineSetup"
|
|
||||||
$InstallerBasename = "PowerToysSetup"
|
|
||||||
If($IsPerUser) {
|
|
||||||
$InstallerBuildSlug = "UserSetup"
|
|
||||||
$InstallerBasename = "PowerToysUserSetup"
|
|
||||||
}
|
|
||||||
$InstallerBasename += "-${{ parameters.versionNumber }}-$(BuildPlatform)"
|
|
||||||
Write-Host "##vso[task.setvariable variable=InstallerBuildSlug]$InstallerBuildSlug"
|
|
||||||
Write-Host "##vso[task.setvariable variable=InstallerRelativePath]$(BuildPlatform)\$(BuildConfiguration)\$InstallerBuildSlug"
|
|
||||||
Write-Host "##vso[task.setvariable variable=InstallerBasename]$InstallerBasename"
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Prepare Installer variables
|
|
||||||
|
|
||||||
# This dll needs to be built and signed before building the MSI.
|
|
||||||
- task: VSBuild@1
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Build PowerToysSetupCustomActions
|
|
||||||
inputs:
|
|
||||||
solution: "**/installer/PowerToysSetup.sln"
|
|
||||||
vsVersion: 17.0
|
|
||||||
msbuildArgs: >-
|
|
||||||
/t:PowerToysSetupCustomActions
|
|
||||||
/p:RunBuildEvents=true;PerUser=${{parameters.buildUserInstaller}};RestorePackagesConfig=true;CIBuild=true
|
|
||||||
-restore -graph
|
|
||||||
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-actions.binlog
|
|
||||||
${{ parameters.additionalBuildOptions }}
|
|
||||||
platform: $(BuildPlatform)
|
|
||||||
configuration: $(BuildConfiguration)
|
|
||||||
clean: true
|
|
||||||
msbuildArchitecture: x64
|
|
||||||
maximumCpuCount: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.codeSign, true) }}:
|
|
||||||
- template: steps-esrp-signing.yml
|
|
||||||
parameters:
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Sign PowerToysSetupCustomActions
|
|
||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
|
||||||
inputs:
|
|
||||||
FolderPath: 'installer/PowerToysSetupCustomActions/$(InstallerRelativePath)'
|
|
||||||
signType: batchSigning
|
|
||||||
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
|
||||||
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
||||||
|
|
||||||
## INSTALLER START
|
|
||||||
#### MSI BUILDING AND SIGNING
|
|
||||||
- task: VSBuild@1
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Build MSI
|
|
||||||
inputs:
|
|
||||||
solution: "**/installer/PowerToysSetup.sln"
|
|
||||||
vsVersion: 17.0
|
|
||||||
msbuildArgs: >-
|
|
||||||
-restore
|
|
||||||
/t:PowerToysInstaller
|
|
||||||
/p:RunBuildEvents=false;PerUser=${{parameters.buildUserInstaller}};BuildProjectReferences=false;CIBuild=true
|
|
||||||
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-msi.binlog
|
|
||||||
${{ parameters.additionalBuildOptions }}
|
|
||||||
platform: $(BuildPlatform)
|
|
||||||
configuration: $(BuildConfiguration)
|
|
||||||
clean: false # don't undo our hard work above by deleting the CustomActions dll
|
|
||||||
msbuildArchitecture: x64
|
|
||||||
maximumCpuCount: true
|
|
||||||
|
|
||||||
- script: |-
|
|
||||||
"C:\Program Files (x86)\WiX Toolset v3.14\bin\dark.exe" -x $(build.sourcesdirectory)\extractedMsi installer\PowerToysSetup\$(InstallerRelativePath)\$(InstallerBasename).msi
|
|
||||||
dir $(build.sourcesdirectory)\extractedMsi
|
|
||||||
displayName: "${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Extract and verify MSI"
|
|
||||||
|
|
||||||
# Extract CmdPal msix package to check if its content is signed
|
|
||||||
- pwsh: |-
|
|
||||||
Write-Host "Extracting CmdPal MSIX package"
|
|
||||||
|
|
||||||
# Define the directory to search
|
|
||||||
$searchDir = "extractedMsi\File"
|
|
||||||
|
|
||||||
# Define the regex pattern for MSIX files
|
|
||||||
$pattern = '^Microsoft.CmdPal.UI.*\.msix$'
|
|
||||||
|
|
||||||
# Get all files in the directory and subdirectories
|
|
||||||
$msixFile = Get-ChildItem -Path $searchDir -Recurse -File | Where-Object {
|
|
||||||
$_.Name -match $pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "MSIX file found: " $msixFile
|
|
||||||
|
|
||||||
$destinationDir = "$(build.sourcesdirectory)\extractedMsi\File\extractedCmdPalMsix"
|
|
||||||
|
|
||||||
Expand-Archive -Path $msixFile -DestinationPath $destinationDir
|
|
||||||
Get-ChildItem -Path $destinationDir -Recurse -File
|
|
||||||
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Extract CmdPal MSIX package
|
|
||||||
|
|
||||||
# Check if deps.json files don't reference different dll versions.
|
|
||||||
- pwsh: |-
|
|
||||||
& '.pipelines/verifyDepsJsonLibraryVersions.ps1' -targetDir '$(build.sourcesdirectory)\extractedMsi\File'
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Audit deps.json in MSI extracted files
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.codeSign, true) }}:
|
|
||||||
- pwsh: |-
|
|
||||||
& .pipelines/versionAndSignCheck.ps1 -targetDir '$(build.sourcesdirectory)\extractedMsi\File'
|
|
||||||
& .pipelines/versionAndSignCheck.ps1 -targetDir '$(build.sourcesdirectory)\extractedMsi\Binary'
|
|
||||||
git clean -xfd ./extractedMsi
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Verify all binaries are signed and versioned
|
|
||||||
|
|
||||||
- template: steps-esrp-signing.yml
|
|
||||||
parameters:
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Sign MSI
|
|
||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
|
||||||
inputs:
|
|
||||||
FolderPath: 'installer/PowerToysSetup/$(InstallerRelativePath)'
|
|
||||||
signType: batchSigning
|
|
||||||
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
|
||||||
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
||||||
|
|
||||||
#### END MSI
|
|
||||||
#### BOOTSTRAP BUILDING AND SIGNING
|
|
||||||
|
|
||||||
- task: VSBuild@1
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Build Bootstrapper
|
|
||||||
inputs:
|
|
||||||
solution: "**/installer/PowerToysSetup.sln"
|
|
||||||
vsVersion: 17.0
|
|
||||||
msbuildArgs: >-
|
|
||||||
/t:PowerToysBootstrapper
|
|
||||||
/p:PerUser=${{parameters.buildUserInstaller}};CIBuild=true
|
|
||||||
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-bootstrapper.binlog
|
|
||||||
-restore -graph
|
|
||||||
${{ parameters.additionalBuildOptions }}
|
|
||||||
platform: $(BuildPlatform)
|
|
||||||
configuration: $(BuildConfiguration)
|
|
||||||
clean: false # don't undo our hard work above by deleting the MSI
|
|
||||||
msbuildArchitecture: x64
|
|
||||||
maximumCpuCount: true
|
|
||||||
|
|
||||||
# The entirety of bundle unpacking/re-packing is unnecessary if we are not code signing it.
|
|
||||||
- ${{ if eq(parameters.codeSign, true) }}:
|
|
||||||
- script: |-
|
|
||||||
"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ib installer\PowerToysSetup\$(InstallerRelativePath)\$(InstallerBasename).exe -o installer\engine.exe
|
|
||||||
displayName: "${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Insignia: Extract Engine from Bundle"
|
|
||||||
|
|
||||||
- template: steps-esrp-signing.yml
|
|
||||||
parameters:
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Sign WiX Engine
|
|
||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
|
||||||
inputs:
|
|
||||||
FolderPath: "installer"
|
|
||||||
Pattern: engine.exe
|
|
||||||
signConfigType: inlineSignParams
|
|
||||||
inlineOperation: |
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"KeyCode": "CP-230012",
|
|
||||||
"OperationCode": "SigntoolSign",
|
|
||||||
"Parameters": {
|
|
||||||
"OpusName": "Microsoft",
|
|
||||||
"OpusInfo": "http://www.microsoft.com",
|
|
||||||
"FileDigest": "/fd \"SHA256\"",
|
|
||||||
"PageHash": "/NPH",
|
|
||||||
"TimeStamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
|
||||||
},
|
|
||||||
"ToolName": "sign",
|
|
||||||
"ToolVersion": "1.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"KeyCode": "CP-230012",
|
|
||||||
"OperationCode": "SigntoolVerify",
|
|
||||||
"Parameters": {},
|
|
||||||
"ToolName": "sign",
|
|
||||||
"ToolVersion": "1.0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
- script: |-
|
|
||||||
"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ab installer\engine.exe installer\PowerToysSetup\$(InstallerRelativePath)\$(InstallerBasename).exe -o installer\PowerToysSetup\$(InstallerRelativePath)\$(InstallerBasename).exe
|
|
||||||
displayName: "${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Insignia: Merge Engine into Bundle"
|
|
||||||
|
|
||||||
- template: steps-esrp-signing.yml
|
|
||||||
parameters:
|
|
||||||
displayName: ${{replace(replace(parameters.buildUserInstaller,'True','👤'),'False','💻')}} Sign Final Bootstrapper
|
|
||||||
signingIdentity: ${{ parameters.signingIdentity }}
|
|
||||||
inputs:
|
|
||||||
FolderPath: 'installer/PowerToysSetup/$(InstallerRelativePath)'
|
|
||||||
signType: batchSigning
|
|
||||||
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
|
||||||
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
||||||
#### END BOOTSTRAP
|
|
||||||
## END INSTALLER
|
|
||||||
@@ -8,8 +8,8 @@ steps:
|
|||||||
displayName: 'Download Localization Files -- PowerToys 37400'
|
displayName: 'Download Localization Files -- PowerToys 37400'
|
||||||
inputs:
|
inputs:
|
||||||
teamId: 37400
|
teamId: 37400
|
||||||
TDBuildServiceConnection: $(TouchdownServiceConnection)
|
FederatedIdentityTDBuildServiceConnection: $(TouchdownServiceConnection)
|
||||||
authType: SubjectNameIssuer
|
authType: FederatedIdentityTDBuild
|
||||||
resourceFilePath: |
|
resourceFilePath: |
|
||||||
**\Resources.resx
|
**\Resources.resx
|
||||||
**\Resource.resx
|
**\Resource.resx
|
||||||
|
|||||||
@@ -39,6 +39,14 @@ foreach ($csprojFile in $csprojFilesArray) {
|
|||||||
if ($csprojFile -like '*TemplateCmdPalExtension.csproj') {
|
if ($csprojFile -like '*TemplateCmdPalExtension.csproj') {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# The CmdPal.Core projects use a common shared props file, so skip them
|
||||||
|
if ($csprojFile -like '*Microsoft.CmdPal.Core.*.csproj') {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if ($csprojFile -like '*Microsoft.CmdPal.Ext.Shell.csproj') {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
$importExists = Test-ImportSharedCsWinRTProps -filePath $csprojFile
|
$importExists = Test-ImportSharedCsWinRTProps -filePath $csprojFile
|
||||||
if (!$importExists) {
|
if (!$importExists) {
|
||||||
|
|||||||
43
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"id": "arch",
|
||||||
|
"type": "pickString",
|
||||||
|
"description": "Select target architecture",
|
||||||
|
"options": ["x64", "arm64"],
|
||||||
|
"default": "x64"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Run native executable (no build)",
|
||||||
|
"type": "cppvsdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}\\${input:arch}\\Debug\\PowerToys.exe",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"environment": [],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C/C++ Attach to PowerToys Process (native)",
|
||||||
|
"type": "cppvsdbg",
|
||||||
|
"request": "attach",
|
||||||
|
"processId": "${command:pickProcess}",
|
||||||
|
"symbolSearchPath": "${workspaceFolder}\\${input:arch}\\Debug;${workspaceFolder}\\Debug;${workspaceFolder}\\symbols"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Run managed code (managed, no build, ARCH configurable)",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}\\${input:arch}\\Debug\\WinUI3Apps\\PowerToys.Settings.exe",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"env": {},
|
||||||
|
"console": "internalConsole",
|
||||||
|
"stopAtEntry": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -30,7 +30,6 @@
|
|||||||
<_PropertySheetDisplayName>PowerToys.Root.Props</_PropertySheetDisplayName>
|
<_PropertySheetDisplayName>PowerToys.Root.Props</_PropertySheetDisplayName>
|
||||||
<ForceImportBeforeCppProps>$(MsbuildThisFileDirectory)\Cpp.Build.props</ForceImportBeforeCppProps>
|
<ForceImportBeforeCppProps>$(MsbuildThisFileDirectory)\Cpp.Build.props</ForceImportBeforeCppProps>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'">
|
<ItemGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'">
|
||||||
<PackageReference Include="StyleCop.Analyzers">
|
<PackageReference Include="StyleCop.Analyzers">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
|||||||
@@ -3,4 +3,9 @@
|
|||||||
|
|
||||||
<Import Project="$(MSBuildCachePackageRoot)\build\$(MSBuildCachePackageName).targets" Condition="'$(MSBuildCacheEnabled)' == 'true'" />
|
<Import Project="$(MSBuildCachePackageRoot)\build\$(MSBuildCachePackageName).targets" Condition="'$(MSBuildCacheEnabled)' == 'true'" />
|
||||||
<Import Project="$(MSBuildCacheSharedCompilationPackageRoot)\build\Microsoft.MSBuildCache.SharedCompilation.targets" Condition="'$(MSBuildCacheEnabled)' == 'true'" />
|
<Import Project="$(MSBuildCacheSharedCompilationPackageRoot)\build\Microsoft.MSBuildCache.SharedCompilation.targets" Condition="'$(MSBuildCacheEnabled)' == 'true'" />
|
||||||
|
|
||||||
|
<!-- Override ManifestTool to the x64 host tool under WindowsSdkDir for all projects once the SDK path is known. -->
|
||||||
|
<PropertyGroup Label="ManifestToolOverride">
|
||||||
|
<ManifestTool Condition="Exists('$(WindowsSdkDir)bin\x64\mt.exe')">$(WindowsSdkDir)bin\x64\mt.exe</ManifestTool>
|
||||||
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||||
|
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageVersion Include="AdaptiveCards.ObjectModel.WinUI3" Version="2.0.0-beta" />
|
<PackageVersion Include="AdaptiveCards.ObjectModel.WinUI3" Version="2.0.0-beta" />
|
||||||
@@ -21,11 +22,11 @@
|
|||||||
<PackageVersion Include="CommunityToolkit.WinUI.Converters" Version="8.2.250402" />
|
<PackageVersion Include="CommunityToolkit.WinUI.Converters" Version="8.2.250402" />
|
||||||
<PackageVersion Include="CommunityToolkit.WinUI.Extensions" Version="8.2.250402" />
|
<PackageVersion Include="CommunityToolkit.WinUI.Extensions" Version="8.2.250402" />
|
||||||
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.DataGrid" Version="7.1.2" />
|
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.DataGrid" Version="7.1.2" />
|
||||||
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls.Markdown" Version="7.1.2" />
|
<PackageVersion Include="CommunityToolkit.Labs.WinUI.Controls.MarkdownTextBlock" Version="0.1.251002-build.2316" />
|
||||||
<PackageVersion Include="CommunityToolkit.Labs.WinUI.Controls.MarkdownTextBlock" Version="0.1.250703-build.2173" />
|
|
||||||
<PackageVersion Include="ControlzEx" Version="6.0.0" />
|
<PackageVersion Include="ControlzEx" Version="6.0.0" />
|
||||||
<PackageVersion Include="HelixToolkit" Version="2.24.0" />
|
<PackageVersion Include="HelixToolkit" Version="2.24.0" />
|
||||||
<PackageVersion Include="HelixToolkit.Core.Wpf" Version="2.24.0" />
|
<PackageVersion Include="HelixToolkit.Core.Wpf" Version="2.24.0" />
|
||||||
|
<PackageVersion Include="HtmlAgilityPack" Version="1.12.3" />
|
||||||
<PackageVersion Include="hyjiacan.pinyin4net" Version="4.1.1" />
|
<PackageVersion Include="hyjiacan.pinyin4net" Version="4.1.1" />
|
||||||
<PackageVersion Include="Interop.Microsoft.Office.Interop.OneNote" Version="1.1.0.2" />
|
<PackageVersion Include="Interop.Microsoft.Office.Interop.OneNote" Version="1.1.0.2" />
|
||||||
<PackageVersion Include="LazyCache" Version="2.4.0" />
|
<PackageVersion Include="LazyCache" Version="2.4.0" />
|
||||||
@@ -37,6 +38,7 @@
|
|||||||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.0-preview.7.25380.108" />
|
<PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.0-preview.7.25380.108" />
|
||||||
<!-- Including Microsoft.Bcl.AsyncInterfaces to force version, since it's used by Microsoft.SemanticKernel. -->
|
<!-- Including Microsoft.Bcl.AsyncInterfaces to force version, since it's used by Microsoft.SemanticKernel. -->
|
||||||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.0-preview.7.25380.108" />
|
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.0-preview.7.25380.108" />
|
||||||
|
<PackageVersion Include="Microsoft.Windows.CppWinRT" Version="2.0.240111.5" />
|
||||||
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.16" />
|
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.16" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0-preview.7.25380.108" />
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0-preview.7.25380.108" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0-preview.7.25380.108" />
|
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0-preview.7.25380.108" />
|
||||||
@@ -45,7 +47,7 @@
|
|||||||
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.0-preview.7.25380.108" />
|
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.0-preview.7.25380.108" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.15.0" />
|
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.15.0" />
|
||||||
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
|
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
|
||||||
<PackageVersion Include="Microsoft.Web.WebView2" Version="1.0.2903.40" />
|
<PackageVersion Include="Microsoft.Web.WebView2" Version="1.0.3179.45" />
|
||||||
<!-- Package Microsoft.Win32.SystemEvents added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Drawing.Common but the 8.0.1 version wasn't published to nuget. -->
|
<!-- Package Microsoft.Win32.SystemEvents added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Drawing.Common but the 8.0.1 version wasn't published to nuget. -->
|
||||||
<PackageVersion Include="Microsoft.Win32.SystemEvents" Version="10.0.0-preview.7.25380.108" />
|
<PackageVersion Include="Microsoft.Win32.SystemEvents" Version="10.0.0-preview.7.25380.108" />
|
||||||
<PackageVersion Include="Microsoft.WindowsPackageManager.ComInterop" Version="1.10.340" />
|
<PackageVersion Include="Microsoft.WindowsPackageManager.ComInterop" Version="1.10.340" />
|
||||||
@@ -57,14 +59,17 @@
|
|||||||
This is present due to a bug in CsWinRT where WPF projects cause the analyzer to fail.
|
This is present due to a bug in CsWinRT where WPF projects cause the analyzer to fail.
|
||||||
-->
|
-->
|
||||||
<PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.2.0" />
|
<PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.2.0" />
|
||||||
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.4188" />
|
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.4948" />
|
||||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.7.250513003" />
|
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.8.250907003" />
|
||||||
|
<PackageVersion Include="Microsoft.WindowsAppSDK.AI" Version="1.8.37" />
|
||||||
|
<PackageVersion Include="Microsoft.WindowsAppSDK.Runtime" Version="1.8.250907003" />
|
||||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
||||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
|
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
|
||||||
<PackageVersion Include="ModernWpfUI" Version="0.9.4" />
|
<PackageVersion Include="ModernWpfUI" Version="0.9.4" />
|
||||||
<!-- Moq to stay below v4.20 due to behavior change. need to be sure fixed -->
|
<!-- Moq to stay below v4.20 due to behavior change. need to be sure fixed -->
|
||||||
<PackageVersion Include="Moq" Version="4.18.4" />
|
<PackageVersion Include="Moq" Version="4.18.4" />
|
||||||
<PackageVersion Include="MSTest" Version="3.8.3" />
|
<PackageVersion Include="MSTest" Version="3.8.3" />
|
||||||
|
<PackageVersion Include="NJsonSchema" Version="11.4.0" />
|
||||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
|
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
<PackageVersion Include="NLog" Version="5.2.8" />
|
<PackageVersion Include="NLog" Version="5.2.8" />
|
||||||
<PackageVersion Include="NLog.Extensions.Logging" Version="5.3.8" />
|
<PackageVersion Include="NLog.Extensions.Logging" Version="5.3.8" />
|
||||||
@@ -104,7 +109,7 @@
|
|||||||
<PackageVersion Include="UnicodeInformation" Version="2.6.0" />
|
<PackageVersion Include="UnicodeInformation" Version="2.6.0" />
|
||||||
<PackageVersion Include="UnitsNet" Version="5.56.0" />
|
<PackageVersion Include="UnitsNet" Version="5.56.0" />
|
||||||
<PackageVersion Include="UTF.Unknown" Version="2.6.0" />
|
<PackageVersion Include="UTF.Unknown" Version="2.6.0" />
|
||||||
<PackageVersion Include="WinUIEx" Version="2.2.0" />
|
<PackageVersion Include="WinUIEx" Version="2.8.0" />
|
||||||
<PackageVersion Include="WPF-UI" Version="3.0.5" />
|
<PackageVersion Include="WPF-UI" Version="3.0.5" />
|
||||||
<PackageVersion Include="WyHash" Version="1.0.5" />
|
<PackageVersion Include="WyHash" Version="1.0.5" />
|
||||||
<PackageVersion Include="WixToolset.Heat" Version="5.0.2" />
|
<PackageVersion Include="WixToolset.Heat" Version="5.0.2" />
|
||||||
|
|||||||
@@ -1509,7 +1509,6 @@ SOFTWARE.
|
|||||||
- CommunityToolkit.WinUI.Converters
|
- CommunityToolkit.WinUI.Converters
|
||||||
- CommunityToolkit.WinUI.Extensions
|
- CommunityToolkit.WinUI.Extensions
|
||||||
- CommunityToolkit.WinUI.UI.Controls.DataGrid
|
- CommunityToolkit.WinUI.UI.Controls.DataGrid
|
||||||
- CommunityToolkit.WinUI.UI.Controls.Markdown
|
|
||||||
- ControlzEx
|
- ControlzEx
|
||||||
- HelixToolkit
|
- HelixToolkit
|
||||||
- HelixToolkit.Core.Wpf
|
- HelixToolkit.Core.Wpf
|
||||||
@@ -1522,6 +1521,7 @@ SOFTWARE.
|
|||||||
- ModernWpfUI
|
- ModernWpfUI
|
||||||
- Moq
|
- Moq
|
||||||
- MSTest
|
- MSTest
|
||||||
|
- NJsonSchema
|
||||||
- NLog
|
- NLog
|
||||||
- NLog.Extensions.Logging
|
- NLog.Extensions.Logging
|
||||||
- NLog.Schema
|
- NLog.Schema
|
||||||
|
|||||||
170
PowerToys.sln
@@ -5,11 +5,13 @@ MinimumVisualStudioVersion = 10.0.40219.1
|
|||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runner", "src\runner\runner.vcxproj", "{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runner", "src\runner\runner.vcxproj", "{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73} = {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}
|
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73} = {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC} = {08E71C67-6A7E-4CA1-B04E-2FB336410BAC}
|
||||||
{0B43679E-EDFA-4DA0-AD30-F4628B308B1B} = {0B43679E-EDFA-4DA0-AD30-F4628B308B1B}
|
{0B43679E-EDFA-4DA0-AD30-F4628B308B1B} = {0B43679E-EDFA-4DA0-AD30-F4628B308B1B}
|
||||||
{0B593A6C-4143-4337-860E-DB5710FB87DB} = {0B593A6C-4143-4337-860E-DB5710FB87DB}
|
{0B593A6C-4143-4337-860E-DB5710FB87DB} = {0B593A6C-4143-4337-860E-DB5710FB87DB}
|
||||||
{17DA04DF-E393-4397-9CF0-84DABE11032E} = {17DA04DF-E393-4397-9CF0-84DABE11032E}
|
{17DA04DF-E393-4397-9CF0-84DABE11032E} = {17DA04DF-E393-4397-9CF0-84DABE11032E}
|
||||||
{217DF501-135C-4E38-BFC8-99D4821032EA} = {217DF501-135C-4E38-BFC8-99D4821032EA}
|
{217DF501-135C-4E38-BFC8-99D4821032EA} = {217DF501-135C-4E38-BFC8-99D4821032EA}
|
||||||
{2BE46397-4DFA-414C-9BD4-41E4BBF8CB34} = {2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}
|
{2BE46397-4DFA-414C-9BD4-41E4BBF8CB34} = {2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166} = {38177D56-6AD1-4ADF-88C9-2843A7932166}
|
||||||
{48804216-2A0E-4168-A6D8-9CD068D14227} = {48804216-2A0E-4168-A6D8-9CD068D14227}
|
{48804216-2A0E-4168-A6D8-9CD068D14227} = {48804216-2A0E-4168-A6D8-9CD068D14227}
|
||||||
{51920F1F-C28C-4ADF-8660-4238766796C2} = {51920F1F-C28C-4ADF-8660-4238766796C2}
|
{51920F1F-C28C-4ADF-8660-4238766796C2} = {51920F1F-C28C-4ADF-8660-4238766796C2}
|
||||||
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481} = {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}
|
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481} = {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}
|
||||||
@@ -24,6 +26,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runner", "src\runner\runner
|
|||||||
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D} = {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}
|
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D} = {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}
|
||||||
{D940E07F-532C-4FF3-883F-790DA014F19A} = {D940E07F-532C-4FF3-883F-790DA014F19A}
|
{D940E07F-532C-4FF3-883F-790DA014F19A} = {D940E07F-532C-4FF3-883F-790DA014F19A}
|
||||||
{DA425894-6E13-404F-8DCB-78584EC0557A} = {DA425894-6E13-404F-8DCB-78584EC0557A}
|
{DA425894-6E13-404F-8DCB-78584EC0557A} = {DA425894-6E13-404F-8DCB-78584EC0557A}
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D} = {E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}
|
||||||
{E364F67B-BB12-4E91-B639-355866EBCD8B} = {E364F67B-BB12-4E91-B639-355866EBCD8B}
|
{E364F67B-BB12-4E91-B639-355866EBCD8B} = {E364F67B-BB12-4E91-B639-355866EBCD8B}
|
||||||
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99} = {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}
|
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99} = {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
@@ -48,6 +51,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{1AFB64
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common.Lib.UnitTests", "src\common\UnitTests-CommonLib\UnitTests-CommonLib.vcxproj", "{1A066C63-64B3-45F8-92FE-664E1CCE8077}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common.Lib.UnitTests", "src\common\UnitTests-CommonLib\UnitTests-CommonLib.vcxproj", "{1A066C63-64B3-45F8-92FE-664E1CCE8077}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PackageIdentity", "src\PackageIdentity\PackageIdentity.vcxproj", "{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}"
|
||||||
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FancyZonesEditor", "src\modules\fancyzones\editor\FancyZonesEditor\FancyZonesEditor.csproj", "{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FancyZonesEditor", "src\modules\fancyzones\editor\FancyZonesEditor\FancyZonesEditor.csproj", "{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "powerrename", "powerrename", "{89E20BCE-EB9C-46C8-8B50-E01A82E6FDC3}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "powerrename", "powerrename", "{89E20BCE-EB9C-46C8-8B50-E01A82E6FDC3}"
|
||||||
@@ -262,7 +267,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "utils", "utils", "{B39DC643
|
|||||||
src\common\utils\EventLocker.h = src\common\utils\EventLocker.h
|
src\common\utils\EventLocker.h = src\common\utils\EventLocker.h
|
||||||
src\common\utils\EventWaiter.h = src\common\utils\EventWaiter.h
|
src\common\utils\EventWaiter.h = src\common\utils\EventWaiter.h
|
||||||
src\common\utils\excluded_apps.h = src\common\utils\excluded_apps.h
|
src\common\utils\excluded_apps.h = src\common\utils\excluded_apps.h
|
||||||
src\common\utils\shell_ext_registration.h = src\common\utils\shell_ext_registration.h
|
|
||||||
src\common\utils\exec.h = src\common\utils\exec.h
|
src\common\utils\exec.h = src\common\utils\exec.h
|
||||||
src\common\utils\game_mode.h = src\common\utils\game_mode.h
|
src\common\utils\game_mode.h = src\common\utils\game_mode.h
|
||||||
src\common\utils\gpo.h = src\common\utils\gpo.h
|
src\common\utils\gpo.h = src\common\utils\gpo.h
|
||||||
@@ -282,6 +286,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "utils", "utils", "{B39DC643
|
|||||||
src\common\utils\registry.h = src\common\utils\registry.h
|
src\common\utils\registry.h = src\common\utils\registry.h
|
||||||
src\common\utils\resources.h = src\common\utils\resources.h
|
src\common\utils\resources.h = src\common\utils\resources.h
|
||||||
src\common\utils\serialized.h = src\common\utils\serialized.h
|
src\common\utils\serialized.h = src\common\utils\serialized.h
|
||||||
|
src\common\utils\shell_ext_registration.h = src\common\utils\shell_ext_registration.h
|
||||||
src\common\utils\string_utils.h = src\common\utils\string_utils.h
|
src\common\utils\string_utils.h = src\common\utils\string_utils.h
|
||||||
src\common\utils\timeutil.h = src\common\utils\timeutil.h
|
src\common\utils\timeutil.h = src\common\utils\timeutil.h
|
||||||
src\common\utils\UnhandledExceptionHandler.h = src\common\utils\UnhandledExceptionHandler.h
|
src\common\utils\UnhandledExceptionHandler.h = src\common\utils\UnhandledExceptionHandler.h
|
||||||
@@ -638,7 +643,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.CommandPalette.Ex
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CommandPalette.Extensions.Toolkit", "src\modules\cmdpal\extensionsdk\Microsoft.CommandPalette.Extensions.Toolkit\Microsoft.CommandPalette.Extensions.Toolkit.csproj", "{CA4D810F-C8F4-4B61-9DA9-71807E0B9F24}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CommandPalette.Extensions.Toolkit", "src\modules\cmdpal\extensionsdk\Microsoft.CommandPalette.Extensions.Toolkit\Microsoft.CommandPalette.Extensions.Toolkit.csproj", "{CA4D810F-C8F4-4B61-9DA9-71807E0B9F24}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CmdPal.Common", "src\modules\cmdpal\Microsoft.CmdPal.Common\Microsoft.CmdPal.Common.csproj", "{14E62033-58D0-4A7D-8990-52F50A08BBBD}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CmdPal.Core.Common", "src\modules\cmdpal\Core\Microsoft.CmdPal.Core.Common\Microsoft.CmdPal.Core.Common.csproj", "{14E62033-58D0-4A7D-8990-52F50A08BBBD}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.Terminal.UI", "src\modules\cmdpal\Microsoft.Terminal.UI\Microsoft.Terminal.UI.vcxproj", "{6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.Terminal.UI", "src\modules\cmdpal\Microsoft.Terminal.UI\Microsoft.Terminal.UI.vcxproj", "{6515F03F-E56D-4DB4-B23D-AC4FB80DB36F}"
|
||||||
EndProject
|
EndProject
|
||||||
@@ -728,7 +733,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerRename.UITests", "src\
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Core.ViewModels", "src\modules\cmdpal\Microsoft.CmdPal.Core.ViewModels\Microsoft.CmdPal.Core.ViewModels.csproj", "{24133F7F-C1D1-DE04-EFA8-F5D5467FE027}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Core.ViewModels", "src\modules\cmdpal\Core\Microsoft.CmdPal.Core.ViewModels\Microsoft.CmdPal.Core.ViewModels.csproj", "{24133F7F-C1D1-DE04-EFA8-F5D5467FE027}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{0E556541-6A45-42CB-AE49-EE5A9BE05E7C}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{0E556541-6A45-42CB-AE49-EE5A9BE05E7C}"
|
||||||
EndProject
|
EndProject
|
||||||
@@ -793,6 +798,22 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Window
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.UnitTestBase", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.UnitTestsBase\Microsoft.CmdPal.Ext.UnitTestBase.csproj", "{00D8659C-2068-40B6-8B86-759CD6284BBB}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.UnitTestBase", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.UnitTestsBase\Microsoft.CmdPal.Ext.UnitTestBase.csproj", "{00D8659C-2068-40B6-8B86-759CD6284BBB}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LightSwitch", "LightSwitch", "{5B201255-53C8-490B-A34F-01F05D48A477}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LightSwitchModuleInterface", "src\modules\LightSwitch\LightSwitchModuleInterface\LightSwitchModuleInterface.vcxproj", "{38177D56-6AD1-4ADF-88C9-2843A7932166}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LightSwitchService", "src\modules\LightSwitch\LightSwitchService\LightSwitchService.vcxproj", "{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{E11826E1-76DF-42AC-985C-164CC2EE57A1}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenRuler.UITests", "src\modules\MeasureTool\Tests\ScreenRuler.UITests\ScreenRuler.UITests.csproj", "{66C069F8-C548-4CA6-8CDE-239104D68E88}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "v3", "v3", "{9605B84E-FAC4-477B-B9EC-0753177EE6A8}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerToys.DSC", "src\dsc\v3\PowerToys.DSC\PowerToys.DSC.csproj", "{94CDC147-6137-45E9-AEDE-17FF809607C0}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerToys.DSC.UnitTests", "src\dsc\v3\PowerToys.DSC.UnitTests\PowerToys.DSC.UnitTests.csproj", "{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}"
|
||||||
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Apps.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Apps.UnitTests\Microsoft.CmdPal.Ext.Apps.UnitTests.csproj", "{E816D7B1-4688-4ECB-97CC-3D8E798F3830}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Apps.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Apps.UnitTests\Microsoft.CmdPal.Ext.Apps.UnitTests.csproj", "{E816D7B1-4688-4ECB-97CC-3D8E798F3830}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Bookmarks.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Bookmarks.UnitTests\Microsoft.CmdPal.Ext.Bookmarks.UnitTests.csproj", "{E816D7B3-4688-4ECB-97CC-3D8E798F3832}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Bookmarks.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Bookmarks.UnitTests\Microsoft.CmdPal.Ext.Bookmarks.UnitTests.csproj", "{E816D7B3-4688-4ECB-97CC-3D8E798F3832}"
|
||||||
@@ -801,6 +822,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.WebSea
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Shell.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Shell.UnitTests\Microsoft.CmdPal.Ext.Shell.UnitTests.csproj", "{E816D7B4-4688-4ECB-97CC-3D8E798F3833}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.Shell.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.Shell.UnitTests\Microsoft.CmdPal.Ext.Shell.UnitTests.csproj", "{E816D7B4-4688-4ECB-97CC-3D8E798F3833}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{3DCCD936-D085-4869-A1DE-CA6A64152C94}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LightSwitch.UITests", "src\modules\LightSwitch\Tests\LightSwitch.UITests\LightSwitch.UITests.csproj", "{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests\Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests.csproj", "{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.UI.ViewModels.UnitTests", "src\modules\cmdpal\Tests\Microsoft.CmdPal.UI.ViewModels.UnitTests\Microsoft.CmdPal.UI.ViewModels.UnitTests.csproj", "{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|ARM64 = Debug|ARM64
|
Debug|ARM64 = Debug|ARM64
|
||||||
@@ -841,6 +870,14 @@ Global
|
|||||||
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|ARM64.Build.0 = Release|ARM64
|
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.ActiveCfg = Release|x64
|
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.ActiveCfg = Release|x64
|
||||||
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.Build.0 = Release|x64
|
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.Build.0 = Release|x64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{E2A5A82E-1E5B-4C8D-9A4F-2B1A8F9E5C3D}.Release|x64.Build.0 = Release|x64
|
||||||
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM64.Build.0 = Debug|ARM64
|
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.ActiveCfg = Debug|x64
|
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@@ -2695,22 +2732,6 @@ Global
|
|||||||
{61CBF221-9452-4934-B685-146285E080D7}.Release|ARM64.Build.0 = Release|ARM64
|
{61CBF221-9452-4934-B685-146285E080D7}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{61CBF221-9452-4934-B685-146285E080D7}.Release|x64.ActiveCfg = Release|x64
|
{61CBF221-9452-4934-B685-146285E080D7}.Release|x64.ActiveCfg = Release|x64
|
||||||
{61CBF221-9452-4934-B685-146285E080D7}.Release|x64.Build.0 = Release|x64
|
{61CBF221-9452-4934-B685-146285E080D7}.Release|x64.Build.0 = Release|x64
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|ARM64.Build.0 = Debug|ARM64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|ARM64.Build.0 = Release|ARM64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|x64.Build.0 = Release|x64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|ARM64.Build.0 = Debug|ARM64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|ARM64.Build.0 = Release|ARM64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|x64.Build.0 = Release|x64
|
|
||||||
{38F187B2-6638-5A40-072F-DBE5E54070A0}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{38F187B2-6638-5A40-072F-DBE5E54070A0}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{38F187B2-6638-5A40-072F-DBE5E54070A0}.Debug|ARM64.Build.0 = Debug|ARM64
|
{38F187B2-6638-5A40-072F-DBE5E54070A0}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{38F187B2-6638-5A40-072F-DBE5E54070A0}.Debug|x64.ActiveCfg = Debug|x64
|
{38F187B2-6638-5A40-072F-DBE5E54070A0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@@ -2727,14 +2748,22 @@ Global
|
|||||||
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE}.Release|ARM64.Build.0 = Release|ARM64
|
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE}.Release|x64.ActiveCfg = Release|x64
|
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE}.Release|x64.ActiveCfg = Release|x64
|
||||||
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE}.Release|x64.Build.0 = Release|x64
|
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE}.Release|x64.Build.0 = Release|x64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Debug|ARM64.Build.0 = Debug|ARM64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Debug|x64.ActiveCfg = Debug|x64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Debug|x64.Build.0 = Debug|x64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|x64.Build.0 = Debug|x64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Release|ARM64.ActiveCfg = Release|ARM64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Release|ARM64.Build.0 = Release|ARM64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Release|x64.ActiveCfg = Release|x64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|x64.ActiveCfg = Release|x64
|
||||||
{0217E86E-3476-9946-DE8E-9D200CEBD47A}.Release|x64.Build.0 = Release|x64
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Release|x64.Build.0 = Release|x64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9}.Release|x64.Build.0 = Release|x64
|
||||||
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6}.Debug|ARM64.Build.0 = Debug|ARM64
|
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6}.Debug|x64.ActiveCfg = Debug|x64
|
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@@ -2887,6 +2916,46 @@ Global
|
|||||||
{00D8659C-2068-40B6-8B86-759CD6284BBB}.Release|ARM64.Build.0 = Release|ARM64
|
{00D8659C-2068-40B6-8B86-759CD6284BBB}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{00D8659C-2068-40B6-8B86-759CD6284BBB}.Release|x64.ActiveCfg = Release|x64
|
{00D8659C-2068-40B6-8B86-759CD6284BBB}.Release|x64.ActiveCfg = Release|x64
|
||||||
{00D8659C-2068-40B6-8B86-759CD6284BBB}.Release|x64.Build.0 = Release|x64
|
{00D8659C-2068-40B6-8B86-759CD6284BBB}.Release|x64.Build.0 = Release|x64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166}.Release|x64.Build.0 = Release|x64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC}.Release|x64.Build.0 = Release|x64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88}.Release|x64.Build.0 = Release|x64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0}.Release|x64.Build.0 = Release|x64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78}.Release|x64.Build.0 = Release|x64
|
||||||
{E816D7B1-4688-4ECB-97CC-3D8E798F3830}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{E816D7B1-4688-4ECB-97CC-3D8E798F3830}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{E816D7B1-4688-4ECB-97CC-3D8E798F3830}.Debug|ARM64.Build.0 = Debug|ARM64
|
{E816D7B1-4688-4ECB-97CC-3D8E798F3830}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{E816D7B1-4688-4ECB-97CC-3D8E798F3830}.Debug|x64.ActiveCfg = Debug|x64
|
{E816D7B1-4688-4ECB-97CC-3D8E798F3830}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@@ -2919,6 +2988,34 @@ Global
|
|||||||
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|ARM64.Build.0 = Release|ARM64
|
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|x64.ActiveCfg = Release|x64
|
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|x64.ActiveCfg = Release|x64
|
||||||
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|x64.Build.0 = Release|x64
|
{E816D7B4-4688-4ECB-97CC-3D8E798F3833}.Release|x64.Build.0 = Release|x64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Debug|x64.Deploy.0 = Debug|x64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Release|x64.Build.0 = Release|x64
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F}.Release|x64.Deploy.0 = Release|x64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA}.Release|x64.Build.0 = Release|x64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@@ -2928,7 +3025,6 @@ Global
|
|||||||
{D1D6BC88-09AE-4FB4-AD24-5DED46A791DD} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
|
{D1D6BC88-09AE-4FB4-AD24-5DED46A791DD} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
|
||||||
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99} = {D1D6BC88-09AE-4FB4-AD24-5DED46A791DD}
|
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99} = {D1D6BC88-09AE-4FB4-AD24-5DED46A791DD}
|
||||||
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9} = {264B412F-DB8B-4CF8-A74B-96998B183045}
|
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9} = {264B412F-DB8B-4CF8-A74B-96998B183045}
|
||||||
{1AFB6476-670D-4E80-A464-657E01DFF482} = {557C4636-D7E1-4838-A504-7D19B725EE95}
|
|
||||||
{1A066C63-64B3-45F8-92FE-664E1CCE8077} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
{1A066C63-64B3-45F8-92FE-664E1CCE8077} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
||||||
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481} = {D1D6BC88-09AE-4FB4-AD24-5DED46A791DD}
|
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481} = {D1D6BC88-09AE-4FB4-AD24-5DED46A791DD}
|
||||||
{89E20BCE-EB9C-46C8-8B50-E01A82E6FDC3} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
|
{89E20BCE-EB9C-46C8-8B50-E01A82E6FDC3} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
|
||||||
@@ -3157,7 +3253,7 @@ Global
|
|||||||
{F3D09629-59A2-4924-A4B9-D6BFAA2C1B49} = {3846508C-77EB-4034-A702-F8BB263C4F79}
|
{F3D09629-59A2-4924-A4B9-D6BFAA2C1B49} = {3846508C-77EB-4034-A702-F8BB263C4F79}
|
||||||
{305DD37E-C85D-4B08-AAFE-7381FA890463} = {F3D09629-59A2-4924-A4B9-D6BFAA2C1B49}
|
{305DD37E-C85D-4B08-AAFE-7381FA890463} = {F3D09629-59A2-4924-A4B9-D6BFAA2C1B49}
|
||||||
{CA4D810F-C8F4-4B61-9DA9-71807E0B9F24} = {F3D09629-59A2-4924-A4B9-D6BFAA2C1B49}
|
{CA4D810F-C8F4-4B61-9DA9-71807E0B9F24} = {F3D09629-59A2-4924-A4B9-D6BFAA2C1B49}
|
||||||
{14E62033-58D0-4A7D-8990-52F50A08BBBD} = {7520A2FE-00A2-49B8-83ED-DB216E874C04}
|
{14E62033-58D0-4A7D-8990-52F50A08BBBD} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
{6515F03F-E56D-4DB4-B23D-AC4FB80DB36F} = {7520A2FE-00A2-49B8-83ED-DB216E874C04}
|
{6515F03F-E56D-4DB4-B23D-AC4FB80DB36F} = {7520A2FE-00A2-49B8-83ED-DB216E874C04}
|
||||||
{071E18A4-A530-46B8-AB7D-B862EE55E24E} = {3846508C-77EB-4034-A702-F8BB263C4F79}
|
{071E18A4-A530-46B8-AB7D-B862EE55E24E} = {3846508C-77EB-4034-A702-F8BB263C4F79}
|
||||||
{C846F7A7-792A-47D9-B0CB-417C900EE03D} = {071E18A4-A530-46B8-AB7D-B862EE55E24E}
|
{C846F7A7-792A-47D9-B0CB-417C900EE03D} = {071E18A4-A530-46B8-AB7D-B862EE55E24E}
|
||||||
@@ -3194,10 +3290,10 @@ Global
|
|||||||
{9BC1C986-1E97-4D07-A7B1-CE226C239EFA} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
{9BC1C986-1E97-4D07-A7B1-CE226C239EFA} = {2F305555-C296-497E-AC20-5FA1B237996A}
|
||||||
{99CA1509-FB73-456E-AFAF-AB89C017BD72} = {6B01F1CF-F4DB-48B5-BFE7-0BF576C1D704}
|
{99CA1509-FB73-456E-AFAF-AB89C017BD72} = {6B01F1CF-F4DB-48B5-BFE7-0BF576C1D704}
|
||||||
{61CBF221-9452-4934-B685-146285E080D7} = {6B01F1CF-F4DB-48B5-BFE7-0BF576C1D704}
|
{61CBF221-9452-4934-B685-146285E080D7} = {6B01F1CF-F4DB-48B5-BFE7-0BF576C1D704}
|
||||||
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1} = {2C318EC3-BA86-4372-B1BC-DB0F33C208B2}
|
|
||||||
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9} = {68328142-5B31-4715-BCBB-7B6345EE0971}
|
|
||||||
{38F187B2-6638-5A40-072F-DBE5E54070A0} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
{38F187B2-6638-5A40-072F-DBE5E54070A0} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
||||||
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
|
{DA0744BC-E822-680E-9CEB-D0FBA903A8EE} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
|
||||||
|
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1} = {2C318EC3-BA86-4372-B1BC-DB0F33C208B2}
|
||||||
|
{43E779F3-D83C-48B1-BA8D-1912DBD76FC9} = {68328142-5B31-4715-BCBB-7B6345EE0971}
|
||||||
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
{2CF78CF7-8FEB-4BE1-9591-55FA25B48FC6} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
||||||
{14AFD976-B4D2-49D0-9E6C-AA93CC061B8A} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
{14AFD976-B4D2-49D0-9E6C-AA93CC061B8A} = {1AFB6476-670D-4E80-A464-657E01DFF482}
|
||||||
{9D3F3793-EFE3-4525-8782-238015DABA62} = {66E1534A-1587-42B2-912F-45C994D32904}
|
{9D3F3793-EFE3-4525-8782-238015DABA62} = {66E1534A-1587-42B2-912F-45C994D32904}
|
||||||
@@ -3233,10 +3329,22 @@ Global
|
|||||||
{E816D7AF-4688-4ECB-97CC-3D8E798F3828} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{E816D7AF-4688-4ECB-97CC-3D8E798F3828} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
{E816D7B0-4688-4ECB-97CC-3D8E798F3829} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{E816D7B0-4688-4ECB-97CC-3D8E798F3829} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
{00D8659C-2068-40B6-8B86-759CD6284BBB} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{00D8659C-2068-40B6-8B86-759CD6284BBB} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
|
{5B201255-53C8-490B-A34F-01F05D48A477} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
|
||||||
|
{38177D56-6AD1-4ADF-88C9-2843A7932166} = {5B201255-53C8-490B-A34F-01F05D48A477}
|
||||||
|
{08E71C67-6A7E-4CA1-B04E-2FB336410BAC} = {5B201255-53C8-490B-A34F-01F05D48A477}
|
||||||
|
{E11826E1-76DF-42AC-985C-164CC2EE57A1} = {7AC943C9-52E8-44CF-9083-744D8049667B}
|
||||||
|
{66C069F8-C548-4CA6-8CDE-239104D68E88} = {E11826E1-76DF-42AC-985C-164CC2EE57A1}
|
||||||
|
{9605B84E-FAC4-477B-B9EC-0753177EE6A8} = {557C4636-D7E1-4838-A504-7D19B725EE95}
|
||||||
|
{94CDC147-6137-45E9-AEDE-17FF809607C0} = {9605B84E-FAC4-477B-B9EC-0753177EE6A8}
|
||||||
|
{A24BF1AF-79AA-4896-BAE3-CCBBE0380A78} = {9605B84E-FAC4-477B-B9EC-0753177EE6A8}
|
||||||
{E816D7B1-4688-4ECB-97CC-3D8E798F3830} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{E816D7B1-4688-4ECB-97CC-3D8E798F3830} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
{E816D7B3-4688-4ECB-97CC-3D8E798F3832} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{E816D7B3-4688-4ECB-97CC-3D8E798F3832} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
{E816D7B2-4688-4ECB-97CC-3D8E798F3831} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{E816D7B2-4688-4ECB-97CC-3D8E798F3831} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
{E816D7B4-4688-4ECB-97CC-3D8E798F3833} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
{E816D7B4-4688-4ECB-97CC-3D8E798F3833} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
|
{3DCCD936-D085-4869-A1DE-CA6A64152C94} = {5B201255-53C8-490B-A34F-01F05D48A477}
|
||||||
|
{F5333ED7-06D8-4AB3-953A-36D63F08CB6F} = {3DCCD936-D085-4869-A1DE-CA6A64152C94}
|
||||||
|
{4E0FCF69-B06B-D272-76BF-ED3A559B4EDA} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
|
{A66E9270-5D93-EC9C-F06E-CE7295BB9A6C} = {8EF25507-2575-4ADE-BF7E-D23376903AB8}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0}
|
SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0}
|
||||||
|
|||||||
413
README.md
@@ -1,259 +1,284 @@
|
|||||||
# Microsoft PowerToys
|
<p align="center">
|
||||||
|
<picture>
|
||||||
|
<source media="(prefers-color-scheme: light)" srcset="./doc/images/readme/pt-hero.light.png" />
|
||||||
|
<img src="./doc/images/readme/pt-hero.dark.png" />
|
||||||
|
</picture>
|
||||||
|
</p>
|
||||||
|
<h1 align="center">
|
||||||
|
<span>Microsoft PowerToys</span>
|
||||||
|
</h1>
|
||||||
|
|
||||||

|
<h3 align="center">
|
||||||
|
<a href="#-installation">Installation</a>
|
||||||
|
<span> . </span>
|
||||||
|
<a href="https://aka.ms/powertoys-docs">Documentation</a>
|
||||||
|
<span> . </span>
|
||||||
|
<a href="https://aka.ms/powertoys-releaseblog">Blog</a>
|
||||||
|
<span> . </span>
|
||||||
|
<a href="#-whats-new">Release notes</a>
|
||||||
|
</h3>
|
||||||
|
<br/><br/>
|
||||||
|
Microsoft PowerToys is a collection of utilities that help you customize Windows and streamline everyday tasks.
|
||||||
|
<br/><br/>
|
||||||
|
|
||||||
[How to use PowerToys][usingPowerToys-docs-link] | [Downloads & Release notes][github-release-link] | [Contributing to PowerToys](#contributing) | [What's Happening](#whats-happening) | [Roadmap](#powertoys-roadmap)
|
| | | |
|
||||||
|
|---|---|---|
|
||||||
|
| [<img src="doc/images/icons/AdvancedPaste.png" alt="Advanced Paste icon" height="16"> Advanced Paste](https://aka.ms/PowerToysOverview_AdvancedPaste) | [<img src="doc/images/icons/Always%20On%20Top.png" alt="Always on Top icon" height="16"> Always on Top](https://aka.ms/PowerToysOverview_AoT) | [<img src="doc/images/icons/Awake.png" alt="Awake icon" height="16"> Awake](https://aka.ms/PowerToysOverview_Awake) |
|
||||||
|
| [<img src="doc/images/icons/Color%20Picker.png" alt="Color Picker icon" height="16"> Color Picker](https://aka.ms/PowerToysOverview_ColorPicker) | [<img src="doc/images/icons/Command%20Not%20Found.png" alt="Command Not Found icon" height="16"> Command Not Found](https://aka.ms/PowerToysOverview_CmdNotFound) | [<img src="doc/images/icons/Command Palette.png" alt="Command Palette icon" height="16"> Command Palette](https://aka.ms/PowerToysOverview_CmdPal) |
|
||||||
|
| [<img src="doc/images/icons/Crop%20And%20Lock.png" alt="Crop and Lock icon" height="16"> Crop And Lock](https://aka.ms/PowerToysOverview_CropAndLock) | [<img src="doc/images/icons/Environment%20Manager.png" alt="Environment Variables icon" height="16"> Environment Variables](https://aka.ms/PowerToysOverview_EnvironmentVariables) | [<img src="doc/images/icons/FancyZones.png" alt="FancyZones icon" height="16"> FancyZones](https://aka.ms/PowerToysOverview_FancyZones) |
|
||||||
|
| [<img src="doc/images/icons/File%20Explorer%20Preview.png" alt="File Explorer Add-ons icon" height="16"> File Explorer Add-ons](https://aka.ms/PowerToysOverview_FileExplorerAddOns) | [<img src="doc/images/icons/File%20Locksmith.png" alt="File Locksmith icon" height="16"> File Locksmith](https://aka.ms/PowerToysOverview_FileLocksmith) | [<img src="doc/images/icons/Host%20File%20Editor.png" alt="Hosts File Editor icon" height="16"> Hosts File Editor](https://aka.ms/PowerToysOverview_HostsFileEditor) |
|
||||||
|
| [<img src="doc/images/icons/Image%20Resizer.png" alt="Image Resizer icon" height="16"> Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) | [<img src="doc/images/icons/Keyboard%20Manager.png" alt="Keyboard Manager icon" height="16"> Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) | [<img src="doc/images/icons/Light Switch.png" alt="Light Switch icon" height="16"> Light Switch](https://aka.ms/PowerToysOverview_LightSwitch) |
|
||||||
|
| [<img src="doc/images/icons/Find My Mouse.png" alt="Mouse Utilities icon" height="16"> Mouse Utilities](https://aka.ms/PowerToysOverview_MouseUtilities) | [<img src="doc/images/icons/MouseWithoutBorders.png" alt="Mouse Without Borders icon" height="16"> Mouse Without Borders](https://aka.ms/PowerToysOverview_MouseWithoutBorders) | [<img src="doc/images/icons/NewPlus.png" alt="New+ icon" height="16"> New+](https://aka.ms/PowerToysOverview_NewPlus) |
|
||||||
|
| [<img src="doc/images/icons/Peek.png" alt="Peek icon" height="16"> Peek](https://aka.ms/PowerToysOverview_Peek) | [<img src="doc/images/icons/PowerRename.png" alt="PowerRename icon" height="16"> PowerRename](https://aka.ms/PowerToysOverview_PowerRename) | [<img src="doc/images/icons/PowerToys%20Run.png" alt="PowerToys Run icon" height="16"> PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) |
|
||||||
|
| [<img src="doc/images/icons/PowerAccent.png" alt="Quick Accent icon" height="16"> Quick Accent](https://aka.ms/PowerToysOverview_QuickAccent) | [<img src="doc/images/icons/Registry%20Preview.png" alt="Registry Preview icon" height="16"> Registry Preview](https://aka.ms/PowerToysOverview_RegistryPreview) | [<img src="doc/images/icons/MeasureTool.png" alt="Screen Ruler icon" height="16"> Screen Ruler](https://aka.ms/PowerToysOverview_ScreenRuler) |
|
||||||
|
| [<img src="doc/images/icons/Shortcut%20Guide.png" alt="Shortcut Guide icon" height="16"> Shortcut Guide](https://aka.ms/PowerToysOverview_ShortcutGuide) | [<img src="doc/images/icons/PowerOCR.png" alt="Text Extractor icon" height="16"> Text Extractor](https://aka.ms/PowerToysOverview_TextExtractor) | [<img src="doc/images/icons/Workspaces.png" alt="Workspaces icon" height="16"> Workspaces](https://aka.ms/PowerToysOverview_Workspaces) |
|
||||||
|
| [<img src="doc/images/icons/ZoomIt.png" alt="ZoomIt icon" height="16"> ZoomIt](https://aka.ms/PowerToysOverview_ZoomIt) | | |
|
||||||
|
|
||||||
## About
|
|
||||||
|
|
||||||
Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. For more info on [PowerToys overviews and how to use the utilities][usingPowerToys-docs-link], or any other tools and resources for [Windows development environments](https://learn.microsoft.com/windows/dev-environment/overview), head over to [learn.microsoft.com][usingPowerToys-docs-link]!
|
## 📋 Installation
|
||||||
|
|
||||||
| | Current utilities: | |
|
For detailed installation instructions, visit the [installation docs](https://learn.microsoft.com/windows/powertoys/install).
|
||||||
|--------------|--------------------|--------------|
|
|
||||||
| [Advanced Paste](https://aka.ms/PowerToysOverview_AdvancedPaste) | [Always on Top](https://aka.ms/PowerToysOverview_AoT) | [PowerToys Awake](https://aka.ms/PowerToysOverview_Awake) |
|
|
||||||
| [Color Picker](https://aka.ms/PowerToysOverview_ColorPicker) | [Command Not Found](https://aka.ms/PowerToysOverview_CmdNotFound) | [Command Palette](https://aka.ms/PowerToysOverview_CmdPal) |
|
|
||||||
| [Crop And Lock](https://aka.ms/PowerToysOverview_CropAndLock) | [Environment Variables](https://aka.ms/PowerToysOverview_EnvironmentVariables) | [FancyZones](https://aka.ms/PowerToysOverview_FancyZones) |
|
|
||||||
| [File Explorer Add-ons](https://aka.ms/PowerToysOverview_FileExplorerAddOns) | [File Locksmith](https://aka.ms/PowerToysOverview_FileLocksmith) | [Hosts File Editor](https://aka.ms/PowerToysOverview_HostsFileEditor) |
|
|
||||||
| [Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) | [Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) | [Mouse Utilities](https://aka.ms/PowerToysOverview_MouseUtilities) |
|
|
||||||
| [Mouse Without Borders](https://aka.ms/PowerToysOverview_MouseWithoutBorders) | [New+](https://aka.ms/PowerToysOverview_NewPlus) | [Paste as Plain Text](https://aka.ms/PowerToysOverview_PastePlain) |
|
|
||||||
| [Peek](https://aka.ms/PowerToysOverview_Peek) | [PowerRename](https://aka.ms/PowerToysOverview_PowerRename) | [PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) |
|
|
||||||
| [Quick Accent](https://aka.ms/PowerToysOverview_QuickAccent) | [Registry Preview](https://aka.ms/PowerToysOverview_RegistryPreview) | [Screen Ruler](https://aka.ms/PowerToysOverview_ScreenRuler) |
|
|
||||||
| [Shortcut Guide](https://aka.ms/PowerToysOverview_ShortcutGuide) | [Text Extractor](https://aka.ms/PowerToysOverview_TextExtractor) | [Workspaces](https://aka.ms/PowerToysOverview_Workspaces) |
|
|
||||||
| [ZoomIt](https://aka.ms/PowerToysOverview_ZoomIt) |
|
|
||||||
|
|
||||||
## Installing and running Microsoft PowerToys
|
Before you begin, make sure your device meets the system requirements:
|
||||||
|
|
||||||
### Requirements
|
> [!NOTE]
|
||||||
|
> - Windows 11 or Windows 10 version 2004 (20H1 / build 19041) or newer
|
||||||
|
> - 64-bit processor: x64 or ARM64
|
||||||
|
> - Latest stable version of [Microsoft Edge WebView2 Runtime](https://go.microsoft.com/fwlink/p/?LinkId=2124703) is installed via the bootstrapper during setup
|
||||||
|
|
||||||
- Windows 11 or Windows 10 version 2004 (code name 20H1 / build number 19041) or newer.
|
Choose one of the installation methods below:
|
||||||
- x64 or ARM64 processor
|
|
||||||
- Our installer will install the following items:
|
|
||||||
- [Microsoft Edge WebView2 Runtime](https://go.microsoft.com/fwlink/p/?LinkId=2124703) bootstrapper. This will install the latest version.
|
|
||||||
|
|
||||||
### Via GitHub with EXE [Recommended]
|
<details>
|
||||||
|
<summary>Download .exe from GitHub</summary>
|
||||||
|
|
||||||
Go to the [Microsoft PowerToys GitHub releases page][github-release-link] and click on `Assets` at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is `x64` and per-user.
|
Go to the [PowerToys GitHub releases][github-release-link], click Assets to reveal the downloads, and choose the installer that matches your architecture and install scope. For most devices, that's the x64 per-user installer.
|
||||||
|
|
||||||
<!-- items that need to be updated release to release -->
|
<!-- items that need to be updated release to release -->
|
||||||
[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.95%22
|
[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.96%22
|
||||||
[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.94%22
|
[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.95%22
|
||||||
[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.94.0/PowerToysUserSetup-0.94.0-x64.exe
|
[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.95.0/PowerToysUserSetup-0.95.0-x64.exe
|
||||||
[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.94.0/PowerToysUserSetup-0.94.0-arm64.exe
|
[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.95.0/PowerToysUserSetup-0.95.0-arm64.exe
|
||||||
[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.94.0/PowerToysSetup-0.94.0-x64.exe
|
[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.95.0/PowerToysSetup-0.95.0-x64.exe
|
||||||
[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.94.0/PowerToysSetup-0.94.0-arm64.exe
|
[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.95.0/PowerToysSetup-0.95.0-arm64.exe
|
||||||
|
|
||||||
| Description | Filename |
|
| Description | Filename |
|
||||||
|----------------|----------|
|
|----------------|----------|
|
||||||
| Per user - x64 | [PowerToysUserSetup-0.94.0-x64.exe][ptUserX64] |
|
| Per user - x64 | [PowerToysUserSetup-0.95.0-x64.exe][ptUserX64] |
|
||||||
| Per user - ARM64 | [PowerToysUserSetup-0.94.0-arm64.exe][ptUserArm64] |
|
| Per user - ARM64 | [PowerToysUserSetup-0.95.0-arm64.exe][ptUserArm64] |
|
||||||
| Machine wide - x64 | [PowerToysSetup-0.94.0-x64.exe][ptMachineX64] |
|
| Machine wide - x64 | [PowerToysSetup-0.95.0-x64.exe][ptMachineX64] |
|
||||||
| Machine wide - ARM64 | [PowerToysSetup-0.94.0-arm64.exe][ptMachineArm64] |
|
| Machine wide - ARM64 | [PowerToysSetup-0.95.0-arm64.exe][ptMachineArm64] |
|
||||||
|
|
||||||
This is our preferred method.
|
</details>
|
||||||
|
|
||||||
### Via Microsoft Store
|
<details>
|
||||||
|
<summary>Microsoft Store</summary>
|
||||||
|
You can easily install PowerToys from the Microsoft Store:
|
||||||
|
<p>
|
||||||
|
<a style="text-decoration:none" href="https://aka.ms/getPowertoys">
|
||||||
|
<picture>
|
||||||
|
<source media="(prefers-color-scheme: light)" srcset="doc/images/readme/StoreBadge-dark.png" width="148" />
|
||||||
|
<img src="doc/images/readme/StoreBadge-light.png" width="148" />
|
||||||
|
</picture></a>
|
||||||
|
</p>
|
||||||
|
</details>
|
||||||
|
|
||||||
Install from the [Microsoft Store's PowerToys page][microsoft-store-link]. You must be using the [new Microsoft Store](https://blogs.windows.com/windowsExperience/2021/06/24/building-a-new-open-microsoft-store-on-windows-11/), which is available for both Windows 11 and Windows 10.
|
|
||||||
|
|
||||||
### Via WinGet
|
<details>
|
||||||
|
<summary>WinGet</summary>
|
||||||
|
|
||||||
Download PowerToys from [WinGet][winget-link]. Updating PowerToys via winget will respect the current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:
|
Download PowerToys from [WinGet][winget-link]. Updating PowerToys via winget will respect the current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:
|
||||||
|
|
||||||
#### User scope installer [default]
|
*User scope installer [default]*
|
||||||
```powershell
|
```powershell
|
||||||
winget install Microsoft.PowerToys -s winget
|
winget install Microsoft.PowerToys -s winget
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Machine-wide scope installer
|
*Machine-wide scope installer*
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
winget install --scope machine Microsoft.PowerToys -s winget
|
winget install --scope machine Microsoft.PowerToys -s winget
|
||||||
```
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
### Other install methods
|
<details>
|
||||||
|
<summary>Other methods</summary>
|
||||||
|
|
||||||
There are [community driven install methods](./doc/unofficialInstallMethods.md) such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.
|
There are [community driven install methods](./doc/unofficialInstallMethods.md) such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.
|
||||||
|
</details>
|
||||||
|
|
||||||
## Third-Party Run Plugins
|
## ✨ What's new
|
||||||
|
**Version 0.95 (October 2025)**
|
||||||
|
|
||||||
There is a collection of [third-party plugins](./doc/thirdPartyRunPlugins.md) created by the community that aren't distributed with PowerToys.
|
For an in-depth look at the latest changes, visit the [Windows Command Line blog](https://aka.ms/powertoys-releaseblog).
|
||||||
|
|
||||||
## Contributing
|
**✨ Highlights**
|
||||||
|
- **NEW:** The **Light Switch** utility in PowerToys allows you to automatically switch between light and dark themes in Windows based on the time of day.
|
||||||
This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.
|
- Command Palette delivered major search performance gains (new fuzzy matcher and smarter fallbacks) improving relevance and speed.
|
||||||
|
- Peek can now be activated using just the Spacebar!
|
||||||
We ask that **before you start work on a feature that you would like to contribute**, please read our [Contributor's Guide](CONTRIBUTING.md). We would be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.
|
- Find My Mouse added transparent spotlight with independent backdrop opacity, boosting focus and accessibility.
|
||||||
|
- Settings now lets you delete shortcuts entirely and ignore conflicts.
|
||||||
Most contributions require you to agree to a [Contributor License Agreement (CLA)][oss-CLA] declaring that you grant us the rights to use your contribution and that you have permission to do so.
|
- Mouse Pointer Crosshairs gained orientation options (vertical / horizontal / both) for customizable accessibility. Thanks [@mikehall-ms](https://github.com/mikehall-ms)!
|
||||||
|
- PowerRename fixed enumeration counter skipping ensuring reliable batch renames. Thanks [@daverayment](https://github.com/daverayment)!
|
||||||
For guidance on developing for PowerToys, please read the [developer docs](./doc/devdocs) for a detailed breakdown. This includes how to setup your computer to compile.
|
- ZoomIt restored legacy draw and snipping behaviors, and fixed recording issues, improving reliability. Thanks [@chakrik73](https://github.com/chakrik73)!
|
||||||
|
|
||||||
## What's Happening
|
|
||||||
|
|
||||||
### PowerToys Roadmap
|
|
||||||
|
|
||||||
Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on.
|
|
||||||
|
|
||||||
### 0.94 - Sep 2025 Update
|
|
||||||
|
|
||||||
In this release, we focused on new features, stability, optimization improvements, and automation.
|
|
||||||
|
|
||||||
For an in-depth look at the latest changes, visit the [release blog](https://aka.ms/powertoys-releaseblog).
|
|
||||||
|
|
||||||
**✨Highlights**
|
|
||||||
|
|
||||||
- PowerToys Settings added a Settings search with fuzzy matching, suggestions, a results page, and UX polish to make finding options faster.
|
|
||||||
- A comprehensive hotkey conflict detection system was introduced in Settings to surface and help resolve conflicting shortcuts. Note that the default hotkey settings (Win+Ctrl+Shift+T, Win+Ctrl+V, Win+Ctrl+T, Win+Shift+T) may overlap with existing Windows system shortcuts. This is expected. You can resolve the conflict by assigning different hotkeys.
|
|
||||||
- Mouse Utilities added a “Gliding cursor” accessibility feature to Mouse Pointer Crosshairs for single‑button cursor movement and clicking. Thanks [@mikehall-ms](https://github.com/mikehall-ms)!
|
|
||||||
- The installer was upgraded to WiX 5 after WiX 3 reached end-of-life; this move improved installer security, reliability, and community support.
|
|
||||||
- Tons of bug fixes and improvements for Command Palette, including visual updates and new support for filters on ListPages (handy for extension developers).
|
|
||||||
- Hosts Editor now has a “No leading spaces” option so active host entries can start at column 0 even if others are disabled. Thanks [@mohammed-saalim](https://github.com/mohammed-saalim)!
|
|
||||||
- Context menu registration was moved from the installer to runtime to avoid loading disabled modules (runtime registrations).
|
|
||||||
- Quick Accent now supports Maltese, and frequently used accents appear first (and are remembered across sessions). Thanks [@rovercoder](https://github.com/rovercoder)! [@davidegiacometti](https://github.com/davidegiacometti)!
|
|
||||||
|
|
||||||
### Always On Top
|
|
||||||
|
|
||||||
- Fixed the border hover cursor so it shows the arrow instead of the wait cursor. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
|
|
||||||
|
|
||||||
### Command Palette
|
### Command Palette
|
||||||
|
- Applied conditional margin for icon-only tags to tighten layout. Thanks [@samrueby](https://github.com/samrueby)
|
||||||
|
- Improved the reliability of accessing Command Palette settings through PowerToys Settings and executing other x-cmdpal:// protocol commands. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Enabled AOT by default for improved performance while simplifying publish configs.
|
||||||
|
- Replaced service state color dots with play/pause/stop icons for enhanced accessibility. Thanks [@samrueby](https://github.com/samrueby)
|
||||||
|
- Fixed filter dropdown sync and crash by binding SelectedValue and raising UI-thread notifications. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Ensured long links wrap correctly in details view.
|
||||||
|
- Removed animation and enforced minimum width on filter dropdown for clarity. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Restored focus to More button after ESC closes context menu, improving keyboard flow. Thanks [@chatasweetie](https://github.com/chatasweetie)
|
||||||
|
- Marked main and toast windows as tool windows to keep them out of Alt+Tab while preserving style. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Fixed AOT template and theming issues for filter separators. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Introduced grid layouts (small, medium, gallery) for richer page presentation.
|
||||||
|
- Materialized result lists to avoid rescoring overhead.
|
||||||
|
- Disabled problematic selection TextToSuggest behind environment flag.
|
||||||
|
- Major search performance improvements (new fuzzy matcher, smarter fallbacks, fewer exceptions).
|
||||||
|
- Added context menu "Show Details" command when details pane is hidden.
|
||||||
|
- Reduced window flicker by avoiding unnecessary cloaking. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Restored EmptyContent rendering for blank states. Thanks [@DevLGuilherme](https://github.com/DevLGuilherme)
|
||||||
|
- Saved new state even if prior app state file was corrupt (better resilience). Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Migrated settings window to WinUI TitleBar control. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Prevented crash on duplicate keybindings and simplified matching. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Hotkeys now always respect the “Ignore shortcut in fullscreen” setting. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Hid search box on content pages, improving focus and accessibility, and added Home title. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Blocked Ctrl+I from inserting stray tabs in search box.
|
||||||
|
- Logged HRESULT codes in error logs for deeper diagnostics. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Advanced font and emoji icon classification and alignment improvements. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Ensured that fallback command icons are visible on the extension settings page. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Fixed breadcrumb margin misalignment (visual polish). Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Truncated overly long command labels with ellipsis to prevent overflow.
|
||||||
|
- Added a setting to configure the page transition animation.
|
||||||
|
- Collection of small improvements and nits for Run Commands.
|
||||||
|
- Improved bookmarks performance and experience. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Added Ctrl+O shortcut in Clipboard History to open links directly.
|
||||||
|
- Resolved conflict with external software that blocked Command Palette from hiding.
|
||||||
|
- Updated context menu items to reflect name and icon changes, and ensured application icons are displayed correctly. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Added Alt+Home shortcut to return immediately to the Command Palette home page. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Fixed a crash when displaying code blocks in markdown on detail or content pages. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Fixed an issue where the search bar icon and title were not updated when rapidly switching pages. Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Improved the appearance of the search box in the context menu.
|
||||||
|
|
||||||
- Applied single-click activation only to pointer input; keyboard always activates immediately. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Let context menus open at the cursor by removing window-bound constraints. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Made error messages clearer with timestamps, HRESULTs, and full details for easier diagnosis. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Prevented crashes and improved robustness when updating providers without commands. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Ensured the Settings window reliably comes to the front when opened. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Replaced the Clipboard History icon with a colorful Fluent icon. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Hardened ContentIcon to avoid duplicate parenting and improve diagnostics. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Standardized null checks using C# pattern matching for safer behavior.
|
|
||||||
- Improved accessibility by focusing the activation shortcut dialog and making text reachable. Thanks [@chatasweetie](https://github.com/chatasweetie)!
|
|
||||||
- Moved the extension SDK to a stable Windows SDK and cleaned up message namespaces.
|
|
||||||
- Added path shortcuts: ~ to home, and / or \\ to system root, plus UNC support. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
|
|
||||||
- Fixed a race in cancellation handling to avoid InvalidOperationException. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Aligned separator styling with WinUI 3 for consistent visuals. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Added ARM64 PDBs to the Extensions SDK NuGet for better debugging.
|
|
||||||
- Added single-select filters to DynamicListPage and updated Windows Services sample.
|
|
||||||
- Updated main page placeholder text to better describe what can be searched. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Removed explicit WinAppSDK/WebView2 dependencies from toolkit and API. Thanks [@rluengen](https://github.com/rluengen)!
|
|
||||||
- Added a local keyboard hook to handle the GoBack key reliably. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Propagated alias changes safely and resolved conflicts across view models.
|
|
||||||
- Allowed providers to override Dispose with a virtual method.
|
|
||||||
- Fixed memory leaks by cleaning up removed or cancelled list items.
|
|
||||||
- Sorted DateTime extension results by relevance for better usability.
|
|
||||||
- Reduced search text “jiggling” by avoiding redundant change notifications.
|
|
||||||
- Centralized automation notifications in a UIHelper for better accessibility. Thanks [@chatasweetie](https://github.com/chatasweetie)!
|
|
||||||
- Preserved Adaptive Card action types during trimming via DynamicDependency.
|
|
||||||
- Added an acrylic backdrop and refined styling to the context menu. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Prevented disposed pages and Settings windows from handling stale messages. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
|
||||||
- Made the extension API easier to evolve without breaking clients.
|
|
||||||
- Added “evil” sample pages to help reproduce tricky bugs.
|
|
||||||
- Fixed WinGet trim-safety issues by replacing LINQ with manual iteration.
|
|
||||||
- Cancelled stale list fetches to avoid older results overwriting newer ones in CmdPal.
|
|
||||||
|
|
||||||
### Command Palette extensions
|
### Command Palette Extensions
|
||||||
|
- Replaced localized WebSearch setting keys with stable literals and numeric history count. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Enabled advanced markdown tables and emphasis extensions. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Added setting to choose Clipboard History primary action (Paste vs Copy). Thanks [@jiripolasek](https://github.com/jiripolasek)
|
||||||
|
- Added actionable empty-state hints for File Search (search PC / open indexing settings). Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Ensured all WinGet extension assets copy reliably to output. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Improved Run command line parsing for paths with spaces; sped up related tests.
|
||||||
|
- Updated WebSearch extension icon set for enhanced clarity and contrast. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Added Terminal profile sort order setting including MRU tracking. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Added Uninstall Application command (UWP direct, Win32 via Settings). Thanks [@mKpwnz](https://github.com/mKpwnz)!
|
||||||
|
- Deferred WinGet details loading and added timing logs.
|
||||||
|
- Removed LINQ from All Apps extension for performance.
|
||||||
|
- Added standardized key chord system + shortcuts to File Search commands. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Added Terminal channel filter & remembered selection option. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Enabled loading local/data/app images in markdown with sizing hints. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Added external extension reload via x-cmdpal://reload (configurable). Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Instant WebSearch history updates with in-memory store & events. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Added keep-after-paste option and safe delete with confirmation for Clipboard History. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
|
||||||
- Improved empty states and ranking logic for multiple extensions. Thanks [@htcfreek](https://github.com/htcfreek)!
|
### Environment Variables
|
||||||
- Added app icons to the All Apps "Run" context command when available.
|
- Replaced custom window chrome with WinUI TitleBar for cleaner, maintainable Environment Variables UI.
|
||||||
- Restored missing builtin icons by standardizing extension dependencies.
|
|
||||||
- Unblocked local deployment by adding WinAppSDK to two sample extensions.
|
### File Locksmith
|
||||||
|
- Adopted WinUI TitleBar to simplify window chrome while preserving appearance.
|
||||||
|
|
||||||
|
### Find My Mouse
|
||||||
|
- Added transparent spotlight support with separate backdrop opacity; migrated to Windows App SDK composition APIs.
|
||||||
|
|
||||||
### Hosts File Editor
|
### Hosts File Editor
|
||||||
|
- Migrated to native WinUI TitleBar for cleaner, maintainable window chrome.
|
||||||
|
|
||||||
- Added a "No leading spaces" option so active hosts entries can start at column 0 even when others are disabled. Thanks [@mohammed-saalim](https://github.com/mohammed-saalim)!
|
### Light Switch
|
||||||
|
- Introduced as a brand-new PowerToy module.
|
||||||
|
- Automatically switches between light and dark themes.
|
||||||
|
- Supports time-based scheduling or location-based sunrise/sunset switching.
|
||||||
|
- Supports using a keyboard shortcut to force a change.
|
||||||
|
- Supports filtering changes for Apps and/or System Theme.
|
||||||
|
|
||||||
### Image Resizer
|
### Mouse Pointer Crosshairs
|
||||||
|
- Added Esc key to cancel active gliding cursor sequence. Thanks [@mikehall-ms](https://github.com/mikehall-ms)!
|
||||||
- Fixed Image Resizer localization by installing satellite resources under the WinUI 3 apps culture path.
|
- Added orientation option (vertical / horizontal / both) for crosshairs customization. Thanks [@mikehall-ms](https://github.com/mikehall-ms)!
|
||||||
|
|
||||||
### Mouse Utilities
|
|
||||||
|
|
||||||
- Introduced "Gliding cursor" to control the pointer and click with a single hotkey for better accessibility. Thanks [@mikehall-ms](https://github.com/mikehall-ms)!
|
|
||||||
|
|
||||||
### Mouse Without Borders
|
### Mouse Without Borders
|
||||||
|
- Continued Common class refactor (part 5/7) by extracting clipboard and init/cleanup logic into focused classes. Thanks [@mikeclayton](https://github.com/mikeclayton)!
|
||||||
|
|
||||||
- Blocked Easy Mouse from switching machines during fullscreen apps, with an allow-list for exceptions. Thanks [@dot-tb](https://github.com/dot-tb)!
|
- Fix connection failures caused by conflicting MachineId across machines. Thanks [@noraa-junker](https://github.com/noraa-junker) for troubleshooting!
|
||||||
|
|
||||||
### Peek
|
### Peek
|
||||||
|
- Added the option to activate Peek with just the Spacebar.
|
||||||
- Added Visual Studio shared project file types to XML preview and fixed bgcode handler registration. Thanks [@rezanid](https://github.com/rezanid)!
|
|
||||||
- Fixes bgcode preview handler registration and events for reliable previews. Thanks [@pedrolamas](https://github.com/pedrolamas)!
|
|
||||||
|
|
||||||
### PowerRename
|
### PowerRename
|
||||||
|
- Fixed enumeration counter skipping when regex replacement equals original filename (counters now advance reliably). Thanks [@daverayment](https://github.com/daverayment)!
|
||||||
- Changed the Explorer accelerator key to PowErRename to avoid clashing with the New menu. Thanks [@aaron-ni](https://github.com/aaron-ni)!
|
|
||||||
|
|
||||||
### Quick Accent
|
### Quick Accent
|
||||||
|
- Expanded Welsh layout with acute, grave, and dieresis variants for vowels (consistent ordering). Thanks [@PesBandi](https://github.com/PesBandi)!
|
||||||
|
|
||||||
- Remembered character usage across sessions so frequently used accents appear first. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
|
### Registry Preview
|
||||||
- Added Maltese language support with specific characters and the Euro symbol. Thanks [@rovercoder](https://github.com/rovercoder)!
|
- Migrated to native TitleBar and AppWindow APIs for cleaner window chrome.
|
||||||
- Reduced GPU usage issues by making the window Topmost only when the picker is visible. Thanks [@daverayment](https://github.com/daverayment)!
|
|
||||||
|
### Screen Ruler
|
||||||
|
- Fixed ARM64 crash by aligning cursor position structure to 8-byte boundary.
|
||||||
|
|
||||||
### Settings
|
### Settings
|
||||||
|
- Added ability to ignore specific hotkey conflicts to reduce noise.
|
||||||
|
- Stopped creating backup directory during dry-run status checks (cleaner first-run).
|
||||||
|
- Standardized casing and localization for ZoomIt and modules header.
|
||||||
|
- Improved search results page accessibility and conditional module grouping.
|
||||||
|
|
||||||
- Added telemetry to track usage of the new shortcut conflict detection workflow.
|
### ZoomIt
|
||||||
- Moved the shutdown action from the title bar to a footer menu item with confirmation. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
|
- Updated resource file to reflect standalone v9.01 and current copyright year. Thanks [@foxmsft](https://github.com/foxmsft)!
|
||||||
- Implemented comprehensive hotkey conflict detection with a dedicated resolution dialog.
|
- Restored legacy draw/snipping behaviors and fixed recording race conditions. Thanks [@chakrik73](https://github.com/chakrik73)!
|
||||||
- Added branded visuals for Office and Copilot keys in the KeyVisual control.
|
- Added smooth image option for improved zoom quality using GDI+ for static zoom and Magnifier API for live zoom. Thanks [@markrussinovich](https://github.com/markrussinovich)!
|
||||||
- Introduced Settings search with fuzzy matching and navigation to specific controls.
|
|
||||||
- Corrected Spanish localization so product names like Awake remain in English across Settings and OOBE.
|
|
||||||
- Simplified the Advanced Paste description in Settings for quicker reading and consistent capitalization. Thanks [@OldUser101](https://github.com/OldUser101)!
|
|
||||||
- Localized conflict messages in the conflict window and dialog.
|
|
||||||
|
|
||||||
### Installer
|
### Documentation
|
||||||
|
- New Microsoft Learn documentation for the Light Switch module.
|
||||||
|
- New dev docs for the Light Switch module.
|
||||||
|
|
||||||
- Upgraded the installer to WiX 5 with silent "Files in Use" handling for smoother winget installs.
|
### Development (Area-Build & Area-Tests)
|
||||||
- Switched Win10 context menu modules to runtime registration and added cleanup on uninstall to avoid stale entries.
|
- Allowed debug launches to continue when modules fail to load, speeding developer iteration.
|
||||||
|
- Fixed spell checker dictionary entry (advapi) to eliminate false error.
|
||||||
|
- Added VS Code development guide and launch configs to streamline cross-editor workflows.
|
||||||
|
- Upgraded Windows App SDK and related dependencies to 1.8 for newer platform features.
|
||||||
|
- Rewrote YAML comment to resolve new spell checker forbidden pattern. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Corrected solution structure by returning misplaced Common project, reducing build confusion.
|
||||||
|
- Modernized build scripts with shared helpers and VS environment autodetection for simpler CLI builds.
|
||||||
|
- Standardized build scripts and platform detection to improve reliability and reuse.
|
||||||
|
- Added missing Command Palette version bump to align module release cadence.
|
||||||
|
- Added EXECUTEDEFAULT term to dictionary to prevent regression build failures. Thanks [@jiripolasek](https://github.com/jiripolasek)!
|
||||||
|
- Introduced nightly pre-warm pipeline and configurable MSBuild cache mode to improve CI performance.
|
||||||
|
- Resolved CI forbidden pattern spelling complaint to keep pipelines green.
|
||||||
|
- Added AI contributor instruction set to clarify code area expectations.
|
||||||
|
- Added accessibility IDs to settings and FancyZones toggles, stabilizing UI tests.
|
||||||
|
- Added automatic log collection on UI test failures to speed root cause analysis.
|
||||||
|
- Stabilized Mouse Utils tests by switching to AccessibilityId selectors.
|
||||||
|
- Added Screen Ruler UI test coverage to validate core measurement workflows.
|
||||||
|
|
||||||
### Documentation
|
## 🛣️ Roadmap
|
||||||
|
We are planning some nice new features and improvements for the next releases – a revamped Keyboard Manager UI, custom endpoint and local model support for Advanced Paste, Command Palette improvements and a brand-new Shortcut Guide experience! Stay tuned for [v0.96][github-next-release-work]!
|
||||||
|
|
||||||
- Adds docs for building the installer locally and testing winget installs.
|
## ❤️ PowerToys Community
|
||||||
- Fixed a broken style guide link in developer documentation. Thanks [@denizmaral](https://github.com/denizmaral)!
|
The PowerToys team is extremely grateful to have the [support of an amazing active community][community-link]. The work you do is incredibly important. PowerToys wouldn't be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Your contributions and feedback improve PowerToys month after month!
|
||||||
|
|
||||||
### Development
|
## Contributing
|
||||||
|
This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows. We ask that **before you start work on a feature that you would like to contribute**, please read our [Contributor's Guide](CONTRIBUTING.md). We would be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort. Most contributions require you to agree to a [Contributor License Agreement (CLA)][oss-CLA] declaring that you grant us the rights to use your contribution and that you have permission to do so. For guidance on developing for PowerToys, please read the [developer docs](./doc/devdocs) for a detailed breakdown. This includes how to setup your computer to compile.
|
||||||
|
|
||||||
- Excluded test and coverage DLLs from BinSkim scans to cut false positives and speed up security analysis.
|
## Code of Conduct
|
||||||
- Simplified NOTICE maintenance by removing version numbers and filtering out Microsoft/System packages.
|
This project has adopted the [Microsoft Open Source Code of Conduct][oss-conduct-code].
|
||||||
- Improved NuGet dependency validation to prevent package downgrades and catch issues during restore.
|
|
||||||
- Updated UTF.Unknown to a modern version to improve compatibility without breaking changes. Thanks [@304NotModified](https://github.com/304NotModified)!
|
|
||||||
- Refreshed package catalog in CI before installing dependencies to prevent Linux workflow failures.
|
|
||||||
- Refactored CmdPal tests with dependency injection and added coverage for queries and settings.
|
|
||||||
- Added unit tests to verify Close on Enter swaps Copy/Save as expected. Thanks [@mohammed-saalim](https://github.com/mohammed-saalim)!
|
|
||||||
- Added accessibility IDs to CmdPal UI for stable UI tests.
|
|
||||||
- Rewrote system command tests with a new test base and cleaner patterns.
|
|
||||||
- Added unit tests for WebSearch and Shell extensions with mockable settings.
|
|
||||||
- Added unit tests and abstractions for Apps and Bookmarks extensions.
|
|
||||||
- Cleans up AI‑generated tests; adds meaningful query tests across extensions.
|
|
||||||
- Removed the obsolete debug dialog from Settings for a smoother developer loop.
|
|
||||||
|
|
||||||
### What is being planned over the next few releases
|
## Privacy Statement
|
||||||
|
The application logs basic diagnostic data (telemetry). For more privacy information and what we collect, see our [PowerToys Data and Privacy documentation](https://aka.ms/powertoys-data-and-privacy-documentation).
|
||||||
|
|
||||||
For [v0.95][github-next-release-work], we'll work on the items below:
|
[oss-CLA]: https://cla.opensource.microsoft.com
|
||||||
|
[oss-conduct-code]: CODE_OF_CONDUCT.md
|
||||||
- Continued Command Palette polish
|
[community-link]: COMMUNITY.md
|
||||||
- Working on Shortcut Guide v2 (Thanks [@noraa-junker](https://github.com/noraa-junker)!)
|
[github-release-link]: https://aka.ms/installPowerToys
|
||||||
- Upgrading Keyboard Manager's editor UI
|
[microsoft-store-link]: https://aka.ms/getPowertoys
|
||||||
- UI tweaking utility with day/night theme switcher
|
[winget-link]: https://github.com/microsoft/winget-cli#installing-the-client
|
||||||
- DSC v3 support for top utilities
|
|
||||||
- New UI automation tests
|
|
||||||
- Stability, bug fixes
|
|
||||||
|
|
||||||
## PowerToys Community
|
|
||||||
|
|
||||||
The PowerToys team is extremely grateful to have the [support of an amazing active community][community-link]. The work you do is incredibly important. PowerToys wouldn’t be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Month by month, you directly help make PowerToys a better piece of software.
|
|
||||||
|
|
||||||
## Code of Conduct
|
|
||||||
|
|
||||||
This project has adopted the [Microsoft Open Source Code of Conduct][oss-conduct-code].
|
|
||||||
|
|
||||||
## Privacy Statement
|
|
||||||
|
|
||||||
The application logs basic diagnostic data (telemetry). For more privacy information and what we collect, see our [PowerToys Data and Privacy documentation](https://aka.ms/powertoys-data-and-privacy-documentation).
|
|
||||||
|
|
||||||
[oss-CLA]: https://cla.opensource.microsoft.com
|
|
||||||
[oss-conduct-code]: CODE_OF_CONDUCT.md
|
|
||||||
[community-link]: COMMUNITY.md
|
|
||||||
[github-release-link]: https://aka.ms/installPowerToys
|
|
||||||
[microsoft-store-link]: https://aka.ms/getPowertoys
|
|
||||||
[winget-link]: https://github.com/microsoft/winget-cli#installing-the-client
|
|
||||||
[roadmap]: https://github.com/microsoft/PowerToys/wiki/Roadmap
|
[roadmap]: https://github.com/microsoft/PowerToys/wiki/Roadmap
|
||||||
[privacy-link]: http://go.microsoft.com/fwlink/?LinkId=521839
|
[privacy-link]: http://go.microsoft.com/fwlink/?LinkId=521839
|
||||||
[loc-bug]: https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=&template=translation_issue.md&title=
|
[loc-bug]: https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=&template=translation_issue.md&title=
|
||||||
[usingPowerToys-docs-link]: https://aka.ms/powertoys-docs
|
[usingPowerToys-docs-link]: https://aka.ms/powertoys-docs
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# PowerToys Installer
|
# PowerToys Installer
|
||||||
|
|
||||||
## Installer Architecture (WiX 3/ WiX 5)
|
## Installer Architecture (WiX 5)
|
||||||
|
|
||||||
- Uses a bootstrapper to check dependencies and close PowerToys
|
- Uses a bootstrapper to check dependencies and close PowerToys
|
||||||
- MSI defined in product.wxs
|
- MSI defined in product.wxs
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
### MSI Installer Build Process
|
### MSI Installer Build Process
|
||||||
|
|
||||||
- First builds `PowerToysSetupCustomActions` DLL and signs it, for WiX5 project, installer will build `PowerToysSetupCustomActionsVNext` DLL.
|
- First builds `PowerToysSetupCustomActionsVNext` DLL and signs it
|
||||||
- Then builds the installer without cleaning, to reuse the signed DLL
|
- Then builds the installer without cleaning, to reuse the signed DLL
|
||||||
- Uses PowerShell scripts to modify .wxs files before build
|
- Uses PowerShell scripts to modify .wxs files before build
|
||||||
- Restores original .wxs files after build completes
|
- Restores original .wxs files after build completes
|
||||||
@@ -96,9 +96,14 @@ The following manual steps will not install the MSIX apps (such as Command Palet
|
|||||||
|
|
||||||
#### Prerequisites for building the MSI installer
|
#### Prerequisites for building the MSI installer
|
||||||
|
|
||||||
1. Install the [WiX Toolset Visual Studio 2022 Extension](https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2022Extension).
|
PowerToys uses WiX v5 for creating installers. The WiX v5 tools are automatically installed during the build process via dotnet tool.
|
||||||
1. Install the [WiX Toolset build tools](https://github.com/wixtoolset/wix3/releases/tag/wix3141rtm). (installer [direct link](https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314.exe))
|
|
||||||
1. Download [WiX binaries](https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip) and extract `wix.targets` to `C:\Program Files (x86)\WiX Toolset v3.14`.
|
For manual installation of WiX v5 tools:
|
||||||
|
```powershell
|
||||||
|
dotnet tool install --global wix --version 5.0.2
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note:** As of release 0.94, PowerToys has migrated from WiX v3 to WiX v5. The WiX v3 toolset is no longer required.
|
||||||
|
|
||||||
#### Building prerequisite projects
|
#### Building prerequisite projects
|
||||||
|
|
||||||
@@ -133,17 +138,9 @@ If you prefer, you can alternatively build prerequisite projects for the install
|
|||||||
1. In Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`
|
1. In Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`
|
||||||
1. From the `Build` menu choose `Build Solution`.
|
1. From the `Build` menu choose `Build Solution`.
|
||||||
|
|
||||||
The resulting `PowerToysSetup.msi` installer will be available in the `installer\PowerToysSetup\x64\Release\` folder.
|
The resulting installer will be available in the `installer\PowerToysSetupVNext\x64\Release\` folder.
|
||||||
|
|
||||||
For WiX3 project, run `Developer Command Prompt for VS 2022` in admin mode and execute the following command to build the installer. The generated installer package will be located at `\installer\PowerToysSetup\{platform}\Release\MachineSetup`.
|
To build the installer from the command line, run `Developer Command Prompt for VS 2022` in admin mode and execute the following commands. The generated installer package will be located at `\installer\PowerToysSetupVNext\{platform}\Release\MachineSetup`.
|
||||||
|
|
||||||
```
|
|
||||||
git clean -xfd -e *exe -- .\installer\
|
|
||||||
MSBuild -t:restore .\installer\PowerToysSetup.sln -p:RestorePackagesConfig=true /p:Platform="x64" /p:Configuration=Release
|
|
||||||
MSBuild -m .\installer\PowerToysSetup.sln /t:PowerToysInstaller /p:Configuration=Release /p:Platform="x64"
|
|
||||||
MSBuild -m .\installer\PowerToysSetup.sln /t:PowerToysBootstrapper /p:Configuration=Release /p:Platform="x64"
|
|
||||||
```
|
|
||||||
For WiX5 project, run `Developer Command Prompt for VS 2022` in admin mode and execute the following command to build the installer. The generated installer package will be located at `\installer\PowerToysSetupVNext\{platform}\Release\MachineSetup`.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
git clean -xfd -e *exe -- .\installer\
|
git clean -xfd -e *exe -- .\installer\
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ You can build the entire solution from the command line, which is sometimes fast
|
|||||||
1. Open Developer Command Prompt for VS 2022
|
1. Open Developer Command Prompt for VS 2022
|
||||||
2. Navigate to the repository root directory
|
2. Navigate to the repository root directory
|
||||||
3. Run the following command(don't forget to set the correct platform):
|
3. Run the following command(don't forget to set the correct platform):
|
||||||
```
|
```pwsh
|
||||||
msbuild -restore -p:RestorePackagesConfig=true -p:Platform=ARM64 -m PowerToys.sln
|
msbuild -restore -p:RestorePackagesConfig=true -p:Platform=ARM64 -m PowerToys.sln /tl /p:NuGetInteractive="true"
|
||||||
```
|
```
|
||||||
4. This process should complete in approximately 13-14 minutes for a full build
|
4. This process should complete in approximately 13-14 minutes for a full build
|
||||||
|
|
||||||
|
|||||||
128
doc/devdocs/development/dev-with-vscode.md
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
## Developing PowerToys with Visual Studio Code
|
||||||
|
|
||||||
|
This guide shows how to build, debug, and contribute to PowerToys using VS Code instead of (or alongside) full Visual Studio. It focuses on common inner‑loop tasks for C++, .NET, and mixed scenarios present in the solution.
|
||||||
|
|
||||||
|
> PowerToys is a large mixed C++ / C# / WinAppSDK solution. VS Code works well for incremental development and quick module iterations, but occasionally you may still prefer full Visual Studio for designer tooling or specialized diagnostics.
|
||||||
|
|
||||||
|
---
|
||||||
|
VS Code extensions Needed:
|
||||||
|
|
||||||
|
| Area | Extension | Notes |
|
||||||
|
|------|-----------|-------|
|
||||||
|
| C++ | ms-vscode.cpptools | IntelliSense, debugging (cppvsdbg) |
|
||||||
|
| C# | ms-dotnettools.csdevkit (or C#) | Language service / test explorer |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Building in VS Code
|
||||||
|
### Configure developer powershell for vs2022 for more convenient dev in vscode.
|
||||||
|
1. Configure profile in in settings, entry: "terminal.integrated.profiles.windows"
|
||||||
|
2. Add below config as entry:
|
||||||
|
```json
|
||||||
|
"Developer PowerShell for VS 2022": {
|
||||||
|
// Configure based on your preference
|
||||||
|
"path": "C:\\Program Files\\WindowsApps\\Microsoft.PowerShell_7.5.2.0_arm64__8wekyb3d8bbwe\\pwsh.exe",
|
||||||
|
"args": [
|
||||||
|
"-NoExit",
|
||||||
|
"-Command",
|
||||||
|
"& {",
|
||||||
|
"$orig = Get-Location;",
|
||||||
|
// Configure based on your environment
|
||||||
|
"& 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\Tools\\Launch-VsDevShell.ps1';",
|
||||||
|
"Set-Location $orig",
|
||||||
|
"}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
```
|
||||||
|
3. [Optional] Set Developer PowerShell for VS 2022 as your default profile, so that you can get a deep integration with vscode coding agent.
|
||||||
|
|
||||||
|
4. Now You can build with plain `msbuild` or configure tasks.json in below section
|
||||||
|
Or reach out to "tools\build\BUILD-GUIDELINES.md"
|
||||||
|
|
||||||
|
### Sample plain msbuild command
|
||||||
|
```powershell
|
||||||
|
# Restore:
|
||||||
|
msbuild powertoys.sln -t:restore -p:configuration=debug -p:platform=x64 -m
|
||||||
|
|
||||||
|
# Build powertoys sln
|
||||||
|
msbuild powertoys.sln -p:configuration=debug -p:platform=x64 -m
|
||||||
|
|
||||||
|
# dotnet project
|
||||||
|
msbuild src\settings-ui\Settings.UI\PowerToys.Settings.csproj -p:Platform=x64 -p:Configuration=Debug -m
|
||||||
|
|
||||||
|
# native project
|
||||||
|
msbuild "src\modules\MouseUtils\FindMyMouse\FindMyMouse.vcxproj" -p:Configuration=Debug -p:Platform=x64 -m
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Debugging
|
||||||
|
|
||||||
|
### Existing launch configuration
|
||||||
|
|
||||||
|
The repo provides `.vscode/launch.json` with:
|
||||||
|
|
||||||
|
- `Run PowerToys.exe (no build)`: Launches the already-built executable at `x64/Debug/PowerToys.exe` using `cppvsdbg`.
|
||||||
|
|
||||||
|
Build first, then press F5. To switch configuration (Release / ARM64) either edit the path or create additional launch entries.
|
||||||
|
|
||||||
|
### Attaching to a running instance
|
||||||
|
|
||||||
|
If PowerToys is already running, you can attach to that process:
|
||||||
|
|
||||||
|
2. VS Code command palette: “C/C++: (Windows) Attach to Process”.
|
||||||
|
3. Filter for `PowerToys.exe` / module-specific processes.
|
||||||
|
|
||||||
|
### Debugging managed components
|
||||||
|
|
||||||
|
Many modules have a managed component loaded into the PowerToys process. `cppvsdbg` can debug mixed mode, but if you need richer .NET inspection you can create a second configuration using `type: coreclr` and `processId` attachment after the native launch, or just attach separately:
|
||||||
|
|
||||||
|
Similar for attach to managed code.
|
||||||
|
> Note: In arm64 machine, can only debug arm64 code.
|
||||||
|
|
||||||
|
```jsonc
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Run native executable (no build)",
|
||||||
|
"type": "cppvsdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}\\x64\\Debug\\PowerToys.exe",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"environment": [],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "C/C++ Attach to PowerToys Process (native)",
|
||||||
|
"type": "cppvsdbg",
|
||||||
|
"request": "attach",
|
||||||
|
"processId": "${command:pickProcess}",
|
||||||
|
"symbolSearchPath": "${workspaceFolder}\\x64\\Debug;${workspaceFolder}\\Debug;${workspaceFolder}\\symbols"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Run managed code (managed, no build)",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}\\arm64\\Debug\\WinUI3Apps\\PowerToys.Settings.exe",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"env": {},
|
||||||
|
"console": "internalConsole",
|
||||||
|
"stopAtEntry": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Common tasks & tips
|
||||||
|
|
||||||
|
| Task | Command / Action | Notes |
|
||||||
|
|------|------------------|-------|
|
||||||
|
| Clean | `git clean -xdf` (careful) or `msbuild /t:Clean PowerToys.sln` | Deep clean removes packages & build outputs |
|
||||||
|
| Rebuild single project | `msbuild path\to\proj.vcxproj /t:Rebuild -p:Platform=x64 -p:Configuration=Debug` | Faster than whole solution |
|
||||||
|
| Generate installer (rare in inner loop) | See `tools\build\build-installer.ps1` | Usually not needed for local debug |
|
||||||
|
| Resource conversion errors | Re-run restore + build | Triggers custom PowerShell targets |
|
||||||
107
doc/devdocs/modules/lightswitch.md
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# Light Switch
|
||||||
|
|
||||||
|
[Public Overview – Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/light-switch)
|
||||||
|
|
||||||
|
## Quick Links
|
||||||
|
|
||||||
|
* [All Issues](https://github.com/microsoft/PowerToys/issues?q=is%3Aissue%20state%3Aopen%20label%3AProduct-LightSwitch)
|
||||||
|
* [Bugs](https://github.com/microsoft/PowerToys/issues?q=is%3Aissue%20state%3Aopen%20label%3AProduct-LightSwitch%20label%3AIssue-Bug)
|
||||||
|
* [Pull Requests](https://github.com/microsoft/PowerToys/pulls?q=is%3Apr+is%3Aopen+label%3AProduct-LightSwitch)
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The **Light Switch** module lets users automatically transition between light and dark mode using a timed schedule or a keyboard shortcut.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
* Set custom times to start and stop dark mode.
|
||||||
|
* Use geolocation to determine local sunrise and sunset times.
|
||||||
|
* Apply offsets in sunrise mode (e.g., 15 minutes before sunset).
|
||||||
|
* Quickly toggle between modes with a keyboard shortcut (`Ctrl+Shift+Win+D` by default).
|
||||||
|
* Choose whether theme changes apply to:
|
||||||
|
|
||||||
|
* Apps only
|
||||||
|
* System only
|
||||||
|
* Both apps and system
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
### Main Components
|
||||||
|
|
||||||
|
* **Shortcut/Hotkey**
|
||||||
|
Listens for a hotkey event. Calling `onHotkey()` flips the theme flags.
|
||||||
|
|
||||||
|
> **Note:** Using the shortcut overrides the current schedule until the next transition event.
|
||||||
|
|
||||||
|
* **LightSwitchService**
|
||||||
|
Reads settings and applies theming. Runs a check every minute to ensure the state is correct.
|
||||||
|
|
||||||
|
* **SettingsXAML/LightSwitch**
|
||||||
|
Provides the settings UI for configuring schedules, syncing location, and customizing shortcuts.
|
||||||
|
|
||||||
|
* **Settings.UI/ViewModels/LightSwitchViewModel.cs**
|
||||||
|
Handles updates to the settings file and communicates changes to the front end.
|
||||||
|
|
||||||
|
* **modules/LightSwitch/Tests**
|
||||||
|
Contains UI tests that verify interactions between the settings UI, system state, and `settings.json`.
|
||||||
|
|
||||||
|
### Data Flow
|
||||||
|
|
||||||
|
1. User configures settings in the UI (default: manual mode, light mode from 06:00–18:00).
|
||||||
|
2. Every minute, the service checks the time.
|
||||||
|
|
||||||
|
* If it’s not a threshold, the service sleeps until the next minute.
|
||||||
|
* If it matches a threshold, the service applies the theme based on settings and returns to sleep.
|
||||||
|
3. At **midnight**, when in *Sunrise to Sunset* mode, the service updates daily sunrise and sunset times.
|
||||||
|
4. If the machine was asleep during a scheduled event, the service applies the correct settings at the next check.
|
||||||
|
|
||||||
|
## User Interface
|
||||||
|
|
||||||
|
The module’s settings are exposed in the PowerToys Settings UI. Options include:
|
||||||
|
|
||||||
|
* Shortcut customization
|
||||||
|
* Mode selection (Manual or Sunrise to Sunset)
|
||||||
|
* Manual start/stop times (manual mode only)
|
||||||
|
* Automatic sunrise/sunset calculation (location-based)
|
||||||
|
* Time offsets (sunrise mode)
|
||||||
|
* Target scope (system, apps, or both)
|
||||||
|
|
||||||
|
## Development Environment Setup
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
* Visual Studio 2019 or later
|
||||||
|
* Windows 10 SDK
|
||||||
|
* PowerToys repository cloned from GitHub
|
||||||
|
|
||||||
|
### Building and Testing
|
||||||
|
|
||||||
|
1. Clone the repo:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/microsoft/PowerToys.git
|
||||||
|
```
|
||||||
|
2. Initialize submodules:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
3. Build the solution:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
msbuild -restore -p:RestorePackagesConfig=true -p:Platform=ARM64 -m PowerToys.sln
|
||||||
|
```
|
||||||
|
|
||||||
|
> Note: This may take some time.
|
||||||
|
4. Set `runner` as the startup project and press **F5**.
|
||||||
|
5. Enable Light Switch in PowerToys Settings.
|
||||||
|
6. To debug the service:
|
||||||
|
|
||||||
|
* Press `Ctrl+Alt+P` or go to **Debug > Attach to Process**.
|
||||||
|
* Select `LightSwitchService.exe` and click **Attach**.
|
||||||
|
* You can now set breakpoints in the service files.
|
||||||
|
7. To debug the Settings UI:
|
||||||
|
|
||||||
|
* Set the startup project to `PowerToys.Settings` and press **F5**.
|
||||||
|
* Note: Light Switch settings will not persist in this mode (they depend on the service executable).
|
||||||
|
* Alternatively, you can attach `PowerToys.Settings.exe` to the debugger while `runner` is running to test the full flow with breakpoints.
|
||||||
83
doc/dsc/Settings.md
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# Settings resource
|
||||||
|
Manage the settings for PowerToys modules
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
### ✨ Modules
|
||||||
|
List all the modules supported by the settings resource.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe modules --resource 'settings'
|
||||||
|
AdvancedPaste
|
||||||
|
AlwaysOnTop
|
||||||
|
App
|
||||||
|
Awake
|
||||||
|
ColorPicker
|
||||||
|
CropAndLock
|
||||||
|
EnvironmentVariables
|
||||||
|
FancyZones
|
||||||
|
FileLocksmith
|
||||||
|
FindMyMouse
|
||||||
|
Hosts
|
||||||
|
ImageResizer
|
||||||
|
KeyboardManager
|
||||||
|
MeasureTool
|
||||||
|
MouseHighlighter
|
||||||
|
MouseJump
|
||||||
|
MousePointerCrosshairs
|
||||||
|
Peek
|
||||||
|
PowerAccent
|
||||||
|
PowerOCR
|
||||||
|
PowerRename
|
||||||
|
RegistryPreview
|
||||||
|
ShortcutGuide
|
||||||
|
Workspaces
|
||||||
|
ZoomIt
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📄 Get
|
||||||
|
Get the settings for a specific module.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe get --resource 'settings' --module EnvironmentVariables
|
||||||
|
{"settings":{"properties":{"LaunchAdministrator":{"value":true}},"name":"EnvironmentVariables","version":"1.0"}}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🖨️ Export
|
||||||
|
Export the settings for a specific module.
|
||||||
|
|
||||||
|
ℹ️ Settings resource Get and Export operation output states are identical.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe get --resource 'settings' --module EnvironmentVariables
|
||||||
|
{"settings":{"properties":{"LaunchAdministrator":{"value":true}},"name":"EnvironmentVariables","version":"1.0"}}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📝 Set
|
||||||
|
Set the settings for a specific module. This command will update the settings to the specified values.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe set --resource 'settings' --module Awake --input '{"settings":{"properties":{"keepDisplayOn":false,"mode":0,"intervalHours":0,"intervalMinutes":1,"expirationDateTime":"2025-08-13T10:10:00.000001-07:00","customTrayTimes":{}},"name":"Awake","version":"0.0.1"}}'
|
||||||
|
{"settings":{"properties":{"keepDisplayOn":false,"mode":0,"intervalHours":0,"intervalMinutes":1,"expirationDateTime":"2025-08-13T10:10:00.000001-07:00","customTrayTimes":{}},"name":"Awake","version":"0.0.1"}}
|
||||||
|
["settings"]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🧪 Test
|
||||||
|
Test the settings for a specific module. This command will check if the current settings match the desired state.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe test --resource 'settings' --module Awake --input '{"settings":{"properties":{"keepDisplayOn":false,"mode":0,"intervalHours":0,"intervalMinutes":1,"expirationDateTime":"2025-08-13T10:10:00.000002-07:00","customTrayTimes":{}},"name":"Awake","version":"0.0.1"}}'
|
||||||
|
{"settings":{"properties":{"keepDisplayOn":false,"mode":0,"intervalHours":0,"intervalMinutes":1,"expirationDateTime":"2025-08-13T10:10:00.000001-07:00","customTrayTimes":{}},"name":"Awake","version":"0.0.1"},"_inDesiredState":false}
|
||||||
|
["settings"]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🛠️ Schema
|
||||||
|
Generates the JSON schema for the settings resource of a specific module.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe schema --resource 'settings' --module Awake
|
||||||
|
{"$schema":"http://json-schema.org/draft-04/schema#","title":"SettingsResourceObjectOfAwakeSettings","type":"object","additionalProperties":false,"required":["settings"],"properties":{"_inDesiredState":{"type":["boolean","null"],"description":"Indicates whether an instance is in the desired state"},"settings":{"description":"The settings content for the module."}}}
|
||||||
|
PS E:\src\powertoys> PowerToys.DSC.exe schema --resource 'settings' --module Awake | Format-Json
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📦 Manifest
|
||||||
|
Generates a manifest dsc resource JSON file for the specified module.
|
||||||
|
- If the module is not specified, it will generate a manifest for all modules.
|
||||||
|
- If the output directory is not specified, it will print the manifest to the console.
|
||||||
|
```shell
|
||||||
|
PS C:\> PowerToys.DSC.exe manifest --resource settings --module 'Awake' --outputDir "C:\manifests"
|
||||||
|
```
|
||||||
BIN
doc/images/icons/Command Palette.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
doc/images/icons/Light Switch.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
doc/images/icons/ZoomIt.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
doc/images/overview/LightSwitch_large.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
doc/images/overview/LightSwitch_small.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
doc/images/overview/Original/Light Switch.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 394 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 33 KiB |
BIN
doc/images/readme/StoreBadge-dark.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
doc/images/readme/StoreBadge-light.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/images/readme/pt-hero.dark.png
Normal file
|
After Width: | Height: | Size: 464 KiB |
BIN
doc/images/readme/pt-hero.light.png
Normal file
|
After Width: | Height: | Size: 502 KiB |
@@ -50,6 +50,7 @@ Contact the developers of a plugin directly for assistance with a specific plugi
|
|||||||
| [Hotkeys](https://github.com/ruslanlap/PowerToysRun-Hotkeys) | [ruslanlap](https://github.com/ruslanlap) | Create, manage, and trigger custom keyboard shortcuts directly from PowerToys Run. |
|
| [Hotkeys](https://github.com/ruslanlap/PowerToysRun-Hotkeys) | [ruslanlap](https://github.com/ruslanlap) | Create, manage, and trigger custom keyboard shortcuts directly from PowerToys Run. |
|
||||||
| [RandomGen](https://github.com/ruslanlap/PowerToysRun-RandomGen) | [ruslanlap](https://github.com/ruslanlap) | 🎲 Generate random data instantly with a single keystroke. Perfect for developers, testers, designers, and anyone who needs quick access to random data. Features include secure passwords, PINs, names, business data, dates, numbers, GUIDs, color codes, and more. Especially useful for designers who need random color codes and placeholder content. |
|
| [RandomGen](https://github.com/ruslanlap/PowerToysRun-RandomGen) | [ruslanlap](https://github.com/ruslanlap) | 🎲 Generate random data instantly with a single keystroke. Perfect for developers, testers, designers, and anyone who needs quick access to random data. Features include secure passwords, PINs, names, business data, dates, numbers, GUIDs, color codes, and more. Especially useful for designers who need random color codes and placeholder content. |
|
||||||
| [Open With Cursor](https://github.com/VictorNoxx/PowerToys-Run-Cursor/) | [VictorNoxx](https://github.com/VictorNoxx) | Open Visual Studio, VS Code recents with Cursor AI |
|
| [Open With Cursor](https://github.com/VictorNoxx/PowerToys-Run-Cursor/) | [VictorNoxx](https://github.com/VictorNoxx) | Open Visual Studio, VS Code recents with Cursor AI |
|
||||||
|
| [CheatSheets](https://github.com/ruslanlap/PowerToysRun-CheatSheets) | [ruslanlap](https://github.com/ruslanlap) | 📚 Find cheat sheets and command examples instantly from tldr pages, cheat.sh, and devhints.io. Features include favorites system, categories, offline mode, and smart caching. |
|
||||||
|
|
||||||
## Extending software plugins
|
## Extending software plugins
|
||||||
|
|
||||||
@@ -73,4 +74,5 @@ Below are community created plugins that target a website or software. They are
|
|||||||
| [YubicoOauthOTP](https://github.com/dlnilsson/Community.PowerToys.Run.Plugin.YubicoOauthOTP) | [dlnilsson](https://github.com/dlnilsson) | Display generated codes from OATH accounts stored on the YubiKey in powerToys Run |
|
| [YubicoOauthOTP](https://github.com/dlnilsson/Community.PowerToys.Run.Plugin.YubicoOauthOTP) | [dlnilsson](https://github.com/dlnilsson) | Display generated codes from OATH accounts stored on the YubiKey in powerToys Run |
|
||||||
| [Firefox Bookmark](https://github.com/8LWXpg/PowerToysRun-FirefoxBookmark) | [8LWXpg](https://github.com/8LWXpg) | Open bookmarks in Firefox based browser |
|
| [Firefox Bookmark](https://github.com/8LWXpg/PowerToysRun-FirefoxBookmark) | [8LWXpg](https://github.com/8LWXpg) | Open bookmarks in Firefox based browser |
|
||||||
| [Linear](https://github.com/vednig/powertoys-linear) | [vednig](https://github.com/vednig) | Create Linear Issues directly from Powertoys Run |
|
| [Linear](https://github.com/vednig/powertoys-linear) | [vednig](https://github.com/vednig) | Create Linear Issues directly from Powertoys Run |
|
||||||
|
| [PerplexitySearchShortcut](https://github.com/0x6f677548/PowerToys-Run-PerplexitySearchShortcut) | [0x6f677548](https://github.com/0x6f677548) | Search Perplexity |
|
||||||
| [SpeedTest](https://github.com/ruslanlap/PowerToysRun-SpeedTest) | [ruslanlap](https://github.com/ruslanlap) | One-command internet speed tests with real-time results, modern UI, and shareable links. |
|
| [SpeedTest](https://github.com/ruslanlap/PowerToysRun-SpeedTest) | [ruslanlap](https://github.com/ruslanlap) | One-command internet speed tests with real-time results, modern UI, and shareable links. |
|
||||||
|
|||||||
@@ -2,16 +2,10 @@
|
|||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.1.32414.318
|
VisualStudioVersion = 17.1.32414.318
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "PowerToysInstaller", "PowerToysSetup\PowerToysInstaller.wixproj", "{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerToysSetupCustomActions", "PowerToysSetupCustomActions\PowerToysSetupCustomActions.vcxproj", "{32F3882B-F2D6-4586-B5ED-11E39E522BD3}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spdlog", "..\src\logging\logging.vcxproj", "{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spdlog", "..\src\logging\logging.vcxproj", "{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logger", "..\src\common\logger\logger.vcxproj", "{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logger", "..\src\common\logger\logger.vcxproj", "{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "PowerToysBootstrapper", "PowerToysSetup\PowerToysBootstrapper.wixproj", "{31D72625-43C1-41B1-B784-BCE4A8DC5543}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Version", "..\src\common\version\version.vcxproj", "{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Version", "..\src\common\version\version.vcxproj", "{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EtwTrace", "..\src\common\Telemetry\EtwTrace\EtwTrace.vcxproj", "{8F021B46-362B-485C-BFBA-CCF83E820CBD}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EtwTrace", "..\src\common\Telemetry\EtwTrace\EtwTrace.vcxproj", "{8F021B46-362B-485C-BFBA-CCF83E820CBD}"
|
||||||
@@ -32,21 +26,6 @@ Global
|
|||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Debug|ARM64.Build.0 = Debug|ARM64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Release|ARM64.Build.0 = Release|ARM64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{022A9D30-7C4F-416D-A9DF-5FF2661CC0AD}.Release|x64.Build.0 = Release|x64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Release|ARM64.Build.0 = Release|ARM64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{32F3882B-F2D6-4586-B5ED-11E39E522BD3}.Release|x64.Build.0 = Release|x64
|
|
||||||
{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}.Debug|x64.ActiveCfg = Debug|x64
|
{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}.Debug|x64.Build.0 = Debug|x64
|
{7E1E3F13-2BD6-3F75-A6A7-873A2B55C60F}.Debug|x64.Build.0 = Debug|x64
|
||||||
@@ -61,14 +40,6 @@ Global
|
|||||||
{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}.Release|ARM64.Build.0 = Release|ARM64
|
{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}.Release|x64.ActiveCfg = Release|x64
|
{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}.Release|x64.ActiveCfg = Release|x64
|
||||||
{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}.Release|x64.Build.0 = Release|x64
|
{D9B8FC84-322A-4F9F-BBB9-20915C47DDFD}.Release|x64.Build.0 = Release|x64
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Debug|ARM64.Build.0 = Debug|ARM64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Release|ARM64.Build.0 = Release|ARM64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{31D72625-43C1-41B1-B784-BCE4A8DC5543}.Release|x64.Build.0 = Release|x64
|
|
||||||
{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}.Debug|ARM64.Build.0 = Debug|ARM64
|
{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}.Debug|x64.ActiveCfg = Debug|x64
|
{CC6E41AC-8174-4E8A-8D22-85DD7F4851DF}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define AdvancedPasteAssetsFiles=?>
|
|
||||||
<?define AdvancedPasteAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\AdvancedPaste\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="AdvancedPasteAssetsFolder" Name="AdvancedPaste" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="AdvancedPasteAssetsFolder" FileSource="$(var.AdvancedPasteAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--AdvancedPasteAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="AdvancedPasteComponentGroup">
|
|
||||||
<Component Id="RemoveAdvancedPasteFolder" Guid="55AFE81D-F6BD-439A-A229-66AF5C360AB0" Directory="AdvancedPasteAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveAdvancedPasteFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderAdvancedPasteAssetsFolder" Directory="AdvancedPasteAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define AwakeImagesFiles=?>
|
|
||||||
<?define AwakeImagesFilesPath=$(var.BinDir)\Assets\Awake\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<!-- Awake images -->
|
|
||||||
|
|
||||||
<DirectoryRef Id="BaseApplicationsAssetsFolder">
|
|
||||||
<Directory Id="AwakeImagesFolder" Name="Awake" />
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="AwakeImagesFolder" FileSource="$(var.AwakeImagesFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--AwakeImagesFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="AwakeComponentGroup">
|
|
||||||
<Component Id="RemoveAwakeFolder" Guid="95D7774C-69A3-48A3-B417-1BD9664BE974" Directory="INSTALLFOLDER" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveAwakeFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderAwakeImagesFolder" Directory="AwakeImagesFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define BaseApplicationsFiles=?>
|
|
||||||
<?define BaseApplicationsFilesPath=$(var.BinDir)\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="INSTALLFOLDER">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--BaseApplicationsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="BaseApplicationsComponentGroup">
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define CmdPalBuildDir="$(var.BinDir)\WinUI3Apps\CmdPal\"?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsInstallFolder">
|
|
||||||
<Directory Id="CmdPalInstallFolder" Name="CmdPal">
|
|
||||||
<Directory Id="CmdPalDepsInstallFolder" Name="Dependencies">
|
|
||||||
<?if $(sys.BUILDARCH) = x64 ?>
|
|
||||||
<Directory Id="CmdPalDepsX64InstallFolder" Name="x64" />
|
|
||||||
<?else ?>
|
|
||||||
<Directory Id="CmdPalDepsArm64InstallFolder" Name="arm64" />
|
|
||||||
<?endif ?>
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="CmdPalInstallFolder" FileSource="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test">
|
|
||||||
<Component Id="Module_CmdPal" Win64="yes" Guid="3A4942B2-1A86-4182-B3B4-65157365A980">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Module_CmdPal" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<?if $(sys.BUILDARCH) = x64 ?>
|
|
||||||
<File Source="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_x64.msix" />
|
|
||||||
<?else ?>
|
|
||||||
<File Source="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_arm64.msix" />
|
|
||||||
<?endif ?>
|
|
||||||
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<?if $(sys.BUILDARCH) = x64 ?>
|
|
||||||
<DirectoryRef Id="CmdPalDepsX64InstallFolder" FileSource="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test\Dependencies\x64">
|
|
||||||
<Component Id="Module_CmdPal_Deps" Win64="yes" Guid="C2790FC4-0665-4462-947A-D942A2AABFF0">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Module_CmdPal_Deps" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test\Dependencies\x64\Microsoft.VCLibs.x64.14.00.Desktop.appx" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
<?else ?>
|
|
||||||
<DirectoryRef Id="CmdPalDepsArm64InstallFolder" FileSource="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test\Dependencies\arm64">
|
|
||||||
<Component Id="Module_CmdPal_Deps" Win64="yes" Guid="C2790FC4-0665-4462-947A-D942A2AABFF0">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Module_CmdPal_Deps" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.CmdPalBuildDir)AppPackages\Microsoft.CmdPal.UI_$(var.CmdPalVersion)_Test\Dependencies\arm64\Microsoft.VCLibs.ARM64.14.00.Desktop.appx" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
<?endif ?>
|
|
||||||
|
|
||||||
<ComponentGroup Id="CmdPalComponentGroup">
|
|
||||||
<Component Id="RemoveCmdPalFolder" Guid="2DF90C08-CC75-4245-A14E-B82904636C53" Directory="INSTALLFOLDER">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveCmdPalFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveCmdPalInstallDirFolder" Directory="CmdPalInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveCmdPalDepsInstallDirFolder" Directory="CmdPalDepsInstallFolder" On="uninstall"/>
|
|
||||||
<?if $(sys.BUILDARCH) = x64 ?>
|
|
||||||
<RemoveFolder Id="RemoveCmdPalDepsX64InstallDirFolder" Directory="CmdPalDepsX64InstallFolder" On="uninstall"/>
|
|
||||||
<?else ?>
|
|
||||||
<RemoveFolder Id="RemoveCmdPalDepsArm64InstallDirFolder" Directory="CmdPalDepsArm64InstallFolder" On="uninstall"/>
|
|
||||||
<?endif ?>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="Module_CmdPal" />
|
|
||||||
<ComponentRef Id="Module_CmdPal_Deps" />
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define ColorPickerAssetsFiles=?>
|
|
||||||
<?define ColorPickerAssetsFilesPath=$(var.BinDir)Assets\ColorPicker\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<!-- Color Picker -->
|
|
||||||
<DirectoryRef Id="BaseApplicationsAssetsFolder">
|
|
||||||
<Directory Id="ColorPickerAssetsFolder" Name="ColorPicker" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<!-- Color Picker Resources -->
|
|
||||||
<DirectoryRef Id="ColorPickerAssetsFolder" FileSource="$(var.ColorPickerAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ColorPickerAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="ColorPickerComponentGroup">
|
|
||||||
<Component Id="RemoveColorPickerFolder" Guid="18C0C18C-F38A-4C88-B22C-9222F3A5B2EB" Directory="INSTALLFOLDER" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveColorPickerFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderColorPickerAssetsFolder" Directory="ColorPickerAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
<Include>
|
|
||||||
<!-- Names of folders and projects -->
|
|
||||||
<?define FancyZonesProjectName="FancyZones"?>
|
|
||||||
<?define ImageResizerProjectName="ImageResizer"?>
|
|
||||||
<?define KeyboardManagerProjectName="KeyboardManager"?>
|
|
||||||
<?define PowerAccentProjectName="PowerAccent"?>
|
|
||||||
<?define PowerRenameProjectName="PowerRename"?>
|
|
||||||
<?define FileLocksmithProjectName="FileLocksmith"?>
|
|
||||||
<?define ColorPickerProjectName="ColorPicker"?>
|
|
||||||
<?define PowerOCRProjectName="PowerOCR"?>
|
|
||||||
<?define AwakeProjectName="Awake"?>
|
|
||||||
<?define MouseUtilsProjectName="MouseUtils"?>
|
|
||||||
<?define AlwaysOnTopProjectName="AlwaysOnTop"?>
|
|
||||||
<?define MeasureToolProjectName="MeasureTool"?>
|
|
||||||
<?define HostsProjectName="Hosts"?>
|
|
||||||
<?define MouseWithoutBordersProjectName="MouseWithoutBorders"?>
|
|
||||||
<?define AdvancedPasteProjectName="AdvancedPaste"?>
|
|
||||||
<?define RegistryPreviewProjectName="RegistryPreview"?>
|
|
||||||
<?define PeekProjectName="Peek"?>
|
|
||||||
<?define WorkspacesProjectName="Workspaces"?>
|
|
||||||
|
|
||||||
<?define RepoDir="$(var.ProjectDir)..\..\" ?>
|
|
||||||
<?if $(var.Platform) = x64?>
|
|
||||||
<?define PowerToysPlatform="x64"?>
|
|
||||||
<?define PlatformProgramFiles="[ProgramFiles64Folder]"?>
|
|
||||||
<?define PlatformLK="x64" ?>
|
|
||||||
<?define BinDir="$(var.RepoDir)x64\$(var.Configuration)\" ?>
|
|
||||||
<?else?>
|
|
||||||
<!-- stable WIX 3 doesn't support ARM64, so we build installers as x86 -->
|
|
||||||
<?define PowerToysPlatform="ARM64"?>
|
|
||||||
<!--TODO: define to ARM64 Program files once it's available-->
|
|
||||||
<?define PlatformProgramFiles="[ProgramFiles6432Folder]"?>
|
|
||||||
<?define PlatformLK="arm64" ?>
|
|
||||||
<?define BinDir="$(var.RepoDir)ARM64\$(var.Configuration)\" ?>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<?if $(var.PerUser) = "true"?>
|
|
||||||
<?define PerMachineYesNo="no"?>
|
|
||||||
<?define MSIPath="UserSetup"?>
|
|
||||||
<?define MSIName="PowerToysUserSetup-$(var.Version)-$(var.PowerToysPlatform).msi"?>
|
|
||||||
<?define DefaultInstallDir="LocalAppDataFolder" ?>
|
|
||||||
<?define RegistryScope="HKCU" ?>
|
|
||||||
<?define InstallScope="perUser" ?>
|
|
||||||
<?define InstallPrivileges="limited" ?>
|
|
||||||
<?define UpgradeCodeGUID="D8B559DB-4C98-487A-A33F-50A8EEE42726" ?>
|
|
||||||
<?else?>
|
|
||||||
<?define PerMachineYesNo="yes"?>
|
|
||||||
<?define MSIPath="MachineSetup"?>
|
|
||||||
<?define MSIName="PowerToysSetup-$(var.Version)-$(var.PowerToysPlatform).msi"?>
|
|
||||||
<?define DefaultInstallDir="ProgramFiles64Folder" ?>
|
|
||||||
<?define RegistryScope="HKLM" ?>
|
|
||||||
<?define InstallScope="perMachine" ?>
|
|
||||||
<?define InstallPrivileges="elevated" ?>
|
|
||||||
<?define UpgradeCodeGUID="42B84BF7-5FBF-473B-9C8B-049DC16F7708" ?>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<?define BinX32Dir="$(var.RepoDir)x86\$(var.Configuration)\" ?>
|
|
||||||
</Include>
|
|
||||||
@@ -1,141 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="INSTALLFOLDER" FileSource="$(var.BinDir)">
|
|
||||||
<Component Id="powertoys_per_machine_comp" Win64="yes">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys">
|
|
||||||
<RegistryValue Type="string" Name="InstallScope" Value="$(var.InstallScope)" />
|
|
||||||
</RegistryKey>
|
|
||||||
</Component>
|
|
||||||
<Component Id="powertoys_toast_clsid" Win64="yes">
|
|
||||||
<RemoveFolder Id='Remove_powertoys_toast_clsid' On='uninstall' />
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\CLSID\{DD5CACDA-7C2E-4997-A62A-04A597B58F76}">
|
|
||||||
<RegistryValue Type="string" Value="PowerToys Toast Notifications Background Activator" />
|
|
||||||
<RegistryValue Type="string" Key="LocalServer32" Value="[INSTALLFOLDER]PowerToys.exe -ToastActivated" />
|
|
||||||
<RegistryValue Type="string" Key="LocalServer32" Name="ThreadingModel" Value="Apartment" />
|
|
||||||
</RegistryKey>
|
|
||||||
</Component>
|
|
||||||
<Component Id="powertoys_exe" Win64="yes" Guid="30261594-41A6-4509-AD09-FBC4E692F441">
|
|
||||||
<File Id="PowerToys.exe" Checksum="yes" />
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys">
|
|
||||||
<RegistryValue Type="string" Name="URL Protocol" Value="" KeyPath="yes"/>
|
|
||||||
<RegistryValue Type="string" Value="URL:PowerToys custom internal URI protocol"/>
|
|
||||||
<RegistryKey Key="DefaultIcon">
|
|
||||||
<RegistryValue Type="string" Value="PowerToys.exe" />
|
|
||||||
</RegistryKey>
|
|
||||||
<RegistryKey Key="shell\open\command">
|
|
||||||
<RegistryValue Type="string" Value=""[INSTALLFOLDER]PowerToys.exe" "%1"" />
|
|
||||||
</RegistryKey>
|
|
||||||
</RegistryKey>
|
|
||||||
</Component>
|
|
||||||
<Component Id="License_rtf" Win64="yes" Guid="632C60DF-0DDC-4F14-8F2B-A28136CD9E63">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="License_rtf" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.RepoDir)\installer\License.rtf" Id="License.rtf" />
|
|
||||||
</Component>
|
|
||||||
<Component Id="Notice_md" Win64="yes" Guid="1671B5F5-1260-42CF-83A8-9B3430DFF8C5">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Notice_md" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.RepoDir)\Notice.md" Id="Notice.md" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="DSCModulesReferenceFolder">
|
|
||||||
<Component Id="PowerToysDSCReference" Win64="yes" Guid="40869ACB-0BEB-4911-AE41-5E73BC1586A9">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="DSCModulesReference" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.RepoDir)\src\dsc\Microsoft.PowerToys.Configure\Generated\Microsoft.PowerToys.Configure\$(var.Version).0\Microsoft.PowerToys.Configure.psd1" Id="PTConfReference.psd1" />
|
|
||||||
<File Source="$(var.RepoDir)\src\dsc\Microsoft.PowerToys.Configure\Generated\Microsoft.PowerToys.Configure\$(var.Version).0\Microsoft.PowerToys.Configure.psm1" Id="PTConfReference.psm1" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<?if $(var.PerUser) = "true" ?>
|
|
||||||
<!-- DSC module files for PerUser handled in InstallDSCModule custom action. -->
|
|
||||||
<?else?>
|
|
||||||
<DirectoryRef Id="ProgramFiles64Folder">
|
|
||||||
<Directory Id="WindowsPowerShellFolder" Name="WindowsPowerShell">
|
|
||||||
<Directory Id="PowerShellModulesFolder" Name="Modules">
|
|
||||||
<Directory Id="PowerToysDscFolder" Name="Microsoft.PowerToys.Configure">
|
|
||||||
<Directory Id="PowerToysDscVerFolder" Name="$(var.Version).0">
|
|
||||||
<Component Id="PowerToysDSC" Win64="yes" Guid="C52AECA0-DA73-49B8-BB49-31EF6640FF1F">
|
|
||||||
<!-- Don't fail installation because of DSC. Files are marked as not vital. -->
|
|
||||||
<File Vital="no" Source="$(var.RepoDir)\src\dsc\Microsoft.PowerToys.Configure\Generated\Microsoft.PowerToys.Configure\$(var.Version).0\Microsoft.PowerToys.Configure.psd1" Id="PTConf.psd1" />
|
|
||||||
<File Vital="no" Source="$(var.RepoDir)\src\dsc\Microsoft.PowerToys.Configure\Generated\Microsoft.PowerToys.Configure\$(var.Version).0\Microsoft.PowerToys.Configure.psm1" Id="PTConf.psm1" />
|
|
||||||
</Component>
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</DirectoryRef>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<DirectoryRef Id="ApplicationProgramsFolder">
|
|
||||||
<Component Id="PowerToysStartMenuShortcut" >
|
|
||||||
<Shortcut Id="ApplicationStartMenuShortcut"
|
|
||||||
Name="PowerToys (Preview)"
|
|
||||||
Description="PowerToys - Windows system utilities to maximize productivity"
|
|
||||||
Icon="powertoys.exe"
|
|
||||||
IconIndex="0"
|
|
||||||
Target="[!PowerToys.exe]"
|
|
||||||
WorkingDirectory="INSTALLFOLDER">
|
|
||||||
<ShortcutProperty Key="System.AppUserModel.ID" Value="Microsoft.PowerToysWin32"/>
|
|
||||||
</Shortcut>
|
|
||||||
<RemoveFolder Id="CleanUpStartMenuShortCut" Directory="ApplicationProgramsFolder" On="uninstall"/>
|
|
||||||
<!-- ApplicationStartMenuShortcut is implicitly installed in HKCU, so WIX won't allow changing this reg value to HKLM. -->
|
|
||||||
<RegistryValue Root="HKCU" Key="Software\Microsoft\PowerToys" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="DesktopFolder">
|
|
||||||
<Component Id="DesktopShortcut" >
|
|
||||||
<Condition>INSTALLDESKTOPSHORTCUT</Condition>
|
|
||||||
<!-- DesktopShortcutId is implicitly installed in HKCU, so WIX won't allow changing this reg value to HKLM. -->
|
|
||||||
<RegistryValue Root="HKCU"
|
|
||||||
Key="Software\[Manufacturer]\[ProductName]"
|
|
||||||
Name="desktopshorcutinstalled"
|
|
||||||
Type="integer"
|
|
||||||
Value="1"
|
|
||||||
KeyPath="yes"/>
|
|
||||||
<Shortcut Id="DesktopShortcutId"
|
|
||||||
Name="PowerToys (Preview)"
|
|
||||||
Description="PowerToys - Windows system utilities to maximize productivity"
|
|
||||||
Target="[!PowerToys.exe]"
|
|
||||||
WorkingDirectory="INSTALLFOLDER"
|
|
||||||
Icon="powertoys.exe"
|
|
||||||
Directory="DesktopFolder"/>
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
</Fragment>
|
|
||||||
<Fragment>
|
|
||||||
<ComponentGroup Id="CoreComponents">
|
|
||||||
<Component Id="RemoveCoreFolder" Guid="9330BD69-2D12-4D98-B0C7-66C99564D619" Directory="INSTALLFOLDER" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveCoreFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveBaseApplicationsAssetsFolder" Directory="BaseApplicationsAssetsFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveDSCModulesReferenceFolder" Directory="DSCModulesReferenceFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveWinUI3AppsInstallFolder" Directory="WinUI3AppsInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveWinUI3AppsAssetsFolder" Directory="WinUI3AppsAssetsFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveINSTALLFOLDER" Directory="INSTALLFOLDER" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="powertoys_exe" />
|
|
||||||
<ComponentRef Id="PowerToysStartMenuShortcut"/>
|
|
||||||
<ComponentRef Id="powertoys_per_machine_comp" />
|
|
||||||
<ComponentRef Id="powertoys_toast_clsid" />
|
|
||||||
<ComponentRef Id="License_rtf" />
|
|
||||||
<ComponentRef Id="Notice_md" />
|
|
||||||
<ComponentRef Id="DesktopShortcut" />
|
|
||||||
<ComponentRef Id="PowerToysDSCReference" />
|
|
||||||
<?if $(var.PerUser) = "false" ?>
|
|
||||||
<ComponentRef Id="PowerToysDSC" />
|
|
||||||
<?endif?>
|
|
||||||
</ComponentGroup>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
|
||||||
|
|
||||||
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
||||||
<Fragment>
|
|
||||||
<UI>
|
|
||||||
<Dialog Id="PTInstallDirDlg" Width="370" Height="270" Title="!(loc.InstallDirDlg_Title)">
|
|
||||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" />
|
|
||||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
|
|
||||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
|
||||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
||||||
</Control>
|
|
||||||
|
|
||||||
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallDirDlgDescription)" />
|
|
||||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallDirDlgTitle)" />
|
|
||||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
|
|
||||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
|
||||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
|
||||||
|
|
||||||
<Control Id="FolderLabel" Type="Text" X="20" Y="60" Width="290" Height="30" NoPrefix="yes" Text="!(loc.InstallDirDlgFolderLabel)" />
|
|
||||||
<Control Id="Folder" Type="PathEdit" X="20" Y="100" Width="320" Height="18" Property="WIXUI_INSTALLDIR" Indirect="yes" />
|
|
||||||
<Control Id="ChangeFolder" Type="PushButton" X="20" Y="120" Width="56" Height="17" Text="!(loc.InstallDirDlgChange)" />
|
|
||||||
<Control Id="DesktopShortcutCheckBox" Type="CheckBox" X="20" Y="160" Width="290" Height="17" Property="INSTALLDESKTOPSHORTCUT" CheckBoxValue="1" Text="Create a shortcut for [ProductName] on the desktop." />
|
|
||||||
<Control Id="ScheduledTaskCheckBox" Type="CheckBox" X="20" Y="180" Width="330" Height="17" Property="CREATESCHEDULEDTASK" CheckBoxValue="1" Text="Automatically start [ProductName] at logon." />
|
|
||||||
</Dialog>
|
|
||||||
</UI>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
|
||||||
|
|
||||||
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
||||||
<Fragment>
|
|
||||||
<UI>
|
|
||||||
<Dialog Id="PTLicenseDlg" Width="370" Height="270" Title="!(loc.LicenseAgreementDlg_Title)">
|
|
||||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.LicenseAgreementDlgBannerBitmap)" />
|
|
||||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
|
||||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
|
||||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}[ProductName] License" />
|
|
||||||
<Control Id="Print" Type="PushButton" X="112" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
|
|
||||||
<Publish Event="DoAction" Value="WixUIPrintEula">1</Publish>
|
|
||||||
</Control>
|
|
||||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
|
|
||||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
|
|
||||||
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish>
|
|
||||||
</Control>
|
|
||||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
|
||||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
||||||
</Control>
|
|
||||||
<Control Id="LicenseText" Type="ScrollableText" X="20" Y="60" Width="330" Height="140" Sunken="yes" TabSkip="no">
|
|
||||||
<Text SourceFile="!(wix.WixUILicenseRtf)" />
|
|
||||||
</Control>
|
|
||||||
</Dialog>
|
|
||||||
</UI>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
First-time install dialog sequence:
|
|
||||||
- WixUI_WelcomeDlg
|
|
||||||
- WixUI_LicenseAgreementDlg
|
|
||||||
- WixUI_PTInstallDirDlg
|
|
||||||
- WixUI_VerifyReadyDlg
|
|
||||||
- WixUI_DiskCostDlg
|
|
||||||
|
|
||||||
Maintenance dialog sequence:
|
|
||||||
- WixUI_MaintenanceWelcomeDlg
|
|
||||||
- WixUI_MaintenanceTypeDlg
|
|
||||||
- WixUI_PTInstallDirDlg
|
|
||||||
- WixUI_VerifyReadyDlg
|
|
||||||
|
|
||||||
Patch dialog sequence:
|
|
||||||
- WixUI_WelcomeDlg
|
|
||||||
- WixUI_VerifyReadyDlg
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
||||||
<Fragment>
|
|
||||||
<UI Id="WixUI_PTInstallDir">
|
|
||||||
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
|
|
||||||
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
|
|
||||||
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
|
|
||||||
|
|
||||||
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
|
|
||||||
<Property Id="WixUI_Mode" Value="InstallDir" />
|
|
||||||
|
|
||||||
<DialogRef Id="BrowseDlg" />
|
|
||||||
<DialogRef Id="DiskCostDlg" />
|
|
||||||
<DialogRef Id="ErrorDlg" />
|
|
||||||
<DialogRef Id="FatalError" />
|
|
||||||
<DialogRef Id="FilesInUse" />
|
|
||||||
<DialogRef Id="MsiRMFilesInUse" />
|
|
||||||
<DialogRef Id="PrepareDlg" />
|
|
||||||
<DialogRef Id="ProgressDlg" />
|
|
||||||
<DialogRef Id="ResumeDlg" />
|
|
||||||
<DialogRef Id="UserExit" />
|
|
||||||
|
|
||||||
<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
|
|
||||||
<Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="PTLicenseDlg">NOT Installed</Publish>
|
|
||||||
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="PTLicenseDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
|
|
||||||
<Publish Dialog="PTLicenseDlg" Control="Next" Event="NewDialog" Value="PTInstallDirDlg">1</Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="Back" Event="NewDialog" Value="PTLicenseDlg">1</Publish>
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
|
|
||||||
<Publish Dialog="PTInstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
|
|
||||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="PTInstallDirDlg" Order="1">NOT Installed</Publish>
|
|
||||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>
|
|
||||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
|
||||||
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
|
||||||
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
|
|
||||||
</UI>
|
|
||||||
|
|
||||||
<UIRef Id="WixUI_Common" />
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define EnvironmentVariablesAssetsFiles=?>
|
|
||||||
<?define EnvironmentVariablesAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\EnvironmentVariables\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="EnvironmentVariablesAssetsFolder" Name="EnvironmentVariables" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="EnvironmentVariablesAssetsFolder" FileSource="$(var.EnvironmentVariablesAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--EnvironmentVariablesAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="EnvironmentVariablesComponentGroup">
|
|
||||||
<Component Id="RemoveEnvironmentVariablesFolder" Guid="B62A779D-38BA-46B2-859D-9D242D9B0CC1" Directory="EnvironmentVariablesAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveEnvironmentVariablesFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderEnvironmentVariablesAssetsFolder" Directory="EnvironmentVariablesAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define MonacoPreviewHandlerMonacoAssetsFiles=?>
|
|
||||||
<?define MonacoPreviewHandlerMonacoAssetsFilesPath=$(var.BinDir)Assets\Monaco\?>
|
|
||||||
<?define MonacoPreviewHandlerCustomLanguagesFiles=?>
|
|
||||||
<?define MonacoPreviewHandlerCustomLanguagesFilesPath=$(var.BinDir)Assets\Monaco\customLanguages\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="BaseApplicationsAssetsFolder">
|
|
||||||
<Directory Id="MonacoAssetsFolder" Name="Monaco">
|
|
||||||
<Directory Id="MonacoPreviewHandlerMonacoCustomLanguagesFolder" Name="customLanguages" />
|
|
||||||
<Directory Id="MonacoPreviewHandlerMonacoSRCFolder" Name="monacoSRC" />
|
|
||||||
</Directory>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="MonacoAssetsFolder" FileSource="$(var.MonacoPreviewHandlerMonacoAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--MonacoPreviewHandlerMonacoAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="MonacoPreviewHandlerMonacoCustomLanguagesFolder" FileSource="$(var.MonacoPreviewHandlerCustomLanguagesFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--MonacoPreviewHandlerCustomLanguagesFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="FileExplorerPreviewComponentGroup">
|
|
||||||
<Component Id="RemoveFileExplorerPreviewFolder" Guid="4AB83E58-17F1-41AF-B67F-F6C36EFED28D" Directory="MonacoAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveFileExplorerPreviewFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveMonacoAssetsFolder" Directory="MonacoAssetsFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderMonacoPreviewHandlerCustomLanguagesFolder" Directory="MonacoPreviewHandlerMonacoCustomLanguagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderMonacoPreviewHandlerMonacoSRCFolder" Directory="MonacoPreviewHandlerMonacoSRCFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define FileLocksmithAssetsFiles=?>
|
|
||||||
<?define FileLocksmithAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\FileLocksmith\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="FileLocksmithAssetsInstallFolder" Name="FileLocksmith" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="FileLocksmithAssetsInstallFolder" FileSource="$(var.FileLocksmithAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--FileLocksmithAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="FileLocksmithComponentGroup">
|
|
||||||
<Component Id="RemoveFileLocksmithFolder" Guid="1DAC9A3F-D89C-4730-BF57-1778E011709B" Directory="FileLocksmithAssetsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveFileLocksmithFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderFileLocksmithAssetsFolder" Directory="FileLocksmithAssetsInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define HostsAssetsFiles=?>
|
|
||||||
<?define HostsAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\Hosts\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="HostsAssetsFolder" Name="Hosts" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="HostsAssetsFolder" FileSource="$(var.HostsAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--HostsAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="HostsComponentGroup">
|
|
||||||
<Component Id="RemoveHostsFolder" Guid="7FF19EBB-041D-4498-9826-C9AECEBE86E1" Directory="HostsAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveHostsFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderHostsAssetsFolder" Directory="HostsAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define ImageResizerAssetsFiles=?>
|
|
||||||
<?define ImageResizerAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\ImageResizer\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="ImageResizerAssetsFolder" Name="ImageResizer" />
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="ImageResizerAssetsFolder" FileSource="$(var.ImageResizerAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ImageResizerAssetsFiles_Component_Def-->
|
|
||||||
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="ImageResizerComponentGroup">
|
|
||||||
<Component Id="RemoveImageResizerFolder" Guid="8E5DE86A-8618-4590-9584-51BCD3A14280" Directory="ImageResizerAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveImageResizerFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderImageResizerAssetsFolder" Directory="ImageResizerAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,57 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="INSTALLFOLDER">
|
|
||||||
<Directory Id="KeyboardManagerEditorInstallFolder" Name="KeyboardManagerEditor" />
|
|
||||||
<Directory Id="KeyboardManagerEngineInstallFolder" Name="KeyboardManagerEngine" />
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- KBM Editor -->
|
|
||||||
<DirectoryRef Id="KeyboardManagerEditorInstallFolder" FileSource="$(var.BinDir)KeyboardManagerEditor">
|
|
||||||
<Component Id="Module_KeyboardManager_Editor" Win64="yes" Guid="E9C74E78-970F-4DF5-9CC0-FFD3CCF285B4">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Module_KeyboardManager_Editor" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\PowerToys.KeyboardManagerEditor.exe" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\Microsoft.Toolkit.Win32.UI.XamlHost.dll" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\Microsoft.UI.Xaml.dll" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\msvcp140_app.dll" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\resources.pri" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\vcruntime140_app.dll" />
|
|
||||||
<?if $(sys.BUILDARCH) = x64 ?>
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\vcruntime140_1_app.dll" />
|
|
||||||
<?endif ?>
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\vcruntime140.dll" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\vcruntime140_1.dll" />
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEditor\msvcp140.dll" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- KBM Engine -->
|
|
||||||
<DirectoryRef Id="KeyboardManagerEngineInstallFolder" FileSource="$(var.BinDir)KeyboardManagerEngine">
|
|
||||||
<Component Id="Module_KeyboardManager_Engine" Win64="yes" Guid="3F58FCE3-B44D-4676-94E9-C59F1FE42FFD">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Module_KeyboardManager_Engine" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.BinDir)KeyboardManagerEngine\PowerToys.KeyboardManagerEngine.exe" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="KeyboardManagerComponentGroup">
|
|
||||||
<Component Id="RemoveKeyboardManagerFolder" Guid="C411CB11-4617-40A4-B6DA-1823B49FB9FF" Directory="INSTALLFOLDER" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveKeyboardManagerFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderKeyboardManagerEditorFolder" Directory="KeyboardManagerEditorInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderKeyboardManagerEngineFolder" Directory="KeyboardManagerEngineInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="Module_KeyboardManager_Editor" />
|
|
||||||
<ComponentRef Id="Module_KeyboardManager_Engine" />
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:Fire="http://schemas.microsoft.com/wix/FirewallExtension"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<ComponentGroup Id="MouseWithoutBordersComponentGroup">
|
|
||||||
<Component Id="MouseWithoutBordersFirewallComponent" Directory="INSTALLFOLDER" Guid="FEA59459-EC0E-4636-8E76-4C168235982B">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="MouseWithoutBordersFirewall_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<!-- The program name used here will be generated by generateFileComponents.ps1 -->
|
|
||||||
<Fire:FirewallException Id="MouseWithoutBordersFirewallException1" Name="PowerToys.MouseWithoutBorders" Scope="localSubnet" IgnoreFailure="yes" Program="[#BaseApplicationsFiles_File_PowerToys.MouseWithoutBorders.exe]" />
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define NewPlusAssetsFiles=?>
|
|
||||||
<?define NewPlusAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\NewPlus\?>
|
|
||||||
<?define NewPlusTemplateFilesPath=$(var.BinDir)WinUI3Apps\Assets\NewPlus\Templates\?>
|
|
||||||
<?define NewPlusTemplateSubFilesPath=$(var.BinDir)WinUI3Apps\Assets\NewPlus\Templates\Example folder\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
|
|
||||||
<!-- Assets -->
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="NewPlusAssetsInstallFolder" Name="NewPlus" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="NewPlusAssetsInstallFolder" FileSource="$(var.NewPlusAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--NewPlusAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="NewPlusComponentGroup">
|
|
||||||
<Component Id="RemoveNewPlusFolder" Guid="4189C789-56EB-409D-912E-3F4F3F4F1FFA" Directory="NewPlusAssetsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveNewPlusFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderNewPlusAssetsFolder" Directory="NewPlusAssetsInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Example templates -->
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="NewPlusInstallFolder" Name="NewPlus">
|
|
||||||
<Directory Id="NewPlusTemplatesInstallFolder" Name="Templates">
|
|
||||||
<Directory Id="NewPlusTemplatesSubInstallFolder" Name="Example folder"/>
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="NewPlusTemplatesInstallFolder" FileSource="$(var.NewPlusTemplateFilesPath)">
|
|
||||||
<Component Id="NewPlusTemplateFiles_Component" Win64="yes" Guid="39264075-4B7F-40E3-A76F-21E68576D43E">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="NewPlusTemplateFiles_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="NewPlusTemplateFiles_File_1.md" Source="$(var.NewPlusTemplateFilesPath)Any files or folders placed in the template folder are available via New+.txt" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="NewPlusTemplatesSubInstallFolder" FileSource="$(var.NewPlusTemplateSubFilesPath)">
|
|
||||||
<Component Id="NewPlusTemplateSubFiles_Component" Win64="yes" Guid="7618E61C-CCB8-492F-B284-E1AE2954AF0B">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="NewPlusTemplateSubFiles_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="NewPlusTemplateSubFiles_File_1.md" Source="$(var.NewPlusTemplateSubFilesPath)Example txt file.txt" />
|
|
||||||
<File Id="NewPlusTemplateSubFiles_File_2.md" Source="$(var.NewPlusTemplateSubFilesPath)Another example txt file.txt" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="NewPlusTemplatesComponentGroup">
|
|
||||||
<Component Id="RemoveNewPlusTemplateFolder" Guid="3E9B15CA-A50C-42DA-977F-5E9914562FE7" Directory="NewPlusInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveNewPlusTemplateFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderNewPlusInstallFolder" Directory="NewPlusInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderNewPlusTemplatesInstallFolder" Directory="NewPlusTemplatesInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderNewPlusTemplatesSubInstallFolder" Directory="NewPlusTemplatesSubInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="NewPlusTemplateFiles_Component" />
|
|
||||||
<ComponentRef Id="NewPlusTemplateSubFiles_Component" />
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define PeekAssetsFiles=?>
|
|
||||||
<?define PeekAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\Peek\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="PeekAssetsFolder" Name="Peek" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="PeekAssetsFolder" FileSource="$(var.PeekAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--PeekAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="PeekComponentGroup">
|
|
||||||
<Component Id="RemovePeekFolder" Guid="EF9422D7-FF0A-4887-968A-E61B53ACD23A" Directory="PeekAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemovePeekFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderPeekAssetsFolder" Directory="PeekAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define PowerRenameAssetsFiles=?>
|
|
||||||
<?define PowerRenameAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\PowerRename\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="PowerRenameAssetsFolder" Name="PowerRename" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="PowerRenameAssetsFolder" FileSource="$(var.PowerRenameAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--PowerRenameAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="PowerRenameComponentGroup">
|
|
||||||
<Component Id="RemovePowerRenameFolder" Guid="2028549B-02E3-4D80-BC3F-59AEA37AC73D" Directory="PowerRenameAssetsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemovePowerRenameFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderPowerRenameAssetsFolder" Directory="PowerRenameAssetsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<?define UpgradeCode="6341382d-c0a9-4238-9188-be9607e3fab2"?>
|
|
||||||
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
|
|
||||||
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<Bundle Name="PowerToys (Preview) $(var.PowerToysPlatform)"
|
|
||||||
Version="$(var.Version)"
|
|
||||||
Manufacturer="Microsoft Corporation"
|
|
||||||
IconSourceFile="$(var.BinDir)svgs\icon.ico"
|
|
||||||
UpgradeCode="$(var.UpgradeCode)">
|
|
||||||
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
|
|
||||||
<bal:WixStandardBootstrapperApplication
|
|
||||||
LicenseFile="$(var.RepoDir)\installer\License.rtf"
|
|
||||||
LogoFile="$(var.RepoDir)\installer\PowerToysSetup\Images\logo44.png"
|
|
||||||
SuppressOptionsUI="no"
|
|
||||||
SuppressRepair="yes" />
|
|
||||||
</BootstrapperApplicationRef>
|
|
||||||
|
|
||||||
<util:RegistrySearch Variable="HasWebView2PerMachine" Root="HKLM" Key="SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" Result="exists" />
|
|
||||||
<util:RegistrySearch Variable="HasWebView2PerUser" Root="HKCU" Key="Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" Result="exists" />
|
|
||||||
|
|
||||||
<?if $(var.PerUser) = "true" ?>
|
|
||||||
<Variable Name="InstallFolder" Type="string" Value="[LocalAppDataFolder]PowerToys" bal:Overridable="yes"/>
|
|
||||||
<?else?>
|
|
||||||
<Variable Name="InstallFolder" Type="string" Value="$(var.PlatformProgramFiles)PowerToys" bal:Overridable="yes"/>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<Variable Name="MsiLogFolder" Type="string" Value="[LocalAppDataFolder]\Microsoft\PowerToys\" />
|
|
||||||
<Log Disable="no" Prefix='powertoys-bootstrapper-msi-$(var.Version)' Extension=".log" />
|
|
||||||
|
|
||||||
<!-- Only install/upgrade if the version is greater or equal than the currently installed version of PowerToys, to handle the case in which PowerToys was installed from old MSI (before WiX bootstrapper was used) -->
|
|
||||||
<!-- If the previous installation is a bundle installation, just let WiX run its logic. -->
|
|
||||||
<Variable Name="MinimumVersion" Type="version" Value="0.0.0.0"/>
|
|
||||||
<Variable Name="TargetPowerToysVersion" Type="version" Value="$(var.Version)"/>
|
|
||||||
<Variable Name="DetectedPowerToysVersion" Type="version" Value="0.0.0.0"/>
|
|
||||||
<Variable Name="DetectedPowerToysUserVersion" Type="version" Value="0.0.0.0"/>
|
|
||||||
|
|
||||||
<util:ProductSearch Id="SearchInstalledPowerToysVersion" Variable="DetectedPowerToysVersion" UpgradeCode="42B84BF7-5FBF-473B-9C8B-049DC16F7708" Result="version" />
|
|
||||||
<util:ProductSearch Id="SearchInstalledPowerToysUserVersion" Variable="DetectedPowerToysUserVersion" UpgradeCode="D8B559DB-4C98-487A-A33F-50A8EEE42726" Result="version" />
|
|
||||||
|
|
||||||
<?if $(var.PerUser) = "true" ?>
|
|
||||||
<bal:Condition Message="PowerToys is already installed on this system for all users. We recommend first uninstalling that version before installing this one." >MinimumVersion >= DetectedPowerToysVersion</bal:Condition>
|
|
||||||
<bal:Condition Message="The same or later version of PowerToys is already installed." >TargetPowerToysVersion >= DetectedPowerToysUserVersion OR WixBundleInstalled</bal:Condition>
|
|
||||||
<?else?>
|
|
||||||
<bal:Condition Message="PowerToys is already installed on this system for current user. We recommend first uninstalling that version before installing this one." >MinimumVersion >= DetectedPowerToysUserVersion</bal:Condition>
|
|
||||||
<bal:Condition Message="A later version of PowerToys is already installed." >TargetPowerToysVersion >= DetectedPowerToysVersion OR WixBundleInstalled</bal:Condition>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<Variable Name="DetectedWindowsBuildNumber" Type="version" Value="0"/>
|
|
||||||
<util:RegistrySearch Id="SearchWindowsBuildNumber" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Value="CurrentBuildNumber" Result="value" Format="raw" Variable="DetectedWindowsBuildNumber" />
|
|
||||||
<bal:Condition Message="This application is only supported on Windows 10 version v2004 (build 19041) or higher.">DetectedWindowsBuildNumber >= 19041 OR WixBundleInstalled</bal:Condition>
|
|
||||||
|
|
||||||
<Chain>
|
|
||||||
<ExePackage
|
|
||||||
DisplayName="Closing PowerToys application"
|
|
||||||
Name="terminate_powertoys.cmd"
|
|
||||||
Cache="no"
|
|
||||||
Compressed="yes"
|
|
||||||
Id="TerminatePowerToys"
|
|
||||||
SourceFile="terminate_powertoys.cmd"
|
|
||||||
Permanent="yes"
|
|
||||||
PerMachine="$(var.PerMachineYesNo)"
|
|
||||||
Vital="no">
|
|
||||||
</ExePackage>
|
|
||||||
<ExePackage
|
|
||||||
DisplayName="Microsoft Edge WebView2"
|
|
||||||
Name="MicrosoftEdgeWebview2Setup.exe"
|
|
||||||
Compressed="yes"
|
|
||||||
Id="WebView2"
|
|
||||||
DetectCondition="HasWebView2PerMachine OR HasWebView2PerUser"
|
|
||||||
SourceFile="WebView2\MicrosoftEdgeWebview2Setup.exe"
|
|
||||||
InstallCommand="/silent /install"
|
|
||||||
RepairCommand="/repair /passive"
|
|
||||||
Permanent="yes"
|
|
||||||
PerMachine="$(var.PerMachineYesNo)"
|
|
||||||
UninstallCommand="/silent /uninstall">
|
|
||||||
</ExePackage>
|
|
||||||
<MsiPackage
|
|
||||||
DisplayName="PowerToys MSI"
|
|
||||||
SourceFile="$(var.PowerToysPlatform)\Release\$(var.MSIPath)\$(var.MSIName)"
|
|
||||||
Compressed="yes"
|
|
||||||
DisplayInternalUI="no">
|
|
||||||
<MsiProperty Name="BOOTSTRAPPERINSTALLFOLDER" Value="[InstallFolder]" />
|
|
||||||
</MsiPackage>
|
|
||||||
</Chain>
|
|
||||||
</Bundle>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0"
|
|
||||||
DefaultTargets="Build"
|
|
||||||
InitialTargets="EnsureNuGetPackageBuildImports"
|
|
||||||
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<Import Project="..\..\src\Version.props" Condition="Exists('..\..\src\Version.props')" />
|
|
||||||
<Import Project="..\wix.props" Condition="Exists('..\wix.props')" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<DefineConstants>Version=$(Version)</DefineConstants>
|
|
||||||
<Name>PowerToysBootstrapper</Name>
|
|
||||||
<ProjectGuid>{31d72625-43c1-41b1-b784-bce4a8dc5543}</ProjectGuid>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(PerUser)' == 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);PerUser=true</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(PerUser)' != 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);PerUser=false</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(CIBuild)' == 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);CIBuild=true</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(CIBuild)' != 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);CIBuild=false</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform Condition="'$(Platform)'=='x64'">x64</Platform>
|
|
||||||
<Platform Condition="'$(Platform)'!='x64'">arm64</Platform>
|
|
||||||
<ProductVersion>3.10</ProductVersion>
|
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
|
||||||
<OutputName>PowerToysSetup-$(Version)-$(Platform)</OutputName>
|
|
||||||
<OutputType>Bundle</OutputType>
|
|
||||||
<SuppressAclReset>True</SuppressAclReset>
|
|
||||||
<OutputName Condition=" '$(PerUser)' != 'true' ">PowerToysSetup-$(Version)-$(Platform)</OutputName>
|
|
||||||
<OutputName Condition=" '$(PerUser)' == 'true' ">PowerToysUserSetup-$(Version)-$(Platform)</OutputName>
|
|
||||||
<OutputPath Condition=" '$(PerUser)' != 'true' ">$(Platform)\$(Configuration)\MachineSetup</OutputPath>
|
|
||||||
<OutputPath Condition=" '$(PerUser)' == 'true' ">$(Platform)\$(Configuration)\UserSetup</OutputPath>
|
|
||||||
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
|
|
||||||
<NuGetPackageImportStamp />
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="PowerToys.wxs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<WixExtension Include="WixUtilExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixUtilExtension.dll</HintPath>
|
|
||||||
<Name>WixUtilExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
<WixExtension Include="WixUIExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
|
|
||||||
<Name>WixUIExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
<WixExtension Include="WixNetFxExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
|
|
||||||
<Name>WixNetFxExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
<WixExtension Include="WixNetFxExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixBalExtension.dll</HintPath>
|
|
||||||
<Name>WixBalExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="CustomDialogs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="packages.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(WixTargetsPath)"
|
|
||||||
Condition=" '$(WixTargetsPath)' != '' " />
|
|
||||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets"
|
|
||||||
Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
|
|
||||||
<Target Name="EnsureWixToolsetInstalled"
|
|
||||||
Condition=" '$(WixTargetsImported)' != 'true' ">
|
|
||||||
<Error Text="The WiX Toolset v3 build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
|
|
||||||
</Target>
|
|
||||||
<Target Name="EnsureNuGetPackageBuildImports"
|
|
||||||
BeforeTargets="PrepareForBuild">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Error Condition="!Exists('..\wix.props')"
|
|
||||||
Text="$([System.String]::Format('$(ErrorText)', '..\wix.props'))" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!-- Prevents NU1503 -->
|
|
||||||
<Target Name="_IsProjectRestoreSupported" Returns="@(_ValidProjectsForRestore)">
|
|
||||||
<ItemGroup>
|
|
||||||
<_ValidProjectsForRestore Include="$(MSBuildProjectFullPath)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
|
||||||
<Target Name="Restore" />
|
|
||||||
</Project>
|
|
||||||
@@ -1,201 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureNuGetPackageBuildImports"
|
|
||||||
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<Import Project="..\..\src\Version.props" Condition="Exists('..\..\src\Version.props')" />
|
|
||||||
<Import Project="..\..\src\CmdPalVersion.props" Condition="Exists('..\..\src\CmdPalVersion.props')" />
|
|
||||||
<Import Project="..\wix.props" Condition="Exists('..\wix.props')" />
|
|
||||||
<PropertyGroup Condition="'$(Platform)' == 'x64'">
|
|
||||||
<DefineConstants>Version=$(Version);MonacoSRCHarvestPath=$(ProjectDir)..\..\x64\$(Configuration)\Assets\Monaco\monacoSRC;CmdPalVersion=$(CmdPalVersion)</DefineConstants>
|
|
||||||
<!-- THIS IS AN INNER LOOP OPTIMIZATION
|
|
||||||
The build pipeline builds the Settings and Launcher projects for Publication
|
|
||||||
using a specific profile. If you're doing local installer builds, this will
|
|
||||||
simulate the build pipeline doing that for you. -->
|
|
||||||
<PreBuildEvent>IF NOT DEFINED IsPipeline (
|
|
||||||
call "$([MSBuild]::GetVsInstallRoot())\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 -winsdk=10.0.19041.0 -vcvars_ver=$(VCToolsVersion)
|
|
||||||
SET PTRoot=$(SolutionDir)\..
|
|
||||||
call "..\..\..\publish.cmd" x64
|
|
||||||
)
|
|
||||||
call powershell.exe -NonInteractive -executionpolicy Unrestricted -File $(MSBuildThisFileDirectory)\generateMonacoWxs.ps1 -monacoWxsFile "$(MSBuildThisFileDirectory)\MonacoSRC.wxs"
|
|
||||||
</PreBuildEvent>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Platform)' != 'x64'">
|
|
||||||
<DefineConstants>Version=$(Version);MonacoSRCHarvestPath=$(ProjectDir)..\..\ARM64\$(Configuration)\Assets\Monaco\monacoSRC;CmdPalVersion=$(CmdPalVersion);</DefineConstants>
|
|
||||||
<PreBuildEvent>IF NOT DEFINED IsPipeline (
|
|
||||||
call "$([MSBuild]::GetVsInstallRoot())\Common7\Tools\VsDevCmd.bat" -arch=arm64 -host_arch=amd64 -winsdk=10.0.19041.0 -vcvars_ver=$(VCToolsVersion)
|
|
||||||
SET PTRoot=$(SolutionDir)\..
|
|
||||||
call "..\..\..\publish.cmd" arm64
|
|
||||||
)
|
|
||||||
call powershell.exe -NonInteractive -executionpolicy Unrestricted -File $(MSBuildThisFileDirectory)\generateMonacoWxs.ps1 -monacoWxsFile "$(MSBuildThisFileDirectory)\MonacoSRC.wxs"
|
|
||||||
</PreBuildEvent>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<RunPostBuildEvent>Always</RunPostBuildEvent>
|
|
||||||
<PostBuildEvent>
|
|
||||||
call move /Y ..\..\..\AdvancedPaste.wxs.bk ..\..\..\AdvancedPaste.wxs
|
|
||||||
call move /Y ..\..\..\Awake.wxs.bk ..\..\..\Awake.wxs
|
|
||||||
call move /Y ..\..\..\BaseApplications.wxs.bk ..\..\..\BaseApplications.wxs
|
|
||||||
call move /Y ..\..\..\CmdPal.wxs.bk ..\..\..\CmdPal.wxs
|
|
||||||
call move /Y ..\..\..\ColorPicker.wxs.bk ..\..\..\ColorPicker.wxs
|
|
||||||
call move /Y ..\..\..\Core.wxs.bk ..\..\..\Core.wxs
|
|
||||||
call move /Y ..\..\..\EnvironmentVariables.wxs.bk ..\..\..\EnvironmentVariables.wxs
|
|
||||||
call move /Y ..\..\..\FileExplorerPreview.wxs.bk ..\..\..\FileExplorerPreview.wxs
|
|
||||||
call move /Y ..\..\..\FileLocksmith.wxs.bk ..\..\..\FileLocksmith.wxs
|
|
||||||
call move /Y ..\..\..\Hosts.wxs.bk ..\..\..\Hosts.wxs
|
|
||||||
call move /Y ..\..\..\ImageResizer.wxs.bk ..\..\..\ImageResizer.wxs
|
|
||||||
call move /Y ..\..\..\KeyboardManager.wxs.bk ..\..\..\KeyboardManager.wxs
|
|
||||||
call move /Y ..\..\..\MouseWithoutBorders.wxs.bk ..\..\..\MouseWithoutBorders.wxs
|
|
||||||
call move /Y ..\..\..\NewPlus.wxs.bk ..\..\..\NewPlus.wxs
|
|
||||||
call move /Y ..\..\..\Peek.wxs.bk ..\..\..\Peek.wxs
|
|
||||||
call move /Y ..\..\..\PowerRename.wxs.bk ..\..\..\PowerRename.wxs
|
|
||||||
call move /Y ..\..\..\Product.wxs.bk ..\..\..\Product.wxs
|
|
||||||
call move /Y ..\..\..\RegistryPreview.wxs.bk ..\..\..\RegistryPreview.wxs
|
|
||||||
call move /Y ..\..\..\Resources.wxs.bk ..\..\..\Resources.wxs
|
|
||||||
call move /Y ..\..\..\Run.wxs.bk ..\..\..\Run.wxs
|
|
||||||
call move /Y ..\..\..\Settings.wxs.bk ..\..\..\Settings.wxs
|
|
||||||
call move /Y ..\..\..\ShortcutGuide.wxs.bk ..\..\..\ShortcutGuide.wxs
|
|
||||||
call move /Y ..\..\..\Tools.wxs.bk ..\..\..\Tools.wxs
|
|
||||||
call move /Y ..\..\..\WinAppSDK.wxs.bk ..\..\..\WinAppSDK.wxs
|
|
||||||
call move /Y ..\..\..\WinUI3Applications.wxs.bk ..\..\..\WinUI3Applications.wxs
|
|
||||||
call move /Y ..\..\..\Workspaces.wxs.bk ..\..\..\Workspaces.wxs
|
|
||||||
</PostBuildEvent>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<Name>PowerToysInstaller</Name>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(PerUser)' == 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);PerUser=true</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(PerUser)' != 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);PerUser=false</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(CIBuild)' == 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);CIBuild=true</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" Condition=" '$(CIBuild)' != 'true' ">
|
|
||||||
<DefineConstants>$(DefineConstants);CIBuild=false</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- We do not support debug installer builds -->
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
|
||||||
<Platform>$(Platform)</Platform>
|
|
||||||
<ProductVersion>3.10</ProductVersion>
|
|
||||||
<ProjectGuid>022a9d30-7c4f-416d-a9df-5ff2661cc0ad</ProjectGuid>
|
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
|
||||||
<OutputName Condition=" '$(PerUser)' != 'true' ">PowerToysSetup-$(Version)-$(Platform)</OutputName>
|
|
||||||
<OutputName Condition=" '$(PerUser)' == 'true' ">PowerToysUserSetup-$(Version)-$(Platform)</OutputName>
|
|
||||||
<OutputType>Package</OutputType>
|
|
||||||
<SuppressAclReset>True</SuppressAclReset>
|
|
||||||
<NuGetPackageImportStamp>
|
|
||||||
</NuGetPackageImportStamp>
|
|
||||||
<!-- 1076 and ICE91 - warning: using this configuration for perMachine install could cause problems. -->
|
|
||||||
<!-- 1026 - warning: file ID is too long -->
|
|
||||||
<SuppressIces>ICE91</SuppressIces>
|
|
||||||
<SuppressSpecificWarnings>1026;1076</SuppressSpecificWarnings>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputPath Condition=" '$(PerUser)' != 'true' ">$(Platform)\$(Configuration)\MachineSetup</OutputPath>
|
|
||||||
<OutputPath Condition=" '$(PerUser)' == 'true' ">$(Platform)\$(Configuration)\UserSetup</OutputPath>
|
|
||||||
<IntermediateOutputPath Condition=" '$(PerUser)' != 'true' ">obj\$(Platform)\$(Configuration)\MachineSetup</IntermediateOutputPath>
|
|
||||||
<IntermediateOutputPath Condition=" '$(PerUser)' == 'true' ">obj\$(Platform)\$(Configuration)\UserSetup</IntermediateOutputPath>
|
|
||||||
<SuppressIces>ICE40</SuppressIces>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- suppress warning 1108 regarding -sh being deprecated -->
|
|
||||||
<!-- -sh suppresses file information which was causing wix build to hang in CI -->
|
|
||||||
<LinkerAdditionalOptions>-v -sh -sw1108</LinkerAdditionalOptions>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="CustomDialogs\PTInstallDirDlg.wxs" />
|
|
||||||
<Compile Include="CustomDialogs\PTLicenseDlg.wxs" />
|
|
||||||
<Compile Include="CustomDialogs\WixUI_PTInstallDir.wxs" />
|
|
||||||
<Compile Include="NewPlus.wxs" />
|
|
||||||
<Compile Include="Product.wxs" />
|
|
||||||
<Compile Include="AdvancedPaste.wxs" />
|
|
||||||
<Compile Include="Awake.wxs" />
|
|
||||||
<Compile Include="BaseApplications.wxs" />
|
|
||||||
<Compile Include="CmdPal.wxs" />
|
|
||||||
<Compile Include="ColorPicker.wxs" />
|
|
||||||
<Compile Include="EnvironmentVariables.wxs" />
|
|
||||||
<Compile Include="FileExplorerPreview.wxs" />
|
|
||||||
<Compile Include="FileLocksmith.wxs" />
|
|
||||||
<Compile Include="Hosts.wxs" />
|
|
||||||
<Compile Include="ImageResizer.wxs" />
|
|
||||||
<Compile Include="KeyboardManager.wxs" />
|
|
||||||
<Compile Include="Peek.wxs" />
|
|
||||||
<Compile Include="PowerRename.wxs" />
|
|
||||||
<Compile Include="RegistryPreview.wxs" />
|
|
||||||
<Compile Include="Run.wxs" />
|
|
||||||
<Compile Include="Settings.wxs" />
|
|
||||||
<Compile Include="ShortcutGuide.wxs" />
|
|
||||||
<Compile Include="Tools.wxs" />
|
|
||||||
<Compile Include="MouseWithoutBorders.wxs" />
|
|
||||||
<Compile Include="WinUI3Applications.wxs" />
|
|
||||||
<Compile Include="MonacoSRC.wxs" />
|
|
||||||
<Compile Include="Core.wxs" />
|
|
||||||
<Compile Include="Resources.wxs" />
|
|
||||||
<Compile Include="WinAppSDK.wxs" />
|
|
||||||
<Compile Include="Workspaces.wxs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<WixExtension Include="WixFirewallExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixFirewallExtension.dll</HintPath>
|
|
||||||
<Name>WixFirewallExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
<WixExtension Include="WixUtilExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixUtilExtension.dll</HintPath>
|
|
||||||
<Name>WixUtilExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
<WixExtension Include="WixUIExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
|
|
||||||
<Name>WixUIExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
<WixExtension Include="WixNetFxExtension">
|
|
||||||
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
|
|
||||||
<Name>WixNetFxExtension</Name>
|
|
||||||
</WixExtension>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="CustomDialogs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\PowerToysSetupCustomActions\PowerToysSetupCustomActions.vcxproj">
|
|
||||||
<Name>PowerToysSetupCustomActions</Name>
|
|
||||||
<Project>{32f3882b-f2d6-4586-b5ed-11e39e522bd3}</Project>
|
|
||||||
<Private>True</Private>
|
|
||||||
<DoNotHarvest>True</DoNotHarvest>
|
|
||||||
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
|
|
||||||
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="packages.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
|
|
||||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
|
|
||||||
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
|
|
||||||
<Error Text="The WiX Toolset v3 build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
|
|
||||||
</Target>
|
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Error Condition="!Exists('..\wix.props')" Text="$([System.String]::Format('$(ErrorText)', '..\wix.props'))" />
|
|
||||||
</Target>
|
|
||||||
<!--
|
|
||||||
To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
||||||
Other similar extension points exist, see Wix.targets.
|
|
||||||
<Target Name="BeforeBuild">
|
|
||||||
</Target>
|
|
||||||
<Target Name="AfterBuild">
|
|
||||||
</Target> -->
|
|
||||||
<Target Name="BeforeBuild">
|
|
||||||
<HeatDirectory Directory="..\..\src\Monaco\monacoSRC" PreprocessorVariable="var.MonacoSRCHarvestPath" OutputFile="MonacoSRC.wxs" ComponentGroupName="MonacoSRCHeatGenerated" DirectoryRefId="MonacoPreviewHandlerMonacoSRCFolder" AutogenerateGuids="false" GenerateGuidsNow="true" ToolPath="$(WixToolPath)" RunAsSeparateProcess="true" SuppressFragments="false" SuppressRegistry="false" SuppressRootDirectory="true" />
|
|
||||||
</Target>
|
|
||||||
<!-- Prevents NU1503 -->
|
|
||||||
<Target Name="_IsProjectRestoreSupported" Returns="@(_ValidProjectsForRestore)">
|
|
||||||
<ItemGroup>
|
|
||||||
<_ValidProjectsForRestore Include="$(MSBuildProjectFullPath)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
|
||||||
<Target Name="Restore" />
|
|
||||||
</Project>
|
|
||||||
@@ -1,540 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<!-- WiX Components with multiple files cause issues due to the way Windows installs them.
|
|
||||||
Windows decides whether to install a component by checking the existence of KeyPath file and its version.
|
|
||||||
Thus, if some files were updated but KeyPath file was not, the component wouldn't be updated.
|
|
||||||
Some resource files, e.g. images, do not have version, so even if Component has only a single image and a static GUID, it won't be updated.
|
|
||||||
|
|
||||||
Considering all of the above, it's much simpler to just have one file per Component with an implicit Guid.
|
|
||||||
|
|
||||||
More info:
|
|
||||||
- https://stackoverflow.com/a/1604348/657390
|
|
||||||
- https://stackoverflow.com/a/1422121/657390
|
|
||||||
- https://robmensching.com/blog/posts/2003/10/18/component-rules-101/
|
|
||||||
- https://robmensching.com/blog/posts/2003/10/4/windows-installer-components-introduction/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<Product Id="*"
|
|
||||||
Name="PowerToys (Preview)"
|
|
||||||
Language="1033"
|
|
||||||
Version="$(var.Version)"
|
|
||||||
Manufacturer="Microsoft Corporation"
|
|
||||||
UpgradeCode="$(var.UpgradeCodeGUID)">
|
|
||||||
|
|
||||||
|
|
||||||
<Package InstallerVersion="500" Compressed="yes" InstallScope="$(var.InstallScope)" InstallPrivileges="$(var.InstallPrivileges)" Platform="$(var.PlatformLK)" />
|
|
||||||
|
|
||||||
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." />
|
|
||||||
|
|
||||||
<Upgrade Id="$(var.UpgradeCodeGUID)">
|
|
||||||
<UpgradeVersion
|
|
||||||
Minimum="0.0.0" Maximum="$(var.Version)"
|
|
||||||
Property="PREVIOUSVERSIONSINSTALLED"
|
|
||||||
IncludeMinimum="yes" IncludeMaximum="no" />
|
|
||||||
</Upgrade>
|
|
||||||
|
|
||||||
<MediaTemplate EmbedCab="yes" />
|
|
||||||
|
|
||||||
<Property Id="REINSTALLMODE" Value="amus" />
|
|
||||||
<Property Id="WINDOWSBUILDNUMBER" Secure="yes">
|
|
||||||
<RegistrySearch Id="BuildNumberSearch" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Name="CurrentBuildNumber" Type="raw" />
|
|
||||||
</Property>
|
|
||||||
<Condition Message="This application is only supported on Windows 10 version v2004 (build 19041) or higher.">
|
|
||||||
<![CDATA[(WINDOWSBUILDNUMBER >= 19041)]]>
|
|
||||||
</Condition>
|
|
||||||
|
|
||||||
<Icon Id="powertoys.exe" SourceFile="$(var.BinDir)svgs\icon.ico"/>
|
|
||||||
|
|
||||||
<Property Id="ARPPRODUCTICON" Value="powertoys.exe" />
|
|
||||||
|
|
||||||
<Feature Id="CoreFeature" Title="PowerToys" AllowAdvertise="no" Absent="disallow" TypicalDefault="install"
|
|
||||||
Description="Contains all PowerToys features.">
|
|
||||||
<ComponentGroupRef Id="CoreComponents" />
|
|
||||||
<ComponentGroupRef Id="BaseApplicationsComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="WinUI3ApplicationsComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="AwakeComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="ColorPickerComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="FileExplorerPreviewComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="FileLocksmithComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="HostsComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="ImageResizerComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="KeyboardManagerComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="PeekComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="PowerRenameComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="RegistryPreviewComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="RunComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="SettingsComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="ShortcutGuideComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="MouseWithoutBordersComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="EnvironmentVariablesComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="AdvancedPasteComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="NewPlusComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="NewPlusTemplatesComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="ResourcesComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="WindowsAppSDKComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="ToolComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="MonacoSRCHeatGenerated" />
|
|
||||||
<ComponentGroupRef Id="WorkspacesComponentGroup" />
|
|
||||||
<ComponentGroupRef Id="CmdPalComponentGroup" />
|
|
||||||
</Feature>
|
|
||||||
|
|
||||||
<SetProperty Id="ARPINSTALLLOCATION" Value="[INSTALLFOLDER]" After="CostFinalize" />
|
|
||||||
|
|
||||||
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
|
|
||||||
|
|
||||||
<UI>
|
|
||||||
<UIRef Id="WixUI_InstallDir"/>
|
|
||||||
<Publish Dialog="WelcomeDlg"
|
|
||||||
Control="Next"
|
|
||||||
Event="NewDialog"
|
|
||||||
Value="InstallDirDlg"
|
|
||||||
Order="99">1</Publish>
|
|
||||||
<Publish Dialog="InstallDirDlg"
|
|
||||||
Control="Back"
|
|
||||||
Event="NewDialog"
|
|
||||||
Value="WelcomeDlg"
|
|
||||||
Order="99">1</Publish>
|
|
||||||
|
|
||||||
<Publish Dialog="ExitDialog"
|
|
||||||
Control="Finish"
|
|
||||||
Event="EndDialog"
|
|
||||||
Value="Return">NOT Installed</Publish>
|
|
||||||
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Property="_REMOVE_ALL" Value="Yes">1</Publish>
|
|
||||||
<Publish Dialog="UserExit" Control="Finish" Event="DoAction" Value="TelemetryLogInstallCancel">NOT Installed</Publish>
|
|
||||||
<Publish Dialog="FatalError" Control="Finish" Event="DoAction" Value="TelemetryLogInstallFail">NOT Installed</Publish>
|
|
||||||
<Publish Dialog="UserExit" Control="Finish" Event="DoAction" Value="TelemetryLogUninstallCancel">Installed AND _REMOVE_ALL="Yes"</Publish>
|
|
||||||
<Publish Dialog="FatalError" Control="Finish" Event="DoAction" Value="TelemetryLogUninstallFail">Installed AND _REMOVE_ALL="Yes"</Publish>
|
|
||||||
<Publish Dialog="UserExit" Control="Finish" Event="DoAction" Value="TelemetryLogRepairCancel">Installed AND NOT (_REMOVE_ALL="Yes")</Publish>
|
|
||||||
<Publish Dialog="FatalError" Control="Finish" Event="DoAction" Value="TelemetryLogRepairFail">Installed AND NOT (_REMOVE_ALL="Yes")</Publish>
|
|
||||||
</UI>
|
|
||||||
|
|
||||||
<WixVariable Id="WixUIBannerBmp" Value="$(var.ProjectDir)\Images\banner.png" />
|
|
||||||
<WixVariable Id="WixUIDialogBmp" Value="$(var.ProjectDir)\Images\dialog.png" />
|
|
||||||
<WixVariable Id="WixUILicenseRtf" Value="$(var.RepoDir)\installer\License.rtf" />
|
|
||||||
<Property Id="INSTALLSTARTMENUSHORTCUT" Value="1"/>
|
|
||||||
<Property Id="WixShellExecTarget" Value="[#PowerToys_ActionRunner.exe]" />
|
|
||||||
|
|
||||||
<SetProperty Action="SetDEFAULTBOOTSTRAPPERINSTALLFOLDER" Id="DEFAULTBOOTSTRAPPERINSTALLFOLDER" Value="[$(var.DefaultInstallDir)]PowerToys" Before="SetBOOTSTRAPPERINSTALLFOLDER" Sequence="execute"></SetProperty>
|
|
||||||
|
|
||||||
<!-- In case we didn't receive a value from the bootstrapper. -->
|
|
||||||
<SetProperty Action="SetBOOTSTRAPPERINSTALLFOLDER" Id="BOOTSTRAPPERINSTALLFOLDER" Value="[DEFAULTBOOTSTRAPPERINSTALLFOLDER]" Before="DetectPrevInstallPath" Sequence="execute">
|
|
||||||
<![CDATA[BOOTSTRAPPERINSTALLFOLDER = ""]]>
|
|
||||||
</SetProperty>
|
|
||||||
<!-- Have to compare value sent by bootstrapper to default to avoid using it, as a check to verify it's not default. This hack can be removed if it's possible to set the bootstrapper option to the previous install folder-->
|
|
||||||
<SetProperty Action="SetINSTALLFOLDERTOPREVIOUSINSTALLFOLDER" Id="INSTALLFOLDER" Value="[PREVIOUSINSTALLFOLDER]" After="DetectPrevInstallPath" Sequence="execute">
|
|
||||||
<![CDATA[BOOTSTRAPPERINSTALLFOLDER = DEFAULTBOOTSTRAPPERINSTALLFOLDER AND PREVIOUSINSTALLFOLDER <> ""]]>
|
|
||||||
</SetProperty>
|
|
||||||
<SetProperty Action="SetINSTALLFOLDERTOBOOTSTRAPPERINSTALLFOLDER" Id="INSTALLFOLDER" Value="[BOOTSTRAPPERINSTALLFOLDER]" After="DetectPrevInstallPath" Sequence="execute">
|
|
||||||
<![CDATA[BOOTSTRAPPERINSTALLFOLDER <> DEFAULTBOOTSTRAPPERINSTALLFOLDER OR PREVIOUSINSTALLFOLDER = ""]]>
|
|
||||||
</SetProperty>
|
|
||||||
|
|
||||||
<SetProperty Id="InstallScope" Value="$(var.InstallScope)" Before="DetectPrevInstallPath" Sequence="execute"></SetProperty>
|
|
||||||
<InstallExecuteSequence>
|
|
||||||
<Custom Action="DetectPrevInstallPath" After="AppSearch" />
|
|
||||||
<Custom Action="SetLaunchPowerToysParam" Before="LaunchPowerToys" />
|
|
||||||
<Custom Action="SetInstallCmdPalPackageParam" Before="InstallCmdPalPackage" />
|
|
||||||
<Custom Action="SetUninstallCommandNotFoundParam" Before="UninstallCommandNotFound" />
|
|
||||||
<Custom Action="SetUpgradeCommandNotFoundParam" Before="UpgradeCommandNotFound" />
|
|
||||||
<Custom Action="SetApplyModulesRegistryChangeSetsParam" Before="ApplyModulesRegistryChangeSets" />
|
|
||||||
|
|
||||||
<?if $(var.PerUser) = "true" ?>
|
|
||||||
<Custom Action="SetInstallDSCModuleParam" Before="InstallDSCModule" />
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<Custom Action="SetUnApplyModulesRegistryChangeSetsParam" Before="UnApplyModulesRegistryChangeSets" />
|
|
||||||
<Custom Action="CheckGPO" After="InstallInitialize">
|
|
||||||
NOT Installed
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="ApplyModulesRegistryChangeSets" After="InstallFiles">
|
|
||||||
NOT Installed
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="InstallCmdPalPackage" After="InstallFiles">
|
|
||||||
NOT Installed
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="WixCloseApplications" Before="RemoveFiles" />
|
|
||||||
<Custom Action="RemovePowerToysSchTasks" After="RemoveFiles" />
|
|
||||||
<!-- TODO: Use to activate embedded MSIX -->
|
|
||||||
<!--<Custom Action="InstallEmbeddedMSIXTask" After="InstallFinalize">
|
|
||||||
NOT Installed
|
|
||||||
</Custom>-->
|
|
||||||
<?if $(var.PerUser) = "true" ?>
|
|
||||||
<Custom Action="InstallDSCModule" After="InstallFiles"/>
|
|
||||||
<?endif?>
|
|
||||||
<Custom Action="TelemetryLogInstallSuccess" After="InstallFinalize">
|
|
||||||
NOT Installed
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="TelemetryLogUninstallSuccess" After="InstallFinalize">
|
|
||||||
Installed and (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UnApplyModulesRegistryChangeSets" Before="RemoveFiles">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UnRegisterContextMenuPackages" Before="RemoveFiles">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="CleanImageResizerRuntimeRegistry" Before="RemoveFiles">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="CleanFileLocksmithRuntimeRegistry" Before="RemoveFiles">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="CleanPowerRenameRuntimeRegistry" Before="RemoveFiles">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="CleanNewPlusRuntimeRegistry" Before="RemoveFiles">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UnRegisterCmdPalPackage" Before="RemoveFiles">
|
|
||||||
Installed AND (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UnsetAdvancedPasteAPIKey" Before="RemoveFiles">
|
|
||||||
Installed AND (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UninstallCommandNotFound" Before="RemoveFiles">
|
|
||||||
Installed AND (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UpgradeCommandNotFound" After="InstallFiles">
|
|
||||||
WIX_UPGRADE_DETECTED
|
|
||||||
</Custom>
|
|
||||||
<Custom Action="UninstallServicesTask" After="InstallFinalize">
|
|
||||||
Installed AND (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<!-- TODO: Use to activate embedded MSIX -->
|
|
||||||
<!--<Custom Action="UninstallEmbeddedMSIXTask" After="InstallFinalize">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>-->
|
|
||||||
<?if $(var.PerUser) = "true" ?>
|
|
||||||
<Custom Action="UninstallDSCModule" After="InstallFinalize">
|
|
||||||
Installed AND (REMOVE="ALL")
|
|
||||||
</Custom>
|
|
||||||
<?endif?>
|
|
||||||
<Custom Action="TerminateProcesses" Before="InstallValidate" />
|
|
||||||
<Custom Action="LaunchPowerToys" Before="InstallFinalize">NOT Installed</Custom>
|
|
||||||
|
|
||||||
<!-- Clean Video Conference Mute registry keys that might be around from previous installations. We've deprecated this utility since then. -->
|
|
||||||
<Custom Action="CleanVideoConferenceRegistry" Before="InstallFinalize">NOT Installed</Custom>
|
|
||||||
|
|
||||||
</InstallExecuteSequence>
|
|
||||||
|
|
||||||
<CustomAction Id="SetLaunchPowerToysParam"
|
|
||||||
Property="LaunchPowerToys"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetInstallCmdPalPackageParam"
|
|
||||||
Property="InstallCmdPalPackage"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction
|
|
||||||
Id="LaunchPowerToys"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="LaunchPowerToysCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction
|
|
||||||
Id="TerminateProcesses"
|
|
||||||
Return="ignore"
|
|
||||||
Execute="immediate"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TerminateProcessesCA" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetApplyModulesRegistryChangeSetsParam"
|
|
||||||
Property="ApplyModulesRegistryChangeSets"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetUnApplyModulesRegistryChangeSetsParam"
|
|
||||||
Property="UnApplyModulesRegistryChangeSets"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetInstallDSCModuleParam"
|
|
||||||
Property="InstallDSCModule"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetUninstallCommandNotFoundParam"
|
|
||||||
Property="UninstallCommandNotFound"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetUpgradeCommandNotFoundParam"
|
|
||||||
Property="UpgradeCommandNotFound"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetCreateWinAppSDKHardlinksParam"
|
|
||||||
Property="CreateWinAppSDKHardlinks"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetDeleteWinAppSDKHardlinksParam"
|
|
||||||
Property="DeleteWinAppSDKHardlinks"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetCreatePTInteropHardlinksParam"
|
|
||||||
Property="CreatePTInteropHardlinks"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetDeletePTInteropHardlinksParam"
|
|
||||||
Property="DeletePTInteropHardlinks"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetCreateDotnetRuntimeHardlinksParam"
|
|
||||||
Property="CreateDotnetRuntimeHardlinks"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="SetDeleteDotnetRuntimeHardlinksParam"
|
|
||||||
Property="DeleteDotnetRuntimeHardlinks"
|
|
||||||
Value="[INSTALLFOLDER]" />
|
|
||||||
|
|
||||||
<CustomAction Id="RemovePowerToysSchTasks"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="no"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="RemoveScheduledTasksCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="InstallEmbeddedMSIXTask"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="InstallEmbeddedMSIXCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UninstallEmbeddedMSIXTask"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UninstallEmbeddedMSIXCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="InstallDSCModule"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="InstallDSCModuleCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UninstallDSCModule"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UninstallDSCModuleCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UninstallServicesTask"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UninstallServicesCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UninstallCommandNotFound"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UninstallCommandNotFoundModuleCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UpgradeCommandNotFound"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UpgradeCommandNotFoundModuleCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UnsetAdvancedPasteAPIKey"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UnsetAdvancedPasteAPIKeyCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogInstallSuccess"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogInstallSuccessCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogInstallCancel"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogInstallCancelCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogInstallFail"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogInstallFailCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogUninstallSuccess"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogUninstallSuccessCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogUninstallCancel"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogUninstallCancelCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogUninstallFail"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogUninstallFailCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogRepairCancel"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogRepairCancelCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="TelemetryLogRepairFail"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="TelemetryLogRepairFailCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="DetectPrevInstallPath"
|
|
||||||
Return="check"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="DetectPrevInstallPathCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="CleanVideoConferenceRegistry"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="CleanVideoConferenceRegistryCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="ApplyModulesRegistryChangeSets"
|
|
||||||
Return="check"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="ApplyModulesRegistryChangeSetsCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UnApplyModulesRegistryChangeSets"
|
|
||||||
Return="check"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UnApplyModulesRegistryChangeSetsCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UnRegisterContextMenuPackages"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UnRegisterContextMenuPackagesCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="CleanImageResizerRuntimeRegistry"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="CleanImageResizerRuntimeRegistryCA"
|
|
||||||
/>
|
|
||||||
<CustomAction Id="CleanFileLocksmithRuntimeRegistry"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="CleanFileLocksmithRuntimeRegistryCA"
|
|
||||||
/>
|
|
||||||
<CustomAction Id="CleanPowerRenameRuntimeRegistry"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="CleanPowerRenameRuntimeRegistryCA"
|
|
||||||
/>
|
|
||||||
<CustomAction Id="CleanNewPlusRuntimeRegistry"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="CleanNewPlusRuntimeRegistryCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="UnRegisterCmdPalPackage"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="UnRegisterCmdPalPackageCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="CheckGPO"
|
|
||||||
Return="check"
|
|
||||||
Impersonate="yes"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="CheckGPOCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CustomAction Id="InstallCmdPalPackage"
|
|
||||||
Return="ignore"
|
|
||||||
Impersonate="yes"
|
|
||||||
Execute="deferred"
|
|
||||||
BinaryKey="PTCustomActions"
|
|
||||||
DllEntry="InstallCmdPalPackageCA"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- Close 'PowerToys.exe' before uninstall-->
|
|
||||||
<Property Id="MSIRESTARTMANAGERCONTROL" Value="DisableShutdown" />
|
|
||||||
<Property Id="MSIFASTINSTALL" Value="DisableShutdown" />
|
|
||||||
<util:CloseApplication CloseMessage="yes" Target="PowerToys.exe" ElevatedCloseMessage="yes" RebootPrompt="no" TerminateProcess="0" />
|
|
||||||
</Product>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<Binary Id="PTCustomActions" SourceFile="$(var.PowerToysSetupCustomActions.TargetPath)" />
|
|
||||||
</Fragment>
|
|
||||||
|
|
||||||
<!-- Installation directory structure -->
|
|
||||||
<Fragment>
|
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
||||||
<Directory Id="$(var.DefaultInstallDir)">
|
|
||||||
<Directory Id="INSTALLFOLDER" Name="PowerToys">
|
|
||||||
<Directory Id="BaseApplicationsAssetsFolder" Name="Assets">
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="DSCModulesReferenceFolder" Name="DSCModules" />
|
|
||||||
<Directory Id="WinUI3AppsInstallFolder" Name="WinUI3Apps">
|
|
||||||
<Directory Id="WinUI3AppsMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
||||||
<Directory Id="WinUI3AppsMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="WinUI3AppsAssetsFolder" Name="Assets">
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="ToolsFolder" Name="Tools"/>
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="ProgramMenuFolder">
|
|
||||||
<Directory Id="ApplicationProgramsFolder" Name="PowerToys (Preview)"/>
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="DesktopFolder" Name="Desktop" />
|
|
||||||
</Directory>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define RegistryPreviewAssetsFiles=?>
|
|
||||||
<?define RegistryPreviewAssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\RegistryPreview?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<!-- Registry Preview -->
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="RegistryPreviewAssetsInstallFolder" Name="RegistryPreview" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="RegistryPreviewAssetsInstallFolder" FileSource="$(var.RegistryPreviewAssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--RegistryPreviewAssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="RegistryPreviewComponentGroup">
|
|
||||||
<Component Id="RemoveRegistryPreviewFolder" Guid="D3DBC395-FAC5-44B1-BE44-3FE2B6E0F391" Directory="RegistryPreviewAssetsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveRegistryPreviewFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderRegistryPreviewAssetsFolder" Directory="RegistryPreviewAssetsInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,564 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<!-- Languages for localization on build farm -->
|
|
||||||
<!-- qps-ploc;qps-ploca;qps-plocm; -->
|
|
||||||
<?define LocLanguageList = ar-SA;cs-CZ;de-DE;es-ES;fa-IR;fr-FR;he-IL;hu-HU;it-IT;ja-JP;ko-KR;nl-NL;pl-PL;pt-BR;pt-PT;ru-RU;sv-SE;tr-TR;uk-UA;zh-CN;zh-TW?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<!-- Resource directories should be added only if the installer is built on the build farm -->
|
|
||||||
<?ifdef env.IsPipeline?>
|
|
||||||
<?foreach ParentDirectory in INSTALLFOLDER;WinUI3AppsInstallFolder;HistoryPluginFolder;CalculatorPluginFolder;FolderPluginFolder;ProgramPluginFolder;ShellPluginFolder;IndexerPluginFolder;UnitConverterPluginFolder;ValueGeneratorPluginFolder;UriPluginFolder;WindowWalkerPluginFolder;OneNotePluginFolder;RegistryPluginFolder;VSCodeWorkspacesPluginFolder;ServicePluginFolder;SystemPluginFolder;TimeDatePluginFolder;WindowsSettingsPluginFolder;WindowsTerminalPluginFolder;WebSearchPluginFolder;PowerToysPluginFolder?>
|
|
||||||
<DirectoryRef Id="$(var.ParentDirectory)">
|
|
||||||
<!-- Resource file directories -->
|
|
||||||
<?foreach Language in $(var.LocLanguageList)?>
|
|
||||||
<!--NB: Ids can't contain hyphens-->
|
|
||||||
<?if $(var.Language) = ar-SA?>
|
|
||||||
<?define IdSafeLanguage = ar_SA?>
|
|
||||||
<?elseif $(var.Language) = cs-CZ?>
|
|
||||||
<?define IdSafeLanguage = cs_CZ?>
|
|
||||||
<?elseif $(var.Language) = de-DE?>
|
|
||||||
<?define IdSafeLanguage = de_DE?>
|
|
||||||
<?elseif $(var.Language) = es-ES?>
|
|
||||||
<?define IdSafeLanguage = es_ES?>
|
|
||||||
<?elseif $(var.Language) = fa-IR?>
|
|
||||||
<?define IdSafeLanguage = fa_IR?>
|
|
||||||
<?elseif $(var.Language) = fr-FR?>
|
|
||||||
<?define IdSafeLanguage = fr_FR?>
|
|
||||||
<?elseif $(var.Language) = he-IL?>
|
|
||||||
<?define IdSafeLanguage = he_IL?>
|
|
||||||
<?elseif $(var.Language) = hu-HU?>
|
|
||||||
<?define IdSafeLanguage = hu_HU?>
|
|
||||||
<?elseif $(var.Language) = it-IT?>
|
|
||||||
<?define IdSafeLanguage = it_IT?>
|
|
||||||
<?elseif $(var.Language) = ja-JP?>
|
|
||||||
<?define IdSafeLanguage = ja_JP?>
|
|
||||||
<?elseif $(var.Language) = ko-KR?>
|
|
||||||
<?define IdSafeLanguage = ko_KR?>
|
|
||||||
<?elseif $(var.Language) = nl-NL?>
|
|
||||||
<?define IdSafeLanguage = nl_NL?>
|
|
||||||
<?elseif $(var.Language) = pl-PL?>
|
|
||||||
<?define IdSafeLanguage = pl_PL?>
|
|
||||||
<?elseif $(var.Language) = pt-BR?>
|
|
||||||
<?define IdSafeLanguage = pt_BR?>
|
|
||||||
<?elseif $(var.Language) = pt-PT?>
|
|
||||||
<?define IdSafeLanguage = pt_PT?>
|
|
||||||
<!--
|
|
||||||
<?elseif $(var.Language) = qps-ploc?>
|
|
||||||
<?define IdSafeLanguage = qps_ploc?>
|
|
||||||
<?elseif $(var.Language) = qps-ploca?>
|
|
||||||
<?define IdSafeLanguage = qps_ploca?>
|
|
||||||
<?elseif $(var.Language) = qps-plocm?>
|
|
||||||
<?define IdSafeLanguage = qps_plocm?>
|
|
||||||
-->
|
|
||||||
<?elseif $(var.Language) = ru-RU?>
|
|
||||||
<?define IdSafeLanguage = ru_RU?>
|
|
||||||
<?elseif $(var.Language) = sv-SE?>
|
|
||||||
<?define IdSafeLanguage = sv_SE?>
|
|
||||||
<?elseif $(var.Language) = tr-TR?>
|
|
||||||
<?define IdSafeLanguage = tr_TR?>
|
|
||||||
<?elseif $(var.Language) = uk-UA?>
|
|
||||||
<?define IdSafeLanguage = uk_UA?>
|
|
||||||
<?elseif $(var.Language) = zh-CN?>
|
|
||||||
<?define IdSafeLanguage = zh_CN?>
|
|
||||||
<?elseif $(var.Language) = zh-TW?>
|
|
||||||
<?define IdSafeLanguage = zh_TW?>
|
|
||||||
<?else?>
|
|
||||||
<?define IdSafeLanguage = $(var.Language)?>
|
|
||||||
<?endif?>
|
|
||||||
<Directory Id="Resource$(var.IdSafeLanguage)$(var.ParentDirectory)" Name="$(var.Language)" />
|
|
||||||
<?undef IdSafeLanguage?>
|
|
||||||
<?endforeach?>
|
|
||||||
</DirectoryRef>
|
|
||||||
<?endforeach?>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<ComponentGroup Id="ResourcesComponentGroup">
|
|
||||||
<!-- Resource components should be added only if the installer is built on the build farm -->
|
|
||||||
<?ifdef env.IsPipeline?>
|
|
||||||
<!-- Components for adding resource files -->
|
|
||||||
<?foreach Language in $(var.LocLanguageList)?>
|
|
||||||
<!--NB: Ids can't contain hyphens-->
|
|
||||||
<?if $(var.Language) = ar-SA?>
|
|
||||||
<!-- CompGUIDPrefix is language-dependent guid prefix missing the last 2 digits. -->
|
|
||||||
<?define CompGUIDPrefix = 4CF0A1CD-CA13-408B-AAC1-6E024B86A9?>
|
|
||||||
<?define IdSafeLanguage = ar_SA?>
|
|
||||||
<?elseif $(var.Language) = cs-CZ?>
|
|
||||||
<?define CompGUIDPrefix = 3E93405A-B91B-4E04-BAEC-26BEEE60F9?>
|
|
||||||
<?define IdSafeLanguage = cs_CZ?>
|
|
||||||
<?elseif $(var.Language) = de-DE?>
|
|
||||||
<?define CompGUIDPrefix = AF28C057-7ED9-474C-8E7E-D583BE8ECF?>
|
|
||||||
<?define IdSafeLanguage = de_DE?>
|
|
||||||
<?elseif $(var.Language) = es-ES?>
|
|
||||||
<?define CompGUIDPrefix = DD1FEEBD-55F0-44BA-A0FF-62C5C1C952?>
|
|
||||||
<?define IdSafeLanguage = es_ES?>
|
|
||||||
<?elseif $(var.Language) = fa-IR?>
|
|
||||||
<?define CompGUIDPrefix = 157411C9-CAB8-4CC5-AEA4-5ABEB91E59?>
|
|
||||||
<?define IdSafeLanguage = fa_IR?>
|
|
||||||
<?elseif $(var.Language) = fr-FR?>
|
|
||||||
<?define CompGUIDPrefix = F9F86D61-C747-43FC-8509-F3D1F198E1?>
|
|
||||||
<?define IdSafeLanguage = fr_FR?>
|
|
||||||
<?elseif $(var.Language) = he-IL?>
|
|
||||||
<?define CompGUIDPrefix = AFEA6E19-5B93-4CBB-B0CB-AFB2565C7D?>
|
|
||||||
<?define IdSafeLanguage = he_IL?>
|
|
||||||
<?elseif $(var.Language) = hu-HU?>
|
|
||||||
<?define CompGUIDPrefix = 9A919A40-E457-47F5-97C8-E886F06DDE?>
|
|
||||||
<?define IdSafeLanguage = hu_HU?>
|
|
||||||
<?elseif $(var.Language) = it-IT?>
|
|
||||||
<?define CompGUIDPrefix = 48FBF6D9-32DB-46FF-A64C-225269E738?>
|
|
||||||
<?define IdSafeLanguage = it_IT?>
|
|
||||||
<?elseif $(var.Language) = ja-JP?>
|
|
||||||
<?define CompGUIDPrefix = FB8E04AB-C8E8-43C0-8883-19F73E4EBA?>
|
|
||||||
<?define IdSafeLanguage = ja_JP?>
|
|
||||||
<?elseif $(var.Language) = ko-KR?>
|
|
||||||
<?define CompGUIDPrefix = 86C8F07C-80CA-420A-B6E7-86933D640C?>
|
|
||||||
<?define IdSafeLanguage = ko_KR?>
|
|
||||||
<?elseif $(var.Language) = nl-NL?>
|
|
||||||
<?define CompGUIDPrefix = C68F115F-28DD-4B45-9512-405C432458?>
|
|
||||||
<?define IdSafeLanguage = nl_NL?>
|
|
||||||
<?elseif $(var.Language) = pl-PL?>
|
|
||||||
<?define CompGUIDPrefix = 97494A31-5F57-4EC1-A6A9-994DF0813B?>
|
|
||||||
<?define IdSafeLanguage = pl_PL?>
|
|
||||||
<?elseif $(var.Language) = pt-BR?>
|
|
||||||
<?define CompGUIDPrefix = F4985235-2AB9-446B-BF8E-B14929A160?>
|
|
||||||
<?define IdSafeLanguage = pt_BR?>
|
|
||||||
<?elseif $(var.Language) = pt-PT?>
|
|
||||||
<?define CompGUIDPrefix = 58155841-D53A-4330-89D3-5C0338B928?>
|
|
||||||
<?define IdSafeLanguage = pt_PT?>
|
|
||||||
<!--
|
|
||||||
<?elseif $(var.Language) = qps-ploc?>
|
|
||||||
<?define CompGUIDPrefix = 75710CB2-DBDA-420B-9676-34D5F9D4A2?>
|
|
||||||
<?define IdSafeLanguage = qps_ploc?>
|
|
||||||
<?elseif $(var.Language) = qps-ploca?>
|
|
||||||
<?define CompGUIDPrefix = 55AF2A35-F959-49AB-B9EF-DFC9964A4F?>
|
|
||||||
<?define IdSafeLanguage = qps_ploca?>
|
|
||||||
<?elseif $(var.Language) = qps-plocm?>
|
|
||||||
<?define CompGUIDPrefix = D8CE2F7B-B0A1-4687-BFB7-1792B2FCCD?>
|
|
||||||
<?define IdSafeLanguage = qps_plocm?>
|
|
||||||
-->
|
|
||||||
<?elseif $(var.Language) = ru-RU?>
|
|
||||||
<?define CompGUIDPrefix = 157BAF33-8D3F-46B7-9CF9-2C18E601CC?>
|
|
||||||
<?define IdSafeLanguage = ru_RU?>
|
|
||||||
<?elseif $(var.Language) = sv-SE?>
|
|
||||||
<?define CompGUIDPrefix = 85B4199F-5F89-42C3-B7C2-DBCD3E5267?>
|
|
||||||
<?define IdSafeLanguage = sv_SE?>
|
|
||||||
<?elseif $(var.Language) = tr-TR?>
|
|
||||||
<?define CompGUIDPrefix = EA375345-F52A-499B-A45E-108CE67EAF?>
|
|
||||||
<?define IdSafeLanguage = tr_TR?>
|
|
||||||
<?elseif $(var.Language) = uk-UA?>
|
|
||||||
<?define CompGUIDPrefix = 17BA6BA7-8CB6-47CA-BEB1-2FE87A0724?>
|
|
||||||
<?define IdSafeLanguage = uk_UA?>
|
|
||||||
<?elseif $(var.Language) = zh-CN?>
|
|
||||||
<?define CompGUIDPrefix = F8EE7CE9-58EA-4850-B76F-C22362DC0E?>
|
|
||||||
<?define IdSafeLanguage = zh_CN?>
|
|
||||||
<?elseif $(var.Language) = zh-TW?>
|
|
||||||
<?define CompGUIDPrefix = F07F3210-79E2-4C38-AEF7-D8EBE06621?>
|
|
||||||
<?define IdSafeLanguage = zh_TW?>
|
|
||||||
<?else?>
|
|
||||||
<?define IdSafeLanguage = $(var.Language)?>
|
|
||||||
<?define CompGUIDPrefix = 94D9A417-56FC-435D-8167-A45F5D7A75?>
|
|
||||||
<?endif?>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)00">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.PowerLauncher.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="FancyZonesEditor_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)01">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="FancyZonesEditor_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="FancyZonesEditor_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.FancyZonesEditor.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="ImageResizer_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)WinUI3AppsInstallFolder"
|
|
||||||
Guid="$(var.CompGUIDPrefix)02">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="ImageResizer_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="ImageResizer_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\WinUI3Apps\$(var.Language)\PowerToys.ImageResizer.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="ColorPicker_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)03">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="ColorPicker_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="ColorPicker_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.ColorPickerUI.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="MarkdownPreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)04">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="MarkdownPreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="MarkdownPreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)$(var.Language)\PowerToys.MarkdownPreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="SVGPreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)05">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="SVGPreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="SVGPreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.SvgPreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="PDFPreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)06">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="PDFPreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="PDFPreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.PdfPreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="GcodePreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)07">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="GcodePreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="GcodePreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.GcodePreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<!-- PowerToys Run aka Launcher plugin resources -->
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Calculator_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)CalculatorPluginFolder"
|
|
||||||
Guid="$(var.CompGUIDPrefix)08">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Calculator_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Calculator_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Calculator\$(var.Language)\Microsoft.PowerToys.Run.Plugin.Calculator.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Folder_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)FolderPluginFolder"
|
|
||||||
Guid="$(var.CompGUIDPrefix)09">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Folder_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Folder_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Folder\$(var.Language)\Microsoft.Plugin.Folder.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Program_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)0A"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)ProgramPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Program_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Program_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Program\$(var.Language)\Microsoft.Plugin.Program.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Shell_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)0B"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)ShellPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Shell_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Shell_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Shell\$(var.Language)\Microsoft.Plugin.Shell.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Indexer_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)0C"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)IndexerPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Indexer_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Indexer_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Indexer\$(var.Language)\Microsoft.Plugin.Indexer.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Uri_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)0D"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)UriPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Uri_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Uri_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Uri\$(var.Language)\Microsoft.Plugin.Uri.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_VSCodeWorkspaces_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)0E"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)VSCodeWorkspacesPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_VSCodeWorkspaces_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_VSCodeWorkspaces_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\VSCodeWorkspaces\$(var.Language)\Community.PowerToys.Run.Plugin.VSCodeWorkspaces.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component Id="Launcher_WindowWalker_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)0F"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)WindowWalkerPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_WindowWalker_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_WindowWalker_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\WindowWalker\$(var.Language)\Microsoft.Plugin.WindowWalker.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Registry_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)10"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)RegistryPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Registry_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Registry_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Registry\$(var.Language)\Microsoft.PowerToys.Run.Plugin.Registry.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_Service_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)11"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)ServicePluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_Service_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_Service_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\Service\$(var.Language)\Microsoft.PowerToys.Run.Plugin.Service.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_System_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)12"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)SystemPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_System_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_System_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\System\$(var.Language)\Microsoft.PowerToys.Run.Plugin.System.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_WindowsSettings_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)13"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)WindowsSettingsPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_WindowsSettings_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_WindowsSettings_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\WindowsSettings\$(var.Language)\Microsoft.PowerToys.Run.Plugin.WindowsSettings.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_WindowsTerminal_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)15"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)WindowsTerminalPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_WindowsTerminal_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_WindowsTerminal_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\WindowsTerminal\$(var.Language)\Microsoft.PowerToys.Run.Plugin.WindowsTerminal.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_WebSearch_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)16"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)WebSearchPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_WebSearch_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_WebSearch_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\WebSearch\$(var.Language)\Community.PowerToys.Run.Plugin.WebSearch.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_UnitConverter_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)17"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)UnitConverterPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_UnitConverter_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_UnitConverter_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\UnitConverter\$(var.Language)\Community.PowerToys.Run.Plugin.UnitConverter.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_TimeDate_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)18"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)TimeDatePluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_TimeDate_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_TimeDate_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\TimeDate\$(var.Language)\Microsoft.PowerToys.Run.Plugin.TimeDate.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_OneNote_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)19"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)OneNotePluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Resource$(var.IdSafeLanguage)OneNotePluginFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_OneNote_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\OneNote\$(var.Language)\Microsoft.PowerToys.Run.Plugin.OneNote.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="MonacoPreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)1A">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="MonacoPreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="MonacoPreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.MonacoPreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_History_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)HistoryPluginFolder"
|
|
||||||
Guid="$(var.CompGUIDPrefix)1B">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_History_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_History_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\History\$(var.Language)\Microsoft.PowerToys.Run.Plugin.History.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_PowerToys_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)PowerToysPluginFolder"
|
|
||||||
Guid="$(var.CompGUIDPrefix)1C">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_PowerToys_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_PowerToys_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\PowerToys\$(var.Language)\Microsoft.PowerToys.Run.Plugin.PowerToys.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Launcher_ValueGenerator_$(var.IdSafeLanguage)_Component"
|
|
||||||
Guid="$(var.CompGUIDPrefix)1D"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)ValueGeneratorPluginFolder">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Launcher_ValueGenerator_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Launcher_ValueGenerator_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)RunPlugins\ValueGenerator\$(var.Language)\Community.PowerToys.Run.Plugin.ValueGenerator.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="QoiPreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)1E">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="QoiPreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="QoiPreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.QoiPreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="Awake_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)1F">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="Awake_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="Awake_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.Awake.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="PowerOCR_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)20">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="PowerOCR_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="PowerOCR_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.PowerOCR.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="WorkspacesEditor_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)21">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="WorkspacesEditor_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="WorkspacesEditor_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.WorkspacesEditor.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<Component
|
|
||||||
Id="BgcodePreviewHandler_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER"
|
|
||||||
Guid="$(var.CompGUIDPrefix)22">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="BgcodePreviewHandler_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="BgcodePreviewHandler_$(var.IdSafeLanguage)_File" Source="$(var.BinDir)\$(var.Language)\PowerToys.BgcodePreviewHandler.resources.dll" />
|
|
||||||
</Component>
|
|
||||||
<?undef IdSafeLanguage?>
|
|
||||||
<?undef CompGUIDPrefix?>
|
|
||||||
<?endforeach?>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<?ifdef env.IsPipeline?>
|
|
||||||
<Component Id="RemoveResourcesFolder" Guid="9BC0A5A1-CBC5-47C8-8544-3F8A8C0D45F5" Directory="INSTALLFOLDER" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveResourcesFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<?foreach Language in $(var.LocLanguageList)?>
|
|
||||||
<!--NB: Ids can't contain hyphens-->
|
|
||||||
<?if $(var.Language) = ar-SA?>
|
|
||||||
<?define IdSafeLanguage = ar_SA?>
|
|
||||||
<?elseif $(var.Language) = cs-CZ?>
|
|
||||||
<?define IdSafeLanguage = cs_CZ?>
|
|
||||||
<?elseif $(var.Language) = de-DE?>
|
|
||||||
<?define IdSafeLanguage = de_DE?>
|
|
||||||
<?elseif $(var.Language) = es-ES?>
|
|
||||||
<?define IdSafeLanguage = es_ES?>
|
|
||||||
<?elseif $(var.Language) = fa-IR?>
|
|
||||||
<?define IdSafeLanguage = fa_IR?>
|
|
||||||
<?elseif $(var.Language) = fr-FR?>
|
|
||||||
<?define IdSafeLanguage = fr_FR?>
|
|
||||||
<?elseif $(var.Language) = he-IL?>
|
|
||||||
<?define IdSafeLanguage = he_IL?>
|
|
||||||
<?elseif $(var.Language) = hu-HU?>
|
|
||||||
<?define IdSafeLanguage = hu_HU?>
|
|
||||||
<?elseif $(var.Language) = it-IT?>
|
|
||||||
<?define IdSafeLanguage = it_IT?>
|
|
||||||
<?elseif $(var.Language) = ja-JP?>
|
|
||||||
<?define IdSafeLanguage = ja_JP?>
|
|
||||||
<?elseif $(var.Language) = ko-KR?>
|
|
||||||
<?define IdSafeLanguage = ko_KR?>
|
|
||||||
<?elseif $(var.Language) = nl-NL?>
|
|
||||||
<?define IdSafeLanguage = nl_NL?>
|
|
||||||
<?elseif $(var.Language) = pl-PL?>
|
|
||||||
<?define IdSafeLanguage = pl_PL?>
|
|
||||||
<?elseif $(var.Language) = pt-BR?>
|
|
||||||
<?define IdSafeLanguage = pt_BR?>
|
|
||||||
<?elseif $(var.Language) = pt-PT?>
|
|
||||||
<?define IdSafeLanguage = pt_PT?>
|
|
||||||
<!--
|
|
||||||
<?elseif $(var.Language) = qps-ploc?>
|
|
||||||
<?define IdSafeLanguage = qps_ploc?>
|
|
||||||
<?elseif $(var.Language) = qps-ploca?>
|
|
||||||
<?define IdSafeLanguage = qps_ploca?>
|
|
||||||
<?elseif $(var.Language) = qps-plocm?>
|
|
||||||
<?define IdSafeLanguage = qps_plocm?>
|
|
||||||
-->
|
|
||||||
<?elseif $(var.Language) = ru-RU?>
|
|
||||||
<?define IdSafeLanguage = ru_RU?>
|
|
||||||
<?elseif $(var.Language) = sv-SE?>
|
|
||||||
<?define IdSafeLanguage = sv_SE?>
|
|
||||||
<?elseif $(var.Language) = tr-TR?>
|
|
||||||
<?define IdSafeLanguage = tr_TR?>
|
|
||||||
<?elseif $(var.Language) = uk-UA?>
|
|
||||||
<?define IdSafeLanguage = uk_UA?>
|
|
||||||
<?elseif $(var.Language) = zh-CN?>
|
|
||||||
<?define IdSafeLanguage = zh_CN?>
|
|
||||||
<?elseif $(var.Language) = zh-TW?>
|
|
||||||
<?define IdSafeLanguage = zh_TW?>
|
|
||||||
<?else?>
|
|
||||||
<?define IdSafeLanguage = $(var.Language)?>
|
|
||||||
<?endif?>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)INSTALLFOLDER" Directory="Resource$(var.IdSafeLanguage)INSTALLFOLDER" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)CalculatorPluginFolder" Directory="Resource$(var.IdSafeLanguage)CalculatorPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)FolderPluginFolder" Directory="Resource$(var.IdSafeLanguage)FolderPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)ProgramPluginFolder" Directory="Resource$(var.IdSafeLanguage)ProgramPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)ShellPluginFolder" Directory="Resource$(var.IdSafeLanguage)ShellPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)IndexerPluginFolder" Directory="Resource$(var.IdSafeLanguage)IndexerPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)UriPluginFolder" Directory="Resource$(var.IdSafeLanguage)UriPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)VSCodeWorkspacesPluginFolder" Directory="Resource$(var.IdSafeLanguage)VSCodeWorkspacesPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)WindowWalkerPluginFolder" Directory="Resource$(var.IdSafeLanguage)WindowWalkerPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)RegistryPluginFolder" Directory="Resource$(var.IdSafeLanguage)RegistryPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)ServicePluginFolder" Directory="Resource$(var.IdSafeLanguage)ServicePluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)SystemPluginFolder" Directory="Resource$(var.IdSafeLanguage)SystemPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)WindowsSettingsPluginFolder" Directory="Resource$(var.IdSafeLanguage)WindowsSettingsPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)WindowsTerminalPluginFolder" Directory="Resource$(var.IdSafeLanguage)WindowsTerminalPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)WebSearchPluginFolder" Directory="Resource$(var.IdSafeLanguage)WebSearchPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)UnitConverterPluginFolder" Directory="Resource$(var.IdSafeLanguage)UnitConverterPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)TimeDatePluginFolder" Directory="Resource$(var.IdSafeLanguage)TimeDatePluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)OneNotePluginFolder" Directory="Resource$(var.IdSafeLanguage)OneNotePluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)HistoryPluginFolder" Directory="Resource$(var.IdSafeLanguage)HistoryPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)PowerToysPluginFolder" Directory="Resource$(var.IdSafeLanguage)PowerToysPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)ValueGeneratorPluginFolder" Directory="Resource$(var.IdSafeLanguage)ValueGeneratorPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderResourcesResource$(var.IdSafeLanguage)WinUI3AppsInstallFolder" Directory="Resource$(var.IdSafeLanguage)WinUI3AppsInstallFolder" On="uninstall"/>
|
|
||||||
<?undef IdSafeLanguage?>
|
|
||||||
<?endforeach?>
|
|
||||||
</Component>
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
</ComponentGroup>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,448 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define launcherImagesComponentFiles=?>
|
|
||||||
<?define launcherImagesComponentFilesPath=$(var.BinDir)Assets\PowerLauncher\?>
|
|
||||||
|
|
||||||
<?define calcComponentFiles=?>
|
|
||||||
<?define calcComponentFilesPath=$(var.BinDir)RunPlugins\Calculator\?>
|
|
||||||
<?define calcImagesComponentFiles=?>
|
|
||||||
<?define calcImagesComponentFilesPath=$(var.BinDir)RunPlugins\Calculator\Images\?>
|
|
||||||
|
|
||||||
<?define FolderComponentFiles=?>
|
|
||||||
<?define FolderComponentFilesPath=$(var.BinDir)RunPlugins\Folder\?>
|
|
||||||
<?define FolderImagesComponentFiles=?>
|
|
||||||
<?define FolderImagesComponentFilesPath=$(var.BinDir)RunPlugins\Folder\Images?>
|
|
||||||
|
|
||||||
<?define ProgramComponentFiles=?>
|
|
||||||
<?define ProgramComponentFilesPath=$(var.BinDir)RunPlugins\Program\?>
|
|
||||||
<?define ProgramImagesComponentFiles=?>
|
|
||||||
<?define ProgramImagesComponentFilesPath=$(var.BinDir)RunPlugins\Program\Images\?>
|
|
||||||
|
|
||||||
<?define ShellComponentFiles=?>
|
|
||||||
<?define ShellComponentFilesPath=$(var.BinDir)RunPlugins\Shell\?>
|
|
||||||
<?define ShellImagesComponentFiles=?>
|
|
||||||
<?define ShellImagesComponentFilesPath=$(var.BinDir)RunPlugins\Shell\Images\?>
|
|
||||||
|
|
||||||
<?define IndexerComponentFiles=?>
|
|
||||||
<?define IndexerComponentFilesPath=$(var.BinDir)RunPlugins\Indexer\?>
|
|
||||||
<?define IndexerImagesComponentFiles=?>
|
|
||||||
<?define IndexerImagesComponentFilesPath=$(var.BinDir)RunPlugins\Indexer\Images\?>
|
|
||||||
|
|
||||||
<?define UnitConvCompFiles=?>
|
|
||||||
<?define UnitConvCompFilesPath=$(var.BinDir)RunPlugins\UnitConverter\?>
|
|
||||||
<?define UnitConvImagesCompFiles=?>
|
|
||||||
<?define UnitConvImagesCompFilesPath=$(var.BinDir)RunPlugins\UnitConverter\Images\?>
|
|
||||||
|
|
||||||
<?define WebSrchCompFiles=?>
|
|
||||||
<?define WebSrchCompFilesPath=$(var.BinDir)RunPlugins\WebSearch\?>
|
|
||||||
<?define WebSrchImagesCompFiles=?>
|
|
||||||
<?define WebSrchImagesCompFilesPath=$(var.BinDir)RunPlugins\WebSearch\Images\?>
|
|
||||||
|
|
||||||
<?define HistoryPluginComponentFiles=?>
|
|
||||||
<?define HistoryPluginComponentFilesPath=$(var.BinDir)RunPlugins\History\?>
|
|
||||||
<?define HistoryPluginImagesComponentFiles=?>
|
|
||||||
<?define HistoryPluginImagesComponentFilesPath=$(var.BinDir)RunPlugins\History\Images\?>
|
|
||||||
|
|
||||||
<?define UriComponentFiles=?>
|
|
||||||
<?define UriComponentFilesPath=$(var.BinDir)RunPlugins\Uri\?>
|
|
||||||
<?define UriImagesComponentFiles=?>
|
|
||||||
<?define UriImagesComponentFilesPath=$(var.BinDir)RunPlugins\Uri\Images\?>
|
|
||||||
|
|
||||||
<?define VSCWrkCompFiles=?>
|
|
||||||
<?define VSCWrkCompFilesPath=$(var.BinDir)RunPlugins\VSCodeWorkspaces\?>
|
|
||||||
<?define VSCWrkImagesCompFiles=?>
|
|
||||||
<?define VSCWrkImagesCompFilesPath=$(var.BinDir)RunPlugins\VSCodeWorkspaces\Images\?>
|
|
||||||
|
|
||||||
<?define WindowWlkrCompFiles=?>
|
|
||||||
<?define WindowWlkrCompFilesPath=$(var.BinDir)RunPlugins\WindowWalker\?>
|
|
||||||
<?define WindowWlkrImagesCompFiles=?>
|
|
||||||
<?define WindowWlkrImagesCompFilesPath=$(var.BinDir)RunPlugins\WindowWalker\Images\?>
|
|
||||||
|
|
||||||
<?define OneNoteComponentFiles=?>
|
|
||||||
<?define OneNoteComponentFilesPath=$(var.BinDir)RunPlugins\OneNote\?>
|
|
||||||
<?define OneNoteImagesComponentFiles=?>
|
|
||||||
<?define OneNoteImagesComponentFilesPath=$(var.BinDir)RunPlugins\OneNote\Images\?>
|
|
||||||
|
|
||||||
<?define RegistryComponentFiles=?>
|
|
||||||
<?define RegistryComponentFilesPath=$(var.BinDir)RunPlugins\Registry\?>
|
|
||||||
<?define RegistryImagesComponentFiles=?>
|
|
||||||
<?define RegistryImagesComponentFilesPath=$(var.BinDir)RunPlugins\Registry\Images\?>
|
|
||||||
|
|
||||||
<?define ServiceComponentFiles=?>
|
|
||||||
<?define ServiceComponentFilesPath=$(var.BinDir)RunPlugins\Service\?>
|
|
||||||
<?define ServiceImagesComponentFiles=?>
|
|
||||||
<?define ServiceImagesComponentFilesPath=$(var.BinDir)RunPlugins\Service\Images\?>
|
|
||||||
|
|
||||||
<?define SystemComponentFiles=?>
|
|
||||||
<?define SystemComponentFilesPath=$(var.BinDir)RunPlugins\System\?>
|
|
||||||
<?define SystemImagesComponentFiles=?>
|
|
||||||
<?define SystemImagesComponentFilesPath=$(var.BinDir)RunPlugins\System\Images\?>
|
|
||||||
|
|
||||||
<?define TimeDateComponentFiles=?>
|
|
||||||
<?define TimeDateComponentFilesPath=$(var.BinDir)RunPlugins\TimeDate\?>
|
|
||||||
<?define TimeDateImagesComponentFiles=?>
|
|
||||||
<?define TimeDateImagesComponentFilesPath=$(var.BinDir)RunPlugins\TimeDate\Images\?>
|
|
||||||
|
|
||||||
<?define WinSetCmpFiles=?>
|
|
||||||
<?define WinSetCmpFilesPath=$(var.BinDir)RunPlugins\WindowsSettings\?>
|
|
||||||
<?define WinSetImagesCmpFiles=?>
|
|
||||||
<?define WinSetImagesCmpFilesPath=$(var.BinDir)RunPlugins\WindowsSettings\Images\?>
|
|
||||||
|
|
||||||
<?define WinTermCmpFiles=?>
|
|
||||||
<?define WinTermCmpFilesPath=$(var.BinDir)RunPlugins\WindowsTerminal\?>
|
|
||||||
<?define WinTermImagesCmpFiles=?>
|
|
||||||
<?define WinTermImagesCmpFilesPath=$(var.BinDir)RunPlugins\WindowsTerminal\Images\?>
|
|
||||||
|
|
||||||
<?define PowerToysCmpFiles=?>
|
|
||||||
<?define PowerToysCmpFilesPath=$(var.BinDir)RunPlugins\PowerToys\?>
|
|
||||||
<?define PowerToysImagesCmpFiles=?>
|
|
||||||
<?define PowerToysImagesCmpFilesPath=$(var.BinDir)RunPlugins\PowerToys\Images\?>
|
|
||||||
|
|
||||||
<?define ValueGeneratorCmpFiles=?>
|
|
||||||
<?define ValueGeneratorCmpFilesPath=$(var.BinDir)RunPlugins\ValueGenerator\?>
|
|
||||||
<?define ValueGeneratorImagesCmpFiles=?>
|
|
||||||
<?define ValueGeneratorImagesCmpFilesPath=$(var.BinDir)RunPlugins\ValueGenerator\Images\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="BaseApplicationsAssetsFolder">
|
|
||||||
<Directory Id="LauncherImagesFolder" Name="PowerLauncher" />
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="INSTALLFOLDER">
|
|
||||||
<!-- Plugins -->
|
|
||||||
<Directory Id="LauncherPluginsFolder" Name="RunPlugins">
|
|
||||||
<Directory Id="WebSearchPluginFolder" Name="WebSearch">
|
|
||||||
<Directory Id="WebSearchImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="CalculatorPluginFolder" Name="Calculator">
|
|
||||||
<Directory Id="CalculatorImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="FolderPluginFolder" Name="Folder">
|
|
||||||
<Directory Id="FolderPluginImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="ProgramPluginFolder" Name="Program">
|
|
||||||
<Directory Id="ProgramImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="ShellPluginFolder" Name="Shell">
|
|
||||||
<Directory Id="ShellImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="IndexerPluginFolder" Name="Indexer">
|
|
||||||
<Directory Id="IndexerImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="UriPluginFolder" Name="Uri">
|
|
||||||
<Directory Id="UriImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="HistoryPluginFolder" Name="History">
|
|
||||||
<Directory Id="HistoryImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="UnitConverterPluginFolder" Name="UnitConverter">
|
|
||||||
<Directory Id="UnitConverterImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="VSCodeWorkspacesPluginFolder" Name="VSCodeWorkspaces">
|
|
||||||
<Directory Id="VSCodeWorkspaceImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="WindowWalkerPluginFolder" Name="WindowWalker">
|
|
||||||
<Directory Id="WindowWalkerImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="OneNotePluginFolder" Name="OneNote">
|
|
||||||
<Directory Id="OneNoteImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="PowerToysPluginFolder" Name="PowerToys">
|
|
||||||
<Directory Id="PowerToysImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="RegistryPluginFolder" Name="Registry">
|
|
||||||
<Directory Id="RegistryImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="ServicePluginFolder" Name="Service">
|
|
||||||
<Directory Id="ServiceImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="WindowsTerminalPluginFolder" Name="WindowsTerminal">
|
|
||||||
<Directory Id="WindowsTerminalImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="SystemPluginFolder" Name="System">
|
|
||||||
<Directory Id="SystemImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="TimeDatePluginFolder" Name="TimeDate">
|
|
||||||
<Directory Id="TimeDateImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="WindowsSettingsPluginFolder" Name="WindowsSettings">
|
|
||||||
<Directory Id="WindowsSettingsImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
<Directory Id="ValueGeneratorPluginFolder" Name="ValueGenerator">
|
|
||||||
<Directory Id="ValueGeneratorImagesFolder" Name="Images" />
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="LauncherImagesFolder" FileSource="$(var.launcherImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--launcherImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Calculator Plugin -->
|
|
||||||
<DirectoryRef Id="CalculatorPluginFolder" FileSource="$(var.calcComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--calcComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="CalculatorImagesFolder" FileSource="$(var.calcImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--calcImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Folder Plugin -->
|
|
||||||
<DirectoryRef Id="FolderPluginFolder" FileSource="$(var.FolderComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--FolderComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="FolderPluginImagesFolder" FileSource="$(var.FolderImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--FolderImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Program Plugin -->
|
|
||||||
<DirectoryRef Id="ProgramPluginFolder" FileSource="$(var.ProgramComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ProgramComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="ProgramImagesFolder" FileSource="$(var.ProgramImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ProgramImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Shell Plugin -->
|
|
||||||
<DirectoryRef Id="ShellPluginFolder" FileSource="$(var.ShellComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ShellComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="ShellImagesFolder" FileSource="$(var.ShellImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ShellImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Indexer Plugin -->
|
|
||||||
<DirectoryRef Id="IndexerPluginFolder" FileSource="$(var.IndexerComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--IndexerComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="IndexerImagesFolder" FileSource="$(var.IndexerImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--IndexerImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- UnitConverter Plugin -->
|
|
||||||
<DirectoryRef Id="UnitConverterPluginFolder" FileSource="$(var.UnitConvCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--UnitConvCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="UnitConverterImagesFolder" FileSource="$(var.UnitConvImagesCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--UnitConvImagesCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- WebSearch Plugin -->
|
|
||||||
<DirectoryRef Id="WebSearchPluginFolder" FileSource="$(var.WebSrchCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WebSrchCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="WebSearchImagesFolder" FileSource="$(var.WebSrchImagesCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WebSrchImagesCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- History Plugin -->
|
|
||||||
<DirectoryRef Id="HistoryPluginFolder" FileSource="$(var.HistoryPluginComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--HistoryPluginComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="HistoryImagesFolder" FileSource="$(var.HistoryPluginImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--HistoryPluginImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Uri Plugin -->
|
|
||||||
<DirectoryRef Id="UriPluginFolder" FileSource="$(var.UriComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--UriComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="UriImagesFolder" FileSource="$(var.UriImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--UriImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- VSCodeWorkspaces Plugin -->
|
|
||||||
<DirectoryRef Id="VSCodeWorkspacesPluginFolder" FileSource="$(var.VSCWrkCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--VSCWrkCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="VSCodeWorkspaceImagesFolder" FileSource="$(var.VSCWrkImagesCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--VSCWrkImagesCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- WindowWalker Plugin -->
|
|
||||||
<DirectoryRef Id="WindowWalkerPluginFolder" FileSource="$(var.WindowWlkrCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WindowWlkrCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="WindowWalkerImagesFolder" FileSource="$(var.WindowWlkrImagesCompFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WindowWlkrImagesCompFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- OneNote Plugin -->
|
|
||||||
<DirectoryRef Id="OneNotePluginFolder" FileSource="$(var.OneNoteComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--OneNoteComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="OneNoteImagesFolder" FileSource="$(var.OneNoteImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--OneNoteImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Registry Plugin -->
|
|
||||||
<DirectoryRef Id="RegistryPluginFolder" FileSource="$(var.RegistryComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--RegistryComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="RegistryImagesFolder" FileSource="$(var.RegistryImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--RegistryImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Service Plugin -->
|
|
||||||
<DirectoryRef Id="ServicePluginFolder" FileSource="$(var.ServiceComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ServiceComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="ServiceImagesFolder" FileSource="$(var.ServiceImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ServiceImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- System Plugin -->
|
|
||||||
<DirectoryRef Id="SystemPluginFolder" FileSource="$(var.SystemComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--SystemComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="SystemImagesFolder" FileSource="$(var.SystemImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--SystemImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- TimeDate Plugin -->
|
|
||||||
<DirectoryRef Id="TimeDatePluginFolder" FileSource="$(var.TimeDateComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--TimeDateComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="TimeDateImagesFolder" FileSource="$(var.TimeDateImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--TimeDateImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- WindowsSettings Plugin -->
|
|
||||||
<DirectoryRef Id="WindowsSettingsPluginFolder" FileSource="$(var.WinSetCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WinSetCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="WindowsSettingsImagesFolder" FileSource="$(var.WinSetImagesCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WinSetImagesCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- WindowsTerminal Plugin -->
|
|
||||||
<DirectoryRef Id="WindowsTerminalPluginFolder" FileSource="$(var.WinTermCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WinTermCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="WindowsTerminalImagesFolder" FileSource="$(var.WinTermImagesCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WinTermImagesCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- PowerToys Plugin -->
|
|
||||||
<DirectoryRef Id="PowerToysPluginFolder" FileSource="$(var.PowerToysCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--PowerToysCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="PowerToysImagesFolder" FileSource="$(var.PowerToysImagesCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--PowerToysImagesCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="ValueGeneratorPluginFolder" FileSource="$(var.ValueGeneratorCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ValueGeneratorCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="ValueGeneratorImagesFolder" FileSource="$(var.ValueGeneratorImagesCmpFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ValueGeneratorImagesCmpFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="RunComponentGroup">
|
|
||||||
<Component Id="RemoveLauncherFolder" Guid="3FFDC0B6-82BC-4C57-AEB1-C710DB108C23" Directory="INSTALLFOLDER" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveLauncherFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderLauncherImagesFolder" Directory="LauncherImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderLauncherPluginsFolder" Directory="LauncherPluginsFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderCalculatorPluginFolder" Directory="CalculatorPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderCalculatorImagesFolder" Directory="CalculatorImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderFolderPluginFolder" Directory="FolderPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderFolderPluginImagesFolder" Directory="FolderPluginImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderProgramPluginFolder" Directory="ProgramPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderProgramImagesFolder" Directory="ProgramImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderShellPluginFolder" Directory="ShellPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderShellImagesFolder" Directory="ShellImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderIndexerPluginFolder" Directory="IndexerPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderIndexerImagesFolder" Directory="IndexerImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderUnitConverterPluginFolder" Directory="UnitConverterPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderUnitConverterImagesFolder" Directory="UnitConverterImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWebSearchPluginFolder" Directory="WebSearchPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWebSearchImagesFolder" Directory="WebSearchImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderHistoryPluginFolder" Directory="HistoryPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderHistoryImagesFolder" Directory="HistoryImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderUriPluginFolder" Directory="UriPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderUriImagesFolder" Directory="UriImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderVSCodeWorkspacesPluginFolder" Directory="VSCodeWorkspacesPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderVSCodeWorkspaceImagesFolder" Directory="VSCodeWorkspaceImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWindowWalkerPluginFolder" Directory="WindowWalkerPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWindowWalkerImagesFolder" Directory="WindowWalkerImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderOneNotePluginFolder" Directory="OneNotePluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderOneNoteImagesFolder" Directory="OneNoteImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderRegistryPluginFolder" Directory="RegistryPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderRegistryImagesFolder" Directory="RegistryImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderServicePluginFolder" Directory="ServicePluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderServiceImagesFolder" Directory="ServiceImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderSystemPluginFolder" Directory="SystemPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderSystemImagesFolder" Directory="SystemImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderTimeDatePluginFolder" Directory="TimeDatePluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderTimeDateImagesFolder" Directory="TimeDateImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWindowsSettingsPluginFolder" Directory="WindowsSettingsPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWindowsSettingsImagesFolder" Directory="WindowsSettingsImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWindowsTerminalPluginFolder" Directory="WindowsTerminalPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWindowsTerminalImagesFolder" Directory="WindowsTerminalImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderPowerToysPluginFolder" Directory="PowerToysPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderPowerToysImagesFolder" Directory="PowerToysImagesFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderValueGeneratorPluginFolder" Directory="ValueGeneratorPluginFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderValueGeneratorImagesFolder" Directory="ValueGeneratorImagesFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define SettingsV2AssetsFiles=?>
|
|
||||||
<?define SettingsV2AssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\?>
|
|
||||||
|
|
||||||
<?define SettingsV2AssetsModulesFiles=?>
|
|
||||||
<?define SettingsV2AssetsModulesFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\Modules\?>
|
|
||||||
|
|
||||||
<?define SettingsV2OOBEAssetsModulesFiles=?>
|
|
||||||
<?define SettingsV2OOBEAssetsModulesFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\Modules\OOBE\?>
|
|
||||||
|
|
||||||
<?define SettingsV2OOBEAssetsFluentIconsFiles=?>
|
|
||||||
<?define SettingsV2OOBEAssetsFluentIconsFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\Icons\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsAssetsFolder">
|
|
||||||
<Directory Id="SettingsV2AssetsInstallFolder" Name="Settings">
|
|
||||||
<Directory Id="SettingsAppAssetsScriptsFolder" Name="Scripts"/>
|
|
||||||
<Directory Id="SettingsV2OOBEAssetsFluentIconsInstallFolder" Name="Icons" />
|
|
||||||
<Directory Id="SettingsV2AssetsModulesInstallFolder" Name="Modules" >
|
|
||||||
<Directory Id="SettingsV2OOBEAssetsModulesInstallFolder" Name="OOBE" />
|
|
||||||
</Directory>
|
|
||||||
</Directory>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="SettingsV2AssetsInstallFolder" FileSource="$(var.SettingsV2AssetsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--SettingsV2AssetsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="SettingsV2AssetsModulesInstallFolder" FileSource="$(var.SettingsV2AssetsModulesFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--SettingsV2AssetsModulesFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="SettingsV2OOBEAssetsModulesInstallFolder" FileSource="$(var.SettingsV2OOBEAssetsModulesFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--SettingsV2OOBEAssetsModulesFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="SettingsV2OOBEAssetsFluentIconsInstallFolder" FileSource="$(var.SettingsV2OOBEAssetsFluentIconsFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--SettingsV2OOBEAssetsFluentIconsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="SettingsAppAssetsScriptsFolder" FileSource="$(var.SettingsV2AssetsFilesPath)\Scripts\">
|
|
||||||
<Component Id="CommandNotFound_Scripts" Win64="yes" Guid="898EFA1E-EDD3-4F4B-8C7F-4A14B0D05B02">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="CommandNotFound_Scripts" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="CommandNotFound_Scripts_EnableModule.ps1" Source="$(var.SettingsV2AssetsFilesPath)\Scripts\EnableModule.ps1" />
|
|
||||||
<File Id="CommandNotFound_Scripts_UpgradeModule.ps1" Source="$(var.SettingsV2AssetsFilesPath)\Scripts\UpgradeModule.ps1" />
|
|
||||||
<File Id="CommandNotFound_Scripts_DisableModule.ps1" Source="$(var.SettingsV2AssetsFilesPath)\Scripts\DisableModule.ps1" />
|
|
||||||
<File Id="CommandNotFound_Scripts_CheckCmdNotFoundRequirements.ps1" Source="$(var.SettingsV2AssetsFilesPath)\Scripts\CheckCmdNotFoundRequirements.ps1" />
|
|
||||||
<File Id="CommandNotFound_Scripts_InstallWinGetClientModule.ps1" Source="$(var.SettingsV2AssetsFilesPath)\Scripts\InstallWinGetClientModule.ps1" />
|
|
||||||
<File Id="CommandNotFound_Scripts_InstallPowerShell7.ps1" Source="$(var.SettingsV2AssetsFilesPath)\Scripts\InstallPowerShell7.ps1" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="SettingsComponentGroup">
|
|
||||||
|
|
||||||
<Component Id="RemoveSettingsFolder" Guid="2D3AEF68-4E5A-4FF9-A5C0-9E53391AC754" Directory="SettingsV2AssetsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveSettingsFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderSettingsV2AssetsInstallFolder" Directory="SettingsV2AssetsInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderSettingsV2OOBEAssetsFluentIconsInstallFolder" Directory="SettingsV2OOBEAssetsFluentIconsInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderSettingsV2AssetsModulesInstallFolder" Directory="SettingsV2AssetsModulesInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderSettingsV2OOBEAssetsModulesInstallFolder" Directory="SettingsV2OOBEAssetsModulesInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderSettingsAppAssetsScriptsFolder" Directory="SettingsAppAssetsScriptsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="CommandNotFound_Scripts"/>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define ShortcutGuideSvgFiles=?>
|
|
||||||
<?define ShortcutGuideSvgFilesPath=$(var.BinDir)\Assets\ShortcutGuide\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<!-- Shortcut guide files -->
|
|
||||||
<DirectoryRef Id="BaseApplicationsAssetsFolder">
|
|
||||||
<Directory Id="ShortcutGuideSvgsInstallFolder" Name="ShortcutGuide" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="ShortcutGuideSvgsInstallFolder" FileSource="$(var.ShortcutGuideSvgFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--ShortcutGuideSvgFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Shortcut guide -->
|
|
||||||
<ComponentGroup Id="ShortcutGuideComponentGroup" >
|
|
||||||
<Component Id="RemoveShortcutGuideFolder" Guid="AD1ABC55-B593-4A60-A86A-BA8C0ED493A5" Directory="ShortcutGuideSvgsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveShortcutGuideFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderShortcutGuideSvgsInstallFolder" Directory="ShortcutGuideSvgsInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="ToolsFolder">
|
|
||||||
<Component Id="BugReportTool_exe" Win64="yes" Guid="370D0C28-F423-4A12-9A64-6BAB57C7E5C3">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="BugReportTool_exe" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.BinDir)Tools\PowerToys.BugReportTool.exe" Id="BugReportTool.exe" Checksum="yes" />
|
|
||||||
</Component>
|
|
||||||
<Component Id="StylesReportTool_exe" Win64="yes" Guid="9D348A78-38A0-4FDC-8D16-BDB0178E5F1E">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="StylesReportTool_exe" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Source="$(var.BinDir)StylesReportTool\PowerToys.StylesReportTool.exe" Id="StylesReportTool.exe" Checksum="yes" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="ToolComponentGroup">
|
|
||||||
<Component Id="RemoveToolsFolder" Guid="0402A3E8-1B4F-4762-9CCF-2267BCF8B6EE" Directory="ToolsFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveToolsFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderToolsFolder" Directory="ToolsFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="BugReportTool_exe" />
|
|
||||||
<ComponentRef Id="StylesReportTool_exe" />
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,466 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<!-- Localization languages shipped with WinAppSDK. We should ship these as well. -->
|
|
||||||
<?define WinAppSDKLocLanguageList = af-ZA;ar-SA;az-Latn-AZ;bg-BG;bs-Latn-BA;ca-ES;cs-CZ;cy-GB;da-DK;de-DE;el-GR;en-GB;en-us;es-ES;es-MX;et-EE;eu-ES;fa-IR;fi-FI;fr-CA;fr-FR;gl-ES;he-IL;hi-IN;hr-HR;hu-HU;id-ID;is-IS;it-IT;ja-JP;ka-GE;kk-KZ;ko-KR;lt-LT;lv-LV;ms-MY;nb-NO;nl-NL;nn-NO;pl-PL;pt-BR;pt-PT;ro-RO;ru-RU;sk-SK;sl-SI;sq-AL;sr-Cyrl-RS;sr-Latn-RS;sv-SE;th-TH;tr-TR;uk-UA;vi-VN;zh-CN;zh-TW?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsMicrosoftUIXamlAssetsInstallFolder" FileSource="$(var.BinDir)WinUI3Apps\Microsoft.UI.Xaml\Assets">
|
|
||||||
<Component Id="WinUI3AppsMicrosoftUIXamlAssets_NoiseAsset_256x256_PNG.png" Win64="yes" Guid="39889494-838A-4B9A-BD0A-105A1F0161BF">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="WinUI3AppsMicrosoftUIXamlAssets_NoiseAsset_256x256_PNG" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="WinUI3AppsMicrosoftUIXamlAssetsFile_NoiseAsset_256x256_PNG.png" Source="$(var.BinDir)WinUI3Apps\Microsoft.UI.Xaml\Assets\NoiseAsset_256x256_PNG.png" />
|
|
||||||
</Component>
|
|
||||||
<Component Id="WinUI3AppsMicrosoftUIXamlAssets_map.html" Win64="yes" Guid="A970464C-A5BC-43DB-ACB3-7D83CF3047B3">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="WinUI3AppsMicrosoftUIXamlAssets_map" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="WinUI3AppsMicrosoftUIXamlAssetsFile_map.html" Source="$(var.BinDir)WinUI3Apps\Microsoft.UI.Xaml\Assets\map.html" />
|
|
||||||
</Component>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<DirectoryRef Id="WinUI3AppsInstallFolder">
|
|
||||||
<?foreach Language in $(var.WinAppSDKLocLanguageList)?>
|
|
||||||
<?if $(var.Language) = af-ZA?>
|
|
||||||
<?define IdSafeLanguage = af_ZA?>
|
|
||||||
<?elseif $(var.Language) = ar-SA?>
|
|
||||||
<?define IdSafeLanguage = ar_SA?>
|
|
||||||
<?elseif $(var.Language) = az-Latn-AZ?>
|
|
||||||
<?define IdSafeLanguage = az_Latn_AZ?>
|
|
||||||
<?elseif $(var.Language) = bg-BG?>
|
|
||||||
<?define IdSafeLanguage = bg_BG?>
|
|
||||||
<?elseif $(var.Language) = bs-Latn-BA?>
|
|
||||||
<?define IdSafeLanguage = bs_Latn_BA?>
|
|
||||||
<?elseif $(var.Language) = ca-ES?>
|
|
||||||
<?define IdSafeLanguage = ca_ES?>
|
|
||||||
<?elseif $(var.Language) = cs-CZ?>
|
|
||||||
<?define IdSafeLanguage = cs_CZ?>
|
|
||||||
<?elseif $(var.Language) = cy-GB?>
|
|
||||||
<?define IdSafeLanguage = cy_GB?>
|
|
||||||
<?elseif $(var.Language) = da-DK?>
|
|
||||||
<?define IdSafeLanguage = da_DK?>
|
|
||||||
<?elseif $(var.Language) = de-DE?>
|
|
||||||
<?define IdSafeLanguage = de_DE?>
|
|
||||||
<?elseif $(var.Language) = el-GR?>
|
|
||||||
<?define IdSafeLanguage = el_GR?>
|
|
||||||
<?elseif $(var.Language) = en-GB?>
|
|
||||||
<?define IdSafeLanguage = en_GB?>
|
|
||||||
<?elseif $(var.Language) = en-us?>
|
|
||||||
<?define IdSafeLanguage = en_us?>
|
|
||||||
<?elseif $(var.Language) = es-ES?>
|
|
||||||
<?define IdSafeLanguage = es_ES?>
|
|
||||||
<?elseif $(var.Language) = es-MX?>
|
|
||||||
<?define IdSafeLanguage = es_MX?>
|
|
||||||
<?elseif $(var.Language) = et-EE?>
|
|
||||||
<?define IdSafeLanguage = et_EE?>
|
|
||||||
<?elseif $(var.Language) = eu-ES?>
|
|
||||||
<?define IdSafeLanguage = eu_ES?>
|
|
||||||
<?elseif $(var.Language) = fa-IR?>
|
|
||||||
<?define IdSafeLanguage = fa_IR?>
|
|
||||||
<?elseif $(var.Language) = fi-FI?>
|
|
||||||
<?define IdSafeLanguage = fi_FI?>
|
|
||||||
<?elseif $(var.Language) = fr-CA?>
|
|
||||||
<?define IdSafeLanguage = fr_CA?>
|
|
||||||
<?elseif $(var.Language) = fr-FR?>
|
|
||||||
<?define IdSafeLanguage = fr_FR?>
|
|
||||||
<?elseif $(var.Language) = gl-ES?>
|
|
||||||
<?define IdSafeLanguage = gl_ES?>
|
|
||||||
<?elseif $(var.Language) = he-IL?>
|
|
||||||
<?define IdSafeLanguage = he_IL?>
|
|
||||||
<?elseif $(var.Language) = hi-IN?>
|
|
||||||
<?define IdSafeLanguage = hi_IN?>
|
|
||||||
<?elseif $(var.Language) = hr-HR?>
|
|
||||||
<?define IdSafeLanguage = hr_HR?>
|
|
||||||
<?elseif $(var.Language) = hu-HU?>
|
|
||||||
<?define IdSafeLanguage = hu_HU?>
|
|
||||||
<?elseif $(var.Language) = id-ID?>
|
|
||||||
<?define IdSafeLanguage = id_ID?>
|
|
||||||
<?elseif $(var.Language) = is-IS?>
|
|
||||||
<?define IdSafeLanguage = is_IS?>
|
|
||||||
<?elseif $(var.Language) = it-IT?>
|
|
||||||
<?define IdSafeLanguage = it_IT?>
|
|
||||||
<?elseif $(var.Language) = ja-JP?>
|
|
||||||
<?define IdSafeLanguage = ja_JP?>
|
|
||||||
<?elseif $(var.Language) = ka-GE?>
|
|
||||||
<?define IdSafeLanguage = ka_GE?>
|
|
||||||
<?elseif $(var.Language) = kk-KZ?>
|
|
||||||
<?define IdSafeLanguage = kk_KZ?>
|
|
||||||
<?elseif $(var.Language) = ko-KR?>
|
|
||||||
<?define IdSafeLanguage = ko_KR?>
|
|
||||||
<?elseif $(var.Language) = lt-LT?>
|
|
||||||
<?define IdSafeLanguage = lt_LT?>
|
|
||||||
<?elseif $(var.Language) = lv-LV?>
|
|
||||||
<?define IdSafeLanguage = lv_LV?>
|
|
||||||
<?elseif $(var.Language) = ms-MY?>
|
|
||||||
<?define IdSafeLanguage = ms_MY?>
|
|
||||||
<?elseif $(var.Language) = nb-NO?>
|
|
||||||
<?define IdSafeLanguage = nb_NO?>
|
|
||||||
<?elseif $(var.Language) = nl-NL?>
|
|
||||||
<?define IdSafeLanguage = nl_NL?>
|
|
||||||
<?elseif $(var.Language) = nn-NO?>
|
|
||||||
<?define IdSafeLanguage = nn_NO?>
|
|
||||||
<?elseif $(var.Language) = pl-PL?>
|
|
||||||
<?define IdSafeLanguage = pl_PL?>
|
|
||||||
<?elseif $(var.Language) = pt-BR?>
|
|
||||||
<?define IdSafeLanguage = pt_BR?>
|
|
||||||
<?elseif $(var.Language) = pt-PT?>
|
|
||||||
<?define IdSafeLanguage = pt_PT?>
|
|
||||||
<?elseif $(var.Language) = ro-RO?>
|
|
||||||
<?define IdSafeLanguage = ro_RO?>
|
|
||||||
<?elseif $(var.Language) = ru-RU?>
|
|
||||||
<?define IdSafeLanguage = ru_RU?>
|
|
||||||
<?elseif $(var.Language) = sk-SK?>
|
|
||||||
<?define IdSafeLanguage = sk_SK?>
|
|
||||||
<?elseif $(var.Language) = sl-SI?>
|
|
||||||
<?define IdSafeLanguage = sl_SI?>
|
|
||||||
<?elseif $(var.Language) = sq-AL?>
|
|
||||||
<?define IdSafeLanguage = sq_AL?>
|
|
||||||
<?elseif $(var.Language) = sr-Cyrl-RS?>
|
|
||||||
<?define IdSafeLanguage = sr_Cyrl_RS?>
|
|
||||||
<?elseif $(var.Language) = sr-Latn-RS?>
|
|
||||||
<?define IdSafeLanguage = sr_Latn_RS?>
|
|
||||||
<?elseif $(var.Language) = sv-SE?>
|
|
||||||
<?define IdSafeLanguage = sv_SE?>
|
|
||||||
<?elseif $(var.Language) = th-TH?>
|
|
||||||
<?define IdSafeLanguage = th_TH?>
|
|
||||||
<?elseif $(var.Language) = tr-TR?>
|
|
||||||
<?define IdSafeLanguage = tr_TR?>
|
|
||||||
<?elseif $(var.Language) = uk-UA?>
|
|
||||||
<?define IdSafeLanguage = uk_UA?>
|
|
||||||
<?elseif $(var.Language) = vi-VN?>
|
|
||||||
<?define IdSafeLanguage = vi_VN?>
|
|
||||||
<?elseif $(var.Language) = zh-CN?>
|
|
||||||
<?define IdSafeLanguage = zh_CN?>
|
|
||||||
<?elseif $(var.Language) = zh-TW?>
|
|
||||||
<?define IdSafeLanguage = zh_TW?>
|
|
||||||
<?else?>
|
|
||||||
<?define IdSafeLanguage = $(var.Language)?>
|
|
||||||
<?endif?>
|
|
||||||
<Directory Id="WinAppSDKLoc$(var.IdSafeLanguage)WinUI3AppsInstallFolder" Name="$(var.Language)" />
|
|
||||||
<?undef IdSafeLanguage?>
|
|
||||||
<?endforeach?>
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="WindowsAppSDKComponentGroup">
|
|
||||||
<?foreach Language in $(var.WinAppSDKLocLanguageList)?>
|
|
||||||
<?if $(var.Language) = af-ZA?>
|
|
||||||
<?define CompGUIDPrefix = 3C8E6C25-772A-4686-8FE3-8BE63F8D19?>
|
|
||||||
<?define IdSafeLanguage = af_ZA?>
|
|
||||||
<?elseif $(var.Language) = ar-SA?>
|
|
||||||
<?define CompGUIDPrefix = E2E65A7F-48CA-49E1-847B-5B1116D32E?>
|
|
||||||
<?define IdSafeLanguage = ar_SA?>
|
|
||||||
<?elseif $(var.Language) = az-Latn-AZ?>
|
|
||||||
<?define CompGUIDPrefix = 601F5B70-D386-4F68-B958-9D3F07167C?>
|
|
||||||
<?define IdSafeLanguage = az_Latn_AZ?>
|
|
||||||
<?elseif $(var.Language) = bg-BG?>
|
|
||||||
<?define CompGUIDPrefix = 9DD6C8F9-8599-46E4-B9B6-8B8CB095F9?>
|
|
||||||
<?define IdSafeLanguage = bg_BG?>
|
|
||||||
<?elseif $(var.Language) = bs-Latn-BA?>
|
|
||||||
<?define CompGUIDPrefix = CF68A082-D286-4556-BDF1-FBD9C7FE37?>
|
|
||||||
<?define IdSafeLanguage = bs_Latn_BA?>
|
|
||||||
<?elseif $(var.Language) = ca-ES?>
|
|
||||||
<?define CompGUIDPrefix = 298A66A5-9683-4ABF-A1C5-D97DA031B3?>
|
|
||||||
<?define IdSafeLanguage = ca_ES?>
|
|
||||||
<?elseif $(var.Language) = cs-CZ?>
|
|
||||||
<?define CompGUIDPrefix = EDEC8BF7-6602-47E5-AC04-3D392BDD83?>
|
|
||||||
<?define IdSafeLanguage = cs_CZ?>
|
|
||||||
<?elseif $(var.Language) = cy-GB?>
|
|
||||||
<?define CompGUIDPrefix = 6E328AD9-58D4-4615-8A64-9710D5EA81?>
|
|
||||||
<?define IdSafeLanguage = cy_GB?>
|
|
||||||
<?elseif $(var.Language) = da-DK?>
|
|
||||||
<?define CompGUIDPrefix = BC5D9E5C-D4B8-4CEB-A944-1A34FD46E5?>
|
|
||||||
<?define IdSafeLanguage = da_DK?>
|
|
||||||
<?elseif $(var.Language) = de-DE?>
|
|
||||||
<?define CompGUIDPrefix = 4E1F60E3-6257-4492-AD9E-22124393F7?>
|
|
||||||
<?define IdSafeLanguage = de_DE?>
|
|
||||||
<?elseif $(var.Language) = el-GR?>
|
|
||||||
<?define CompGUIDPrefix = 0A340858-D5DF-44D1-90F9-E5435128D5?>
|
|
||||||
<?define IdSafeLanguage = el_GR?>
|
|
||||||
<?elseif $(var.Language) = en-GB?>
|
|
||||||
<?define CompGUIDPrefix = 2F06617A-9700-4223-A309-58F2C1DA88?>
|
|
||||||
<?define IdSafeLanguage = en_GB?>
|
|
||||||
<?elseif $(var.Language) = en-us?>
|
|
||||||
<?define CompGUIDPrefix = A817585B-4AD2-4030-844B-1B2975DE6C?>
|
|
||||||
<?define IdSafeLanguage = en_us?>
|
|
||||||
<?elseif $(var.Language) = es-ES?>
|
|
||||||
<?define CompGUIDPrefix = 987CE029-212B-40AF-956E-D0D76F5EE8?>
|
|
||||||
<?define IdSafeLanguage = es_ES?>
|
|
||||||
<?elseif $(var.Language) = es-MX?>
|
|
||||||
<?define CompGUIDPrefix = 9E806BDC-CB61-43C5-A314-6CB3C7CE17?>
|
|
||||||
<?define IdSafeLanguage = es_MX?>
|
|
||||||
<?elseif $(var.Language) = et-EE?>
|
|
||||||
<?define CompGUIDPrefix = 07C20887-C0FD-4686-8D6C-CD70D4099E?>
|
|
||||||
<?define IdSafeLanguage = et_EE?>
|
|
||||||
<?elseif $(var.Language) = eu-ES?>
|
|
||||||
<?define CompGUIDPrefix = 43FDBB2A-DCF0-4E5C-98B2-DF5F8A7ABC?>
|
|
||||||
<?define IdSafeLanguage = eu_ES?>
|
|
||||||
<?elseif $(var.Language) = fa-IR?>
|
|
||||||
<?define CompGUIDPrefix = 9A709AF1-A967-4188-9A6E-0EE1A01091?>
|
|
||||||
<?define IdSafeLanguage = fa_IR?>
|
|
||||||
<?elseif $(var.Language) = fi-FI?>
|
|
||||||
<?define CompGUIDPrefix = 7C933CD2-E937-4BEF-835D-7D27660BF1?>
|
|
||||||
<?define IdSafeLanguage = fi_FI?>
|
|
||||||
<?elseif $(var.Language) = fr-CA?>
|
|
||||||
<?define CompGUIDPrefix = 547742D0-6025-43A1-B37A-D7FE1C7AB7?>
|
|
||||||
<?define IdSafeLanguage = fr_CA?>
|
|
||||||
<?elseif $(var.Language) = fr-FR?>
|
|
||||||
<?define CompGUIDPrefix = 5C208D3F-0A62-4DD3-9A3C-D5F5931BC0?>
|
|
||||||
<?define IdSafeLanguage = fr_FR?>
|
|
||||||
<?elseif $(var.Language) = gl-ES?>
|
|
||||||
<?define CompGUIDPrefix = CC8360F1-B761-485F-AE34-D5E76C2133?>
|
|
||||||
<?define IdSafeLanguage = gl_ES?>
|
|
||||||
<?elseif $(var.Language) = he-IL?>
|
|
||||||
<?define CompGUIDPrefix = 5D3703BA-B7F8-45E6-8727-E184890524?>
|
|
||||||
<?define IdSafeLanguage = he_IL?>
|
|
||||||
<?elseif $(var.Language) = hi-IN?>
|
|
||||||
<?define CompGUIDPrefix = 85D55059-CFE3-47CD-A000-D795DCD0FF?>
|
|
||||||
<?define IdSafeLanguage = hi_IN?>
|
|
||||||
<?elseif $(var.Language) = hr-HR?>
|
|
||||||
<?define CompGUIDPrefix = 2BD6767A-A7C5-440B-BDC7-EA505F6B69?>
|
|
||||||
<?define IdSafeLanguage = hr_HR?>
|
|
||||||
<?elseif $(var.Language) = hu-HU?>
|
|
||||||
<?define CompGUIDPrefix = FB99F97C-A1C3-407E-AA4A-264621D1C4?>
|
|
||||||
<?define IdSafeLanguage = hu_HU?>
|
|
||||||
<?elseif $(var.Language) = id-ID?>
|
|
||||||
<?define CompGUIDPrefix = CBBA3A3A-B336-4CB0-ACB1-4BB666855D?>
|
|
||||||
<?define IdSafeLanguage = id_ID?>
|
|
||||||
<?elseif $(var.Language) = is-IS?>
|
|
||||||
<?define CompGUIDPrefix = 57E8C11E-6D1F-4F29-A440-9F6175C607?>
|
|
||||||
<?define IdSafeLanguage = is_IS?>
|
|
||||||
<?elseif $(var.Language) = it-IT?>
|
|
||||||
<?define CompGUIDPrefix = 1C4F8911-96E4-4903-A92B-CD48BF09DE?>
|
|
||||||
<?define IdSafeLanguage = it_IT?>
|
|
||||||
<?elseif $(var.Language) = ja-JP?>
|
|
||||||
<?define CompGUIDPrefix = EF51BC22-3D3E-4767-8558-BE43F729FD?>
|
|
||||||
<?define IdSafeLanguage = ja_JP?>
|
|
||||||
<?elseif $(var.Language) = ka-GE?>
|
|
||||||
<?define CompGUIDPrefix = 7F625700-74B5-4F55-8F80-E86B4DC784?>
|
|
||||||
<?define IdSafeLanguage = ka_GE?>
|
|
||||||
<?elseif $(var.Language) = kk-KZ?>
|
|
||||||
<?define CompGUIDPrefix = 3F4019C3-2FA3-48BA-9096-C02E6679B5?>
|
|
||||||
<?define IdSafeLanguage = kk_KZ?>
|
|
||||||
<?elseif $(var.Language) = ko-KR?>
|
|
||||||
<?define CompGUIDPrefix = F6C1AAAD-1917-48AC-B89A-3953D01C20?>
|
|
||||||
<?define IdSafeLanguage = ko_KR?>
|
|
||||||
<?elseif $(var.Language) = lt-LT?>
|
|
||||||
<?define CompGUIDPrefix = 6E48287B-937D-43D0-A7FB-161717D5E2?>
|
|
||||||
<?define IdSafeLanguage = lt_LT?>
|
|
||||||
<?elseif $(var.Language) = lv-LV?>
|
|
||||||
<?define CompGUIDPrefix = F2E02A03-361C-43FA-ACFA-53369774A6?>
|
|
||||||
<?define IdSafeLanguage = lv_LV?>
|
|
||||||
<?elseif $(var.Language) = ms-MY?>
|
|
||||||
<?define CompGUIDPrefix = 4D141E3C-7F30-4689-9D8D-36C1245845?>
|
|
||||||
<?define IdSafeLanguage = ms_MY?>
|
|
||||||
<?elseif $(var.Language) = nb-NO?>
|
|
||||||
<?define CompGUIDPrefix = 939F5123-0700-4C0C-891F-04E331FC5E?>
|
|
||||||
<?define IdSafeLanguage = nb_NO?>
|
|
||||||
<?elseif $(var.Language) = nl-NL?>
|
|
||||||
<?define CompGUIDPrefix = 5E97EAE0-F207-47F1-B4BD-12113D983C?>
|
|
||||||
<?define IdSafeLanguage = nl_NL?>
|
|
||||||
<?elseif $(var.Language) = nn-NO?>
|
|
||||||
<?define CompGUIDPrefix = A1E74004-671D-46DC-AECD-826D068B26?>
|
|
||||||
<?define IdSafeLanguage = nn_NO?>
|
|
||||||
<?elseif $(var.Language) = pl-PL?>
|
|
||||||
<?define CompGUIDPrefix = E1D983A8-D406-4C60-AE61-9F362CBEF2?>
|
|
||||||
<?define IdSafeLanguage = pl_PL?>
|
|
||||||
<?elseif $(var.Language) = pt-BR?>
|
|
||||||
<?define CompGUIDPrefix = E6E4AF39-7758-4F52-B6CA-CD6D4513B7?>
|
|
||||||
<?define IdSafeLanguage = pt_BR?>
|
|
||||||
<?elseif $(var.Language) = pt-PT?>
|
|
||||||
<?define CompGUIDPrefix = 8F4BB964-3EB7-4D91-816D-D0E25D69D0?>
|
|
||||||
<?define IdSafeLanguage = pt_PT?>
|
|
||||||
<?elseif $(var.Language) = ro-RO?>
|
|
||||||
<?define CompGUIDPrefix = 8324BA46-F54F-4696-B348-3193856660?>
|
|
||||||
<?define IdSafeLanguage = ro_RO?>
|
|
||||||
<?elseif $(var.Language) = ru-RU?>
|
|
||||||
<?define CompGUIDPrefix = 13BB6E4C-A928-4FD5-A0CA-CE45B8B857?>
|
|
||||||
<?define IdSafeLanguage = ru_RU?>
|
|
||||||
<?elseif $(var.Language) = sk-SK?>
|
|
||||||
<?define CompGUIDPrefix = 63D22C1D-D00A-4194-B64F-9CA2DF93D5?>
|
|
||||||
<?define IdSafeLanguage = sk_SK?>
|
|
||||||
<?elseif $(var.Language) = sl-SI?>
|
|
||||||
<?define CompGUIDPrefix = C007A438-5EBD-4E2A-9E03-8C9521762B?>
|
|
||||||
<?define IdSafeLanguage = sl_SI?>
|
|
||||||
<?elseif $(var.Language) = sq-AL?>
|
|
||||||
<?define CompGUIDPrefix = 9058E23A-A9DD-45A2-A85C-5DE97D0F2A?>
|
|
||||||
<?define IdSafeLanguage = sq_AL?>
|
|
||||||
<?elseif $(var.Language) = sr-Cyrl-RS?>
|
|
||||||
<?define CompGUIDPrefix = 7D21E8FC-368D-4393-A055-44D742C7A0?>
|
|
||||||
<?define IdSafeLanguage = sr_Cyrl_RS?>
|
|
||||||
<?elseif $(var.Language) = sr-Latn-RS?>
|
|
||||||
<?define CompGUIDPrefix = F8B974A0-4BEA-44F7-8603-7D9BE3003F?>
|
|
||||||
<?define IdSafeLanguage = sr_Latn_RS?>
|
|
||||||
<?elseif $(var.Language) = sv-SE?>
|
|
||||||
<?define CompGUIDPrefix = A56ECD85-B52C-421D-8C8A-CBADE0A92F?>
|
|
||||||
<?define IdSafeLanguage = sv_SE?>
|
|
||||||
<?elseif $(var.Language) = th-TH?>
|
|
||||||
<?define CompGUIDPrefix = C71B1361-A45E-42AB-8A20-95ED3AF74E?>
|
|
||||||
<?define IdSafeLanguage = th_TH?>
|
|
||||||
<?elseif $(var.Language) = tr-TR?>
|
|
||||||
<?define CompGUIDPrefix = 025B5CE3-6470-4C01-A606-DFC74A47E0?>
|
|
||||||
<?define IdSafeLanguage = tr_TR?>
|
|
||||||
<?elseif $(var.Language) = uk-UA?>
|
|
||||||
<?define CompGUIDPrefix = AD78BE3F-6A3B-414D-AAEC-BC4C801B64?>
|
|
||||||
<?define IdSafeLanguage = uk_UA?>
|
|
||||||
<?elseif $(var.Language) = vi-VN?>
|
|
||||||
<?define CompGUIDPrefix = 9F21001A-87DA-4D9E-A298-FEDC375D0C?>
|
|
||||||
<?define IdSafeLanguage = vi_VN?>
|
|
||||||
<?elseif $(var.Language) = zh-CN?>
|
|
||||||
<?define CompGUIDPrefix = C8BB7DD7-EB7B-478E-925D-6F64107590?>
|
|
||||||
<?define IdSafeLanguage = zh_CN?>
|
|
||||||
<?elseif $(var.Language) = zh-TW?>
|
|
||||||
<?define CompGUIDPrefix = E472BBC5-604D-44A2-8B95-3A456CFF56?>
|
|
||||||
<?define IdSafeLanguage = zh_TW?>
|
|
||||||
<?else?>
|
|
||||||
<?define IdSafeLanguage = $(var.Language)?>
|
|
||||||
<?define CompGUIDPrefix = 51B656B3-2D45-49D8-9871-F0A1C8BEEE?>
|
|
||||||
<?endif?>
|
|
||||||
<Component
|
|
||||||
Id="WinUI3Apps_WinAppSDKLoc_$(var.IdSafeLanguage)_Component"
|
|
||||||
Directory="WinAppSDKLoc$(var.IdSafeLanguage)WinUI3AppsInstallFolder"
|
|
||||||
Guid="$(var.CompGUIDPrefix)01">
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="WinUI3Apps_WinAppSDKLoc_$(var.IdSafeLanguage)_Component" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<File Id="WinUI3Apps_WinAppSDKLoc_$(var.IdSafeLanguage)_XamlMui_File" Source="$(var.BinDir)WinUI3Apps\$(var.Language)\Microsoft.ui.xaml.dll.mui" />
|
|
||||||
<File Id="WinUI3Apps_WinAppSDKLoc_$(var.IdSafeLanguage)_XamlPhoneMui_File" Source="$(var.BinDir)WinUI3Apps\$(var.Language)\Microsoft.UI.Xaml.Phone.dll.mui" />
|
|
||||||
</Component>
|
|
||||||
<?undef IdSafeLanguage?>
|
|
||||||
<?undef CompGUIDPrefix?>
|
|
||||||
<?endforeach?>
|
|
||||||
<Component Id="RemoveWinAppSDKFolder" Guid="1BBAA49F-3B2E-455C-A615-EEB079CB9A8B" Directory="WinUI3AppsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveWinAppSDKFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<?foreach Language in $(var.WinAppSDKLocLanguageList)?>
|
|
||||||
<?if $(var.Language) = af-ZA?>
|
|
||||||
<?define IdSafeLanguage = af_ZA?>
|
|
||||||
<?elseif $(var.Language) = ar-SA?>
|
|
||||||
<?define IdSafeLanguage = ar_SA?>
|
|
||||||
<?elseif $(var.Language) = az-Latn-AZ?>
|
|
||||||
<?define IdSafeLanguage = az_Latn_AZ?>
|
|
||||||
<?elseif $(var.Language) = bg-BG?>
|
|
||||||
<?define IdSafeLanguage = bg_BG?>
|
|
||||||
<?elseif $(var.Language) = bs-Latn-BA?>
|
|
||||||
<?define IdSafeLanguage = bs_Latn_BA?>
|
|
||||||
<?elseif $(var.Language) = ca-ES?>
|
|
||||||
<?define IdSafeLanguage = ca_ES?>
|
|
||||||
<?elseif $(var.Language) = cs-CZ?>
|
|
||||||
<?define IdSafeLanguage = cs_CZ?>
|
|
||||||
<?elseif $(var.Language) = cy-GB?>
|
|
||||||
<?define IdSafeLanguage = cy_GB?>
|
|
||||||
<?elseif $(var.Language) = da-DK?>
|
|
||||||
<?define IdSafeLanguage = da_DK?>
|
|
||||||
<?elseif $(var.Language) = de-DE?>
|
|
||||||
<?define IdSafeLanguage = de_DE?>
|
|
||||||
<?elseif $(var.Language) = el-GR?>
|
|
||||||
<?define IdSafeLanguage = el_GR?>
|
|
||||||
<?elseif $(var.Language) = en-GB?>
|
|
||||||
<?define IdSafeLanguage = en_GB?>
|
|
||||||
<?elseif $(var.Language) = en-us?>
|
|
||||||
<?define IdSafeLanguage = en_us?>
|
|
||||||
<?elseif $(var.Language) = es-ES?>
|
|
||||||
<?define IdSafeLanguage = es_ES?>
|
|
||||||
<?elseif $(var.Language) = es-MX?>
|
|
||||||
<?define IdSafeLanguage = es_MX?>
|
|
||||||
<?elseif $(var.Language) = et-EE?>
|
|
||||||
<?define IdSafeLanguage = et_EE?>
|
|
||||||
<?elseif $(var.Language) = eu-ES?>
|
|
||||||
<?define IdSafeLanguage = eu_ES?>
|
|
||||||
<?elseif $(var.Language) = fa-IR?>
|
|
||||||
<?define IdSafeLanguage = fa_IR?>
|
|
||||||
<?elseif $(var.Language) = fi-FI?>
|
|
||||||
<?define IdSafeLanguage = fi_FI?>
|
|
||||||
<?elseif $(var.Language) = fr-CA?>
|
|
||||||
<?define IdSafeLanguage = fr_CA?>
|
|
||||||
<?elseif $(var.Language) = fr-FR?>
|
|
||||||
<?define IdSafeLanguage = fr_FR?>
|
|
||||||
<?elseif $(var.Language) = gl-ES?>
|
|
||||||
<?define IdSafeLanguage = gl_ES?>
|
|
||||||
<?elseif $(var.Language) = he-IL?>
|
|
||||||
<?define IdSafeLanguage = he_IL?>
|
|
||||||
<?elseif $(var.Language) = hi-IN?>
|
|
||||||
<?define IdSafeLanguage = hi_IN?>
|
|
||||||
<?elseif $(var.Language) = hr-HR?>
|
|
||||||
<?define IdSafeLanguage = hr_HR?>
|
|
||||||
<?elseif $(var.Language) = hu-HU?>
|
|
||||||
<?define IdSafeLanguage = hu_HU?>
|
|
||||||
<?elseif $(var.Language) = id-ID?>
|
|
||||||
<?define IdSafeLanguage = id_ID?>
|
|
||||||
<?elseif $(var.Language) = is-IS?>
|
|
||||||
<?define IdSafeLanguage = is_IS?>
|
|
||||||
<?elseif $(var.Language) = it-IT?>
|
|
||||||
<?define IdSafeLanguage = it_IT?>
|
|
||||||
<?elseif $(var.Language) = ja-JP?>
|
|
||||||
<?define IdSafeLanguage = ja_JP?>
|
|
||||||
<?elseif $(var.Language) = ka-GE?>
|
|
||||||
<?define IdSafeLanguage = ka_GE?>
|
|
||||||
<?elseif $(var.Language) = kk-KZ?>
|
|
||||||
<?define IdSafeLanguage = kk_KZ?>
|
|
||||||
<?elseif $(var.Language) = ko-KR?>
|
|
||||||
<?define IdSafeLanguage = ko_KR?>
|
|
||||||
<?elseif $(var.Language) = lt-LT?>
|
|
||||||
<?define IdSafeLanguage = lt_LT?>
|
|
||||||
<?elseif $(var.Language) = lv-LV?>
|
|
||||||
<?define IdSafeLanguage = lv_LV?>
|
|
||||||
<?elseif $(var.Language) = ms-MY?>
|
|
||||||
<?define IdSafeLanguage = ms_MY?>
|
|
||||||
<?elseif $(var.Language) = nb-NO?>
|
|
||||||
<?define IdSafeLanguage = nb_NO?>
|
|
||||||
<?elseif $(var.Language) = nl-NL?>
|
|
||||||
<?define IdSafeLanguage = nl_NL?>
|
|
||||||
<?elseif $(var.Language) = nn-NO?>
|
|
||||||
<?define IdSafeLanguage = nn_NO?>
|
|
||||||
<?elseif $(var.Language) = pl-PL?>
|
|
||||||
<?define IdSafeLanguage = pl_PL?>
|
|
||||||
<?elseif $(var.Language) = pt-BR?>
|
|
||||||
<?define IdSafeLanguage = pt_BR?>
|
|
||||||
<?elseif $(var.Language) = pt-PT?>
|
|
||||||
<?define IdSafeLanguage = pt_PT?>
|
|
||||||
<?elseif $(var.Language) = ro-RO?>
|
|
||||||
<?define IdSafeLanguage = ro_RO?>
|
|
||||||
<?elseif $(var.Language) = ru-RU?>
|
|
||||||
<?define IdSafeLanguage = ru_RU?>
|
|
||||||
<?elseif $(var.Language) = sk-SK?>
|
|
||||||
<?define IdSafeLanguage = sk_SK?>
|
|
||||||
<?elseif $(var.Language) = sl-SI?>
|
|
||||||
<?define IdSafeLanguage = sl_SI?>
|
|
||||||
<?elseif $(var.Language) = sq-AL?>
|
|
||||||
<?define IdSafeLanguage = sq_AL?>
|
|
||||||
<?elseif $(var.Language) = sr-Cyrl-RS?>
|
|
||||||
<?define IdSafeLanguage = sr_Cyrl_RS?>
|
|
||||||
<?elseif $(var.Language) = sr-Latn-RS?>
|
|
||||||
<?define IdSafeLanguage = sr_Latn_RS?>
|
|
||||||
<?elseif $(var.Language) = sv-SE?>
|
|
||||||
<?define IdSafeLanguage = sv_SE?>
|
|
||||||
<?elseif $(var.Language) = th-TH?>
|
|
||||||
<?define IdSafeLanguage = th_TH?>
|
|
||||||
<?elseif $(var.Language) = tr-TR?>
|
|
||||||
<?define IdSafeLanguage = tr_TR?>
|
|
||||||
<?elseif $(var.Language) = uk-UA?>
|
|
||||||
<?define IdSafeLanguage = uk_UA?>
|
|
||||||
<?elseif $(var.Language) = vi-VN?>
|
|
||||||
<?define IdSafeLanguage = vi_VN?>
|
|
||||||
<?elseif $(var.Language) = zh-CN?>
|
|
||||||
<?define IdSafeLanguage = zh_CN?>
|
|
||||||
<?elseif $(var.Language) = zh-TW?>
|
|
||||||
<?define IdSafeLanguage = zh_TW?>
|
|
||||||
<?else?>
|
|
||||||
<?define IdSafeLanguage = $(var.Language)?>
|
|
||||||
<?endif?>
|
|
||||||
<RemoveFolder Id="RemoveFolderWinAppSDKLoc$(var.IdSafeLanguage)WinUI3AppsInstallFolder" Directory="WinAppSDKLoc$(var.IdSafeLanguage)WinUI3AppsInstallFolder" On="uninstall"/>
|
|
||||||
<?undef IdSafeLanguage?>
|
|
||||||
<?endforeach?>
|
|
||||||
<RemoveFolder Id="RemoveFolderWinUI3AppsMicrosoftUIXamlInstallFolder" Directory="WinUI3AppsMicrosoftUIXamlInstallFolder" On="uninstall"/>
|
|
||||||
<RemoveFolder Id="RemoveFolderWinUI3AppsMicrosoftUIXamlAssetsInstallFolder" Directory="WinUI3AppsMicrosoftUIXamlAssetsInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
<ComponentRef Id="WinUI3AppsMicrosoftUIXamlAssets_NoiseAsset_256x256_PNG.png" />
|
|
||||||
<ComponentRef Id="WinUI3AppsMicrosoftUIXamlAssets_map.html" />
|
|
||||||
</ComponentGroup>
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define WinUI3ApplicationsFiles=?>
|
|
||||||
<?define WinUI3ApplicationsFilesPath=$(var.BinDir)\WinUI3Apps\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<DirectoryRef Id="WinUI3AppsInstallFolder">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WinUI3ApplicationsFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<ComponentGroup Id="WinUI3ApplicationsComponentGroup">
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
||||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >
|
|
||||||
|
|
||||||
<?include $(sys.CURRENTDIR)\Common.wxi?>
|
|
||||||
|
|
||||||
<?define WorkspacesImagesComponentFiles=?>
|
|
||||||
<?define WorkspacesImagesComponentFilesPath=$(var.BinDir)Assets\Workspaces\?>
|
|
||||||
|
|
||||||
<Fragment>
|
|
||||||
<!-- Shortcut guide files -->
|
|
||||||
<DirectoryRef Id="BaseApplicationsAssetsFolder">
|
|
||||||
<Directory Id="WorkspacesAssetsInstallFolder" Name="Workspaces" />
|
|
||||||
</DirectoryRef>
|
|
||||||
<DirectoryRef Id="WorkspacesAssetsInstallFolder" FileSource="$(var.WorkspacesImagesComponentFilesPath)">
|
|
||||||
<!-- Generated by generateFileComponents.ps1 -->
|
|
||||||
<!--WorkspacesImagesComponentFiles_Component_Def-->
|
|
||||||
</DirectoryRef>
|
|
||||||
|
|
||||||
<!-- Workspaces -->
|
|
||||||
<ComponentGroup Id="WorkspacesComponentGroup" >
|
|
||||||
<Component Id="RemoveWorkspacesAssetsFolder" Guid="34FC1245-1197-4025-9CF1-A298D509C2CC" Directory="WorkspacesAssetsInstallFolder" >
|
|
||||||
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveWorkspacesAssetsFolder" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
<RemoveFolder Id="RemoveFolderWorkspacesAssetsFolder" Directory="WorkspacesAssetsInstallFolder" On="uninstall"/>
|
|
||||||
</Component>
|
|
||||||
</ComponentGroup>
|
|
||||||
|
|
||||||
</Fragment>
|
|
||||||
</Wix>
|
|
||||||
@@ -1,323 +0,0 @@
|
|||||||
[CmdletBinding()]
|
|
||||||
Param(
|
|
||||||
[Parameter(Mandatory = $True, Position = 1)]
|
|
||||||
[string]$platform,
|
|
||||||
[Parameter(Mandatory = $False, Position = 2)]
|
|
||||||
[string]$installscopeperuser = "false"
|
|
||||||
)
|
|
||||||
|
|
||||||
Function Generate-FileList() {
|
|
||||||
[CmdletBinding()]
|
|
||||||
Param(
|
|
||||||
# Can be multiple files separated by ; as long as they're on the same directory
|
|
||||||
[Parameter(Mandatory = $True, Position = 1)]
|
|
||||||
[AllowEmptyString()]
|
|
||||||
[string]$fileDepsJson,
|
|
||||||
[Parameter(Mandatory = $True, Position = 2)]
|
|
||||||
[string]$fileListName,
|
|
||||||
[Parameter(Mandatory = $True, Position = 3)]
|
|
||||||
[string]$wxsFilePath,
|
|
||||||
# If there is no deps.json file, just pass path to files
|
|
||||||
[Parameter(Mandatory = $False, Position = 4)]
|
|
||||||
[string]$depsPath,
|
|
||||||
# launcher plugins are being loaded into launcher process,
|
|
||||||
# so there are some additional dependencies to skip
|
|
||||||
[Parameter(Mandatory = $False, Position = 5)]
|
|
||||||
[bool]$isLauncherPlugin
|
|
||||||
)
|
|
||||||
|
|
||||||
$fileWxs = Get-Content $wxsFilePath;
|
|
||||||
|
|
||||||
$fileExclusionList = @("*.pdb", "*.lastcodeanalysissucceeded", "createdump.exe", "powertoys.exe")
|
|
||||||
|
|
||||||
$fileInclusionList = @("*.dll", "*.exe", "*.json", "*.msix", "*.png", "*.gif", "*.ico", "*.cur", "*.svg", "index.html", "reg.js", "gitignore.js", "srt.js", "monacoSpecialLanguages.js", "customTokenThemeRules.js", "*.pri")
|
|
||||||
|
|
||||||
$dllsToIgnore = @("System.CodeDom.dll", "WindowsBase.dll")
|
|
||||||
|
|
||||||
if ($fileDepsJson -eq [string]::Empty) {
|
|
||||||
$fileDepsRoot = $depsPath
|
|
||||||
} else {
|
|
||||||
$multipleDepsJson = $fileDepsJson.Split(";")
|
|
||||||
|
|
||||||
foreach ( $singleDepsJson in $multipleDepsJson )
|
|
||||||
{
|
|
||||||
|
|
||||||
$fileDepsRoot = (Get-ChildItem $singleDepsJson).Directory.FullName
|
|
||||||
$depsJson = Get-Content $singleDepsJson | ConvertFrom-Json
|
|
||||||
|
|
||||||
$runtimeList = ([array]$depsJson.targets.PSObject.Properties)[-1].Value.PSObject.Properties | Where-Object {
|
|
||||||
$_.Name -match "runtimepack.*Runtime"
|
|
||||||
};
|
|
||||||
|
|
||||||
$runtimeList | ForEach-Object {
|
|
||||||
$_.Value.PSObject.Properties.Value | ForEach-Object {
|
|
||||||
$fileExclusionList += $_.PSObject.Properties.Name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$fileExclusionList = $fileExclusionList | Where-Object {$_ -notin $dllsToIgnore}
|
|
||||||
|
|
||||||
if ($isLauncherPlugin -eq $True) {
|
|
||||||
$fileInclusionList += @("*.deps.json")
|
|
||||||
$fileExclusionList += @("Ijwhost.dll", "PowerToys.Common.UI.dll", "PowerToys.GPOWrapper.dll", "PowerToys.GPOWrapperProjection.dll", "PowerToys.PowerLauncher.Telemetry.dll", "PowerToys.ManagedCommon.dll", "PowerToys.Settings.UI.Lib.dll", "Wox.Infrastructure.dll", "Wox.Plugin.dll")
|
|
||||||
}
|
|
||||||
|
|
||||||
$fileList = Get-ChildItem $fileDepsRoot -Include $fileInclusionList -Exclude $fileExclusionList -File -Name
|
|
||||||
|
|
||||||
$fileWxs = $fileWxs -replace "(<\?define $($fileListName)=)", "<?define $fileListName=$($fileList -join ';')"
|
|
||||||
|
|
||||||
Set-Content -Path $wxsFilePath -Value $fileWxs
|
|
||||||
}
|
|
||||||
|
|
||||||
Function Generate-FileComponents() {
|
|
||||||
[CmdletBinding()]
|
|
||||||
Param(
|
|
||||||
[Parameter(Mandatory = $True, Position = 1)]
|
|
||||||
[string]$fileListName,
|
|
||||||
[Parameter(Mandatory = $True, Position = 2)]
|
|
||||||
[string]$wxsFilePath,
|
|
||||||
[Parameter(Mandatory = $True, Position = 3)]
|
|
||||||
[string]$regroot
|
|
||||||
)
|
|
||||||
|
|
||||||
$wxsFile = Get-Content $wxsFilePath;
|
|
||||||
|
|
||||||
$wxsFile | ForEach-Object {
|
|
||||||
if ($_ -match "(<?define $fileListName=)(.*)\?>") {
|
|
||||||
[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', 'fileList',
|
|
||||||
Justification = 'variable is used in another scope')]
|
|
||||||
|
|
||||||
$fileList = $matches[2] -split ';'
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$componentId = "$($fileListName)_Component"
|
|
||||||
|
|
||||||
$componentDefs = "`r`n"
|
|
||||||
$componentDefs +=
|
|
||||||
@"
|
|
||||||
<Component Id="$($componentId)" Win64="yes" Guid="$((New-Guid).ToString().ToUpper())">
|
|
||||||
<RegistryKey Root="$($regroot)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="$($componentId)" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>`r`n
|
|
||||||
"@
|
|
||||||
|
|
||||||
foreach ($file in $fileList) {
|
|
||||||
$fileTmp = $file -replace "-", "_"
|
|
||||||
$componentDefs +=
|
|
||||||
@"
|
|
||||||
<File Id="$($fileListName)_File_$($fileTmp)" Source="`$(var.$($fileListName)Path)\$($file)" />`r`n
|
|
||||||
"@
|
|
||||||
}
|
|
||||||
|
|
||||||
$componentDefs +=
|
|
||||||
@"
|
|
||||||
</Component>`r`n
|
|
||||||
"@
|
|
||||||
|
|
||||||
$wxsFile = $wxsFile -replace "\s+(<!--$($fileListName)_Component_Def-->)", $componentDefs
|
|
||||||
|
|
||||||
$componentRef =
|
|
||||||
@"
|
|
||||||
<ComponentRef Id="$($componentId)" />
|
|
||||||
"@
|
|
||||||
|
|
||||||
$wxsFile = $wxsFile -replace "\s+(</ComponentGroup>)", "$componentRef`r`n </ComponentGroup>"
|
|
||||||
|
|
||||||
Set-Content -Path $wxsFilePath -Value $wxsFile
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($platform -ceq "arm64") {
|
|
||||||
$platform = "ARM64"
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($installscopeperuser -eq "true") {
|
|
||||||
$registryroot = "HKCU"
|
|
||||||
} else {
|
|
||||||
$registryroot = "HKLM"
|
|
||||||
}
|
|
||||||
|
|
||||||
#BaseApplications
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName BaseApplicationsFiles -wxsFilePath $PSScriptRoot\BaseApplications.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release"
|
|
||||||
Generate-FileComponents -fileListName "BaseApplicationsFiles" -wxsFilePath $PSScriptRoot\BaseApplications.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#WinUI3Applications
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName WinUI3ApplicationsFiles -wxsFilePath $PSScriptRoot\WinUI3Applications.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps"
|
|
||||||
Generate-FileComponents -fileListName "WinUI3ApplicationsFiles" -wxsFilePath $PSScriptRoot\WinUI3Applications.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#AdvancedPaste
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName AdvancedPasteAssetsFiles -wxsFilePath $PSScriptRoot\AdvancedPaste.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\AdvancedPaste"
|
|
||||||
Generate-FileComponents -fileListName "AdvancedPasteAssetsFiles" -wxsFilePath $PSScriptRoot\AdvancedPaste.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#AwakeFiles
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName AwakeImagesFiles -wxsFilePath $PSScriptRoot\Awake.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\Awake"
|
|
||||||
Generate-FileComponents -fileListName "AwakeImagesFiles" -wxsFilePath $PSScriptRoot\Awake.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#ColorPicker
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ColorPickerAssetsFiles -wxsFilePath $PSScriptRoot\ColorPicker.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\ColorPicker"
|
|
||||||
Generate-FileComponents -fileListName "ColorPickerAssetsFiles" -wxsFilePath $PSScriptRoot\ColorPicker.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#Environment Variables
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName EnvironmentVariablesAssetsFiles -wxsFilePath $PSScriptRoot\EnvironmentVariables.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\EnvironmentVariables"
|
|
||||||
Generate-FileComponents -fileListName "EnvironmentVariablesAssetsFiles" -wxsFilePath $PSScriptRoot\EnvironmentVariables.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#FileExplorerAdd-ons
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName MonacoPreviewHandlerMonacoAssetsFiles -wxsFilePath $PSScriptRoot\FileExplorerPreview.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\Monaco"
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName MonacoPreviewHandlerCustomLanguagesFiles -wxsFilePath $PSScriptRoot\FileExplorerPreview.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\Monaco\customLanguages"
|
|
||||||
Generate-FileComponents -fileListName "MonacoPreviewHandlerMonacoAssetsFiles" -wxsFilePath $PSScriptRoot\FileExplorerPreview.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "MonacoPreviewHandlerCustomLanguagesFiles" -wxsFilePath $PSScriptRoot\FileExplorerPreview.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#FileLocksmith
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName FileLocksmithAssetsFiles -wxsFilePath $PSScriptRoot\FileLocksmith.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\FileLocksmith"
|
|
||||||
Generate-FileComponents -fileListName "FileLocksmithAssetsFiles" -wxsFilePath $PSScriptRoot\FileLocksmith.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#Hosts
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName HostsAssetsFiles -wxsFilePath $PSScriptRoot\Hosts.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\Hosts"
|
|
||||||
Generate-FileComponents -fileListName "HostsAssetsFiles" -wxsFilePath $PSScriptRoot\Hosts.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#ImageResizer
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ImageResizerAssetsFiles -wxsFilePath $PSScriptRoot\ImageResizer.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\ImageResizer"
|
|
||||||
Generate-FileComponents -fileListName "ImageResizerAssetsFiles" -wxsFilePath $PSScriptRoot\ImageResizer.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#New+
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName NewPlusAssetsFiles -wxsFilePath $PSScriptRoot\NewPlus.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\NewPlus"
|
|
||||||
Generate-FileComponents -fileListName "NewPlusAssetsFiles" -wxsFilePath $PSScriptRoot\NewPlus.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#Peek
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName PeekAssetsFiles -wxsFilePath $PSScriptRoot\Peek.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\Peek\"
|
|
||||||
Generate-FileComponents -fileListName "PeekAssetsFiles" -wxsFilePath $PSScriptRoot\Peek.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#PowerRename
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName PowerRenameAssetsFiles -wxsFilePath $PSScriptRoot\PowerRename.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\PowerRename\"
|
|
||||||
Generate-FileComponents -fileListName "PowerRenameAssetsFiles" -wxsFilePath $PSScriptRoot\PowerRename.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#RegistryPreview
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName RegistryPreviewAssetsFiles -wxsFilePath $PSScriptRoot\RegistryPreview.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\RegistryPreview\"
|
|
||||||
Generate-FileComponents -fileListName "RegistryPreviewAssetsFiles" -wxsFilePath $PSScriptRoot\RegistryPreview.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#Run
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName launcherImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\PowerLauncher"
|
|
||||||
Generate-FileComponents -fileListName "launcherImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
## Plugins
|
|
||||||
###Calculator
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Calculator\Microsoft.PowerToys.Run.Plugin.Calculator.deps.json" -fileListName calcComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName calcImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Calculator\Images"
|
|
||||||
Generate-FileComponents -fileListName "calcComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "calcImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Folder
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Folder\Microsoft.Plugin.Folder.deps.json" -fileListName FolderComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName FolderImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Folder\Images"
|
|
||||||
Generate-FileComponents -fileListName "FolderComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "FolderImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Program
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Program\Microsoft.Plugin.Program.deps.json" -fileListName ProgramComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ProgramImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Program\Images"
|
|
||||||
Generate-FileComponents -fileListName "ProgramComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "ProgramImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Shell
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Shell\Microsoft.Plugin.Shell.deps.json" -fileListName ShellComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ShellImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Shell\Images"
|
|
||||||
Generate-FileComponents -fileListName "ShellComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "ShellImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Indexer
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Indexer\Microsoft.Plugin.Indexer.deps.json" -fileListName IndexerComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName IndexerImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Indexer\Images"
|
|
||||||
Generate-FileComponents -fileListName "IndexerComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "IndexerImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###UnitConverter
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\UnitConverter\Community.PowerToys.Run.Plugin.UnitConverter.deps.json" -fileListName UnitConvCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName UnitConvImagesCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\UnitConverter\Images"
|
|
||||||
Generate-FileComponents -fileListName "UnitConvCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "UnitConvImagesCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###WebSearch
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WebSearch\Community.PowerToys.Run.Plugin.WebSearch.deps.json" -fileListName WebSrchCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName WebSrchImagesCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WebSearch\Images"
|
|
||||||
Generate-FileComponents -fileListName "WebSrchCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "WebSrchImagesCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###History
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\History\Microsoft.PowerToys.Run.Plugin.History.deps.json" -fileListName HistoryPluginComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName HistoryPluginImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\History\Images"
|
|
||||||
Generate-FileComponents -fileListName "HistoryPluginComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "HistoryPluginImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Uri
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Uri\Microsoft.Plugin.Uri.deps.json" -fileListName UriComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName UriImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Uri\Images"
|
|
||||||
Generate-FileComponents -fileListName "UriComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "UriImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###VSCodeWorkspaces
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\VSCodeWorkspaces\Community.PowerToys.Run.Plugin.VSCodeWorkspaces.deps.json" -fileListName VSCWrkCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName VSCWrkImagesCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\VSCodeWorkspaces\Images"
|
|
||||||
Generate-FileComponents -fileListName "VSCWrkCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "VSCWrkImagesCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###WindowWalker
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WindowWalker\Microsoft.Plugin.WindowWalker.deps.json" -fileListName WindowWlkrCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName WindowWlkrImagesCompFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WindowWalker\Images"
|
|
||||||
Generate-FileComponents -fileListName "WindowWlkrCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "WindowWlkrImagesCompFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###OneNote
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\OneNote\Microsoft.PowerToys.Run.Plugin.OneNote.deps.json" -fileListName OneNoteComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName OneNoteImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\OneNote\Images"
|
|
||||||
Generate-FileComponents -fileListName "OneNoteComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "OneNoteImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Registry
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Registry\Microsoft.PowerToys.Run.Plugin.Registry.deps.json" -fileListName RegistryComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName RegistryImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Registry\Images"
|
|
||||||
Generate-FileComponents -fileListName "RegistryComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "RegistryImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###Service
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Service\Microsoft.PowerToys.Run.Plugin.Service.deps.json" -fileListName ServiceComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ServiceImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\Service\Images"
|
|
||||||
Generate-FileComponents -fileListName "ServiceComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "ServiceImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###System
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\System\Microsoft.PowerToys.Run.Plugin.System.deps.json" -fileListName SystemComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName SystemImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\System\Images"
|
|
||||||
Generate-FileComponents -fileListName "SystemComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "SystemImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###TimeDate
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\TimeDate\Microsoft.PowerToys.Run.Plugin.TimeDate.deps.json" -fileListName TimeDateComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName TimeDateImagesComponentFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\TimeDate\Images"
|
|
||||||
Generate-FileComponents -fileListName "TimeDateComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "TimeDateImagesComponentFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###WindowsSettings
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WindowsSettings\Microsoft.PowerToys.Run.Plugin.WindowsSettings.deps.json" -fileListName WinSetCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName WinSetImagesCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WindowsSettings\Images"
|
|
||||||
Generate-FileComponents -fileListName "WinSetCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "WinSetImagesCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###WindowsTerminal
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WindowsTerminal\Microsoft.PowerToys.Run.Plugin.WindowsTerminal.deps.json" -fileListName WinTermCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName WinTermImagesCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\WindowsTerminal\Images"
|
|
||||||
Generate-FileComponents -fileListName "WinTermCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "WinTermImagesCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###PowerToys
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\PowerToys\Microsoft.PowerToys.Run.Plugin.PowerToys.deps.json" -fileListName PowerToysCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName PowerToysImagesCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\PowerToys\Images"
|
|
||||||
Generate-FileComponents -fileListName "PowerToysCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "PowerToysImagesCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
###ValueGenerator
|
|
||||||
Generate-FileList -fileDepsJson "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\ValueGenerator\Community.PowerToys.Run.Plugin.ValueGenerator.deps.json" -fileListName ValueGeneratorCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -isLauncherPlugin 1
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ValueGeneratorImagesCmpFiles -wxsFilePath $PSScriptRoot\Run.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\RunPlugins\ValueGenerator\Images"
|
|
||||||
Generate-FileComponents -fileListName "ValueGeneratorCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "ValueGeneratorImagesCmpFiles" -wxsFilePath $PSScriptRoot\Run.wxs -regroot $registryroot
|
|
||||||
## Plugins
|
|
||||||
|
|
||||||
#ShortcutGuide
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName ShortcutGuideSvgFiles -wxsFilePath $PSScriptRoot\ShortcutGuide.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\ShortcutGuide\"
|
|
||||||
Generate-FileComponents -fileListName "ShortcutGuideSvgFiles" -wxsFilePath $PSScriptRoot\ShortcutGuide.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#Settings
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName SettingsV2AssetsFiles -wxsFilePath $PSScriptRoot\Settings.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\Settings\"
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName SettingsV2AssetsModulesFiles -wxsFilePath $PSScriptRoot\Settings.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\Settings\Modules\"
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName SettingsV2OOBEAssetsModulesFiles -wxsFilePath $PSScriptRoot\Settings.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\Settings\Modules\OOBE\"
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName SettingsV2OOBEAssetsFluentIconsFiles -wxsFilePath $PSScriptRoot\Settings.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\WinUI3Apps\Assets\Settings\Icons\"
|
|
||||||
Generate-FileComponents -fileListName "SettingsV2AssetsFiles" -wxsFilePath $PSScriptRoot\Settings.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "SettingsV2AssetsModulesFiles" -wxsFilePath $PSScriptRoot\Settings.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "SettingsV2OOBEAssetsModulesFiles" -wxsFilePath $PSScriptRoot\Settings.wxs -regroot $registryroot
|
|
||||||
Generate-FileComponents -fileListName "SettingsV2OOBEAssetsFluentIconsFiles" -wxsFilePath $PSScriptRoot\Settings.wxs -regroot $registryroot
|
|
||||||
|
|
||||||
#Workspaces
|
|
||||||
Generate-FileList -fileDepsJson "" -fileListName WorkspacesImagesComponentFiles -wxsFilePath $PSScriptRoot\Workspaces.wxs -depsPath "$PSScriptRoot..\..\..\$platform\Release\Assets\Workspaces\"
|
|
||||||
Generate-FileComponents -fileListName "WorkspacesImagesComponentFiles" -wxsFilePath $PSScriptRoot\Workspaces.wxs -regroot $registryroot
|
|
||||||
87
installer/PowerToysSetup/generateDscResourcesWxs.ps1
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
[CmdletBinding()]
|
||||||
|
Param(
|
||||||
|
[Parameter(Mandatory = $True)]
|
||||||
|
[string]$dscWxsFile,
|
||||||
|
[Parameter(Mandatory = $True)]
|
||||||
|
[string]$Platform,
|
||||||
|
[Parameter(Mandatory = $True)]
|
||||||
|
[string]$Configuration
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||||
|
$buildOutputDir = Join-Path $scriptDir "..\..\$Platform\$Configuration"
|
||||||
|
|
||||||
|
if (-not (Test-Path $buildOutputDir)) {
|
||||||
|
Write-Error "Build output directory not found: '$buildOutputDir'"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
$dscFiles = Get-ChildItem -Path $buildOutputDir -Filter "microsoft.powertoys.*.settings.dsc.resource.json" -File
|
||||||
|
|
||||||
|
if (-not $dscFiles) {
|
||||||
|
Write-Warning "No DSC manifest files found in '$buildOutputDir'"
|
||||||
|
$wxsContent = @"
|
||||||
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
<?include `$(sys.CURRENTDIR)\Common.wxi?>
|
||||||
|
<Fragment>
|
||||||
|
<ComponentGroup Id="DscResourcesComponentGroup">
|
||||||
|
</ComponentGroup>
|
||||||
|
</Fragment>
|
||||||
|
</Wix>
|
||||||
|
"@
|
||||||
|
Set-Content -Path $dscWxsFile -Value $wxsContent
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Found $($dscFiles.Count) DSC manifest file(s)"
|
||||||
|
|
||||||
|
$wxsContent = @"
|
||||||
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
<?include `$(sys.CURRENTDIR)\Common.wxi?>
|
||||||
|
<Fragment>
|
||||||
|
<DirectoryRef Id="DSCModulesReferenceFolder">
|
||||||
|
"@
|
||||||
|
|
||||||
|
$componentRefs = @()
|
||||||
|
foreach ($file in $dscFiles) {
|
||||||
|
$componentId = "DscResource_" + ($file.BaseName -replace '[^A-Za-z0-9_]', '_')
|
||||||
|
$fileId = $componentId + "_File"
|
||||||
|
$guid = [System.Guid]::NewGuid().ToString().ToUpper()
|
||||||
|
$componentRefs += $componentId
|
||||||
|
|
||||||
|
$wxsContent += @"
|
||||||
|
|
||||||
|
<Component Id="$componentId" Guid="{$guid}">
|
||||||
|
<RegistryKey Root="`$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
||||||
|
<RegistryValue Type="string" Name="$componentId" Value="" KeyPath="yes"/>
|
||||||
|
</RegistryKey>
|
||||||
|
<File Id="$fileId" Source="`$(var.BinDir)$($file.Name)" Vital="no"/>
|
||||||
|
</Component>
|
||||||
|
"@
|
||||||
|
}
|
||||||
|
|
||||||
|
$wxsContent += @"
|
||||||
|
|
||||||
|
</DirectoryRef>
|
||||||
|
</Fragment>
|
||||||
|
<Fragment>
|
||||||
|
<ComponentGroup Id="DscResourcesComponentGroup">
|
||||||
|
"@
|
||||||
|
|
||||||
|
foreach ($componentId in $componentRefs) {
|
||||||
|
$wxsContent += @"
|
||||||
|
|
||||||
|
<ComponentRef Id="$componentId"/>
|
||||||
|
"@
|
||||||
|
}
|
||||||
|
|
||||||
|
$wxsContent += @"
|
||||||
|
|
||||||
|
</ComponentGroup>
|
||||||
|
</Fragment>
|
||||||
|
</Wix>
|
||||||
|
"@
|
||||||
|
|
||||||
|
Set-Content -Path $dscWxsFile -Value $wxsContent
|
||||||
|
Write-Host "Generated DSC resources WiX fragment: '$dscWxsFile'"
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
[CmdletBinding()]
|
|
||||||
Param(
|
|
||||||
[Parameter(Mandatory = $True, Position = 1)]
|
|
||||||
[string]$monacoWxsFile
|
|
||||||
)
|
|
||||||
|
|
||||||
$fileWxs = Get-Content $monacoWxsFile;
|
|
||||||
|
|
||||||
$fileWxs = $fileWxs -replace " KeyPath=`"yes`" ", " "
|
|
||||||
|
|
||||||
$newFileContent = ""
|
|
||||||
|
|
||||||
$componentId = "error"
|
|
||||||
$directories = @()
|
|
||||||
|
|
||||||
$fileWxs | ForEach-Object {
|
|
||||||
$line = $_;
|
|
||||||
if ($line -match "<Wix xmlns=`".*`">") {
|
|
||||||
$line +=
|
|
||||||
@"
|
|
||||||
`r`n
|
|
||||||
<?include `$(sys.CURRENTDIR)\Common.wxi?>`r`n
|
|
||||||
"@
|
|
||||||
}
|
|
||||||
if ($line -match "<Component Id=`"(.*)`" Directory") {
|
|
||||||
$componentId = $matches[1]
|
|
||||||
}
|
|
||||||
if ($line -match "<Directory Id=`"(.*)`" Name=`".*`" />") {
|
|
||||||
$directories += $matches[1]
|
|
||||||
}
|
|
||||||
if ($line -match "</Component>") {
|
|
||||||
$line =
|
|
||||||
@"
|
|
||||||
<RegistryKey Root="`$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="$($componentId)" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>
|
|
||||||
</Component>
|
|
||||||
"@
|
|
||||||
}
|
|
||||||
|
|
||||||
$newFileContent += $line + "`r`n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$removeFolderEntries =
|
|
||||||
@"
|
|
||||||
`r`n <Component Id="RemoveMonacoSRCFolders" Guid="$((New-Guid).ToString().ToUpper())" Directory="MonacoPreviewHandlerMonacoSRCFolder" >
|
|
||||||
<RegistryKey Root="`$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
|
|
||||||
<RegistryValue Type="string" Name="RemoveMonacoSRCFolders" Value="" KeyPath="yes"/>
|
|
||||||
</RegistryKey>`r`n
|
|
||||||
"@
|
|
||||||
|
|
||||||
$directories | ForEach-Object {
|
|
||||||
|
|
||||||
$removeFolderEntries +=
|
|
||||||
@"
|
|
||||||
<RemoveFolder Id="Remove$($_)" Directory="$($_)" On="uninstall"/>
|
|
||||||
|
|
||||||
"@
|
|
||||||
}
|
|
||||||
|
|
||||||
$removeFolderEntries +=
|
|
||||||
@"
|
|
||||||
</Component>
|
|
||||||
"@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$newFileContent = $newFileContent -replace "\s+(</ComponentGroup>)", "$removeFolderEntries`r`n </ComponentGroup>"
|
|
||||||
|
|
||||||
Set-Content -Path $monacoWxsFile -Value $newFileContent
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
</packages>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
setlocal enableDelayedExpansion
|
|
||||||
|
|
||||||
IF NOT DEFINED PTRoot (SET PTRoot=..\..)
|
|
||||||
|
|
||||||
SET PlatformArg=%1
|
|
||||||
IF NOT DEFINED PlatformArg (SET PlatformArg=x64)
|
|
||||||
SET VCToolsVersion=!VCToolsVersion!
|
|
||||||
SET ClearDevCommandPromptEnvVars=false
|
|
||||||
|
|
||||||
rem In case of Release we should not use Debug CRT in VCRT forwarders
|
|
||||||
msbuild !PTRoot!\src\modules\previewpane\MonacoPreviewHandler\MonacoPreviewHandler.csproj -t:Publish -p:Configuration="Release" -p:Platform="!PlatformArg!" -p:AppxBundle=Never -p:PowerToysRoot=!PTRoot! -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=InstallationPublishProfile.pubxml -p:TargetFramework=net10.0-windows10.0.26100.0
|
|
||||||
|
|
||||||
msbuild !PTRoot!\src\modules\previewpane\MarkdownPreviewHandler\MarkdownPreviewHandler.csproj -t:Publish -p:Configuration="Release" -p:Platform="!PlatformArg!" -p:AppxBundle=Never -p:PowerToysRoot=!PTRoot! -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=InstallationPublishProfile.pubxml -p:TargetFramework=net10.0-windows10.0.26100.0
|
|
||||||
|
|
||||||
msbuild !PTRoot!\src\modules\previewpane\SvgPreviewHandler\SvgPreviewHandler.csproj -t:Publish -p:Configuration="Release" -p:Platform="!PlatformArg!" -p:AppxBundle=Never -p:PowerToysRoot=!PTRoot! -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=InstallationPublishProfile.pubxml -p:TargetFramework=net10.0-windows10.0.26100.0
|
|
||||||
|
|
||||||
msbuild !PTRoot!\src\modules\previewpane\SvgThumbnailProvider\SvgThumbnailProvider.csproj -t:Publish -p:Configuration="Release" -p:Platform="!PlatformArg!" -p:AppxBundle=Never -p:PowerToysRoot=!PTRoot! -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=InstallationPublishProfile.pubxml -p:TargetFramework=net10.0-windows10.0.26100.0
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@echo off
|
|
||||||
setlocal ENABLEDELAYEDEXPANSION
|
|
||||||
|
|
||||||
@REM We loop here until taskkill cannot find a PowerToys process. We can't use /F flag, because it
|
|
||||||
@REM doesn't give application an opportunity to cleanup. Thus we send WM_CLOSE which is being caught
|
|
||||||
@REM by multiple windows running a msg loop in PowerToys.exe process, which we close one by one.
|
|
||||||
for /l %%x in (1, 1, 100) do (
|
|
||||||
taskkill /IM PowerToys.exe 1>NUL 2>NUL
|
|
||||||
if !ERRORLEVEL! NEQ 0 goto quit
|
|
||||||
)
|
|
||||||
|
|
||||||
:quit
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
LIBRARY "PowerToysSetupCustomActions"
|
|
||||||
|
|
||||||
EXPORTS
|
|
||||||
LaunchPowerToysCA
|
|
||||||
CheckGPOCA
|
|
||||||
CleanVideoConferenceRegistryCA
|
|
||||||
ApplyModulesRegistryChangeSetsCA
|
|
||||||
DetectPrevInstallPathCA
|
|
||||||
RemoveScheduledTasksCA
|
|
||||||
TelemetryLogInstallSuccessCA
|
|
||||||
TelemetryLogInstallCancelCA
|
|
||||||
TelemetryLogInstallFailCA
|
|
||||||
TelemetryLogUninstallSuccessCA
|
|
||||||
TelemetryLogUninstallCancelCA
|
|
||||||
TelemetryLogUninstallFailCA
|
|
||||||
TelemetryLogRepairCancelCA
|
|
||||||
TelemetryLogRepairFailCA
|
|
||||||
TerminateProcessesCA
|
|
||||||
InstallEmbeddedMSIXCA
|
|
||||||
InstallDSCModuleCA
|
|
||||||
InstallCmdPalPackageCA
|
|
||||||
UnApplyModulesRegistryChangeSetsCA
|
|
||||||
UnRegisterCmdPalPackageCA
|
|
||||||
UnRegisterContextMenuPackagesCA
|
|
||||||
UninstallEmbeddedMSIXCA
|
|
||||||
UninstallDSCModuleCA
|
|
||||||
UninstallServicesCA
|
|
||||||
UninstallCommandNotFoundModuleCA
|
|
||||||
UpgradeCommandNotFoundModuleCA
|
|
||||||
UnsetAdvancedPasteAPIKeyCA
|
|
||||||
CleanImageResizerRuntimeRegistryCA
|
|
||||||
CleanFileLocksmithRuntimeRegistryCA
|
|
||||||
CleanPowerRenameRuntimeRegistryCA
|
|
||||||
CleanNewPlusRuntimeRegistryCA
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="15.0" DefaultTargets="Build"
|
|
||||||
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" />
|
|
||||||
<Import Project="..\wix.props" Condition="Exists('..\wix.props')" />
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{32f3882b-f2d6-4586-b5ed-11e39e522bd3}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>PowerToysSetupCustomActions</RootNamespace>
|
|
||||||
<ProjectName>PowerToysSetupCustomActions</ProjectName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<Import Project="..\..\deps\spdlog.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)'=='Debug'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)'=='Release'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutDir Condition=" '$(PerUser)' != 'true' ">$(Platform)\$(Configuration)\MachineSetup\</OutDir>
|
|
||||||
<OutDir Condition=" '$(PerUser)' == 'true' ">$(Platform)\$(Configuration)\UserSetup\</OutDir>
|
|
||||||
<IntDir Condition=" '$(PerUser)' != 'true' ">$(SolutionDir)$(ProjectName)\$(Platform)\$(Configuration)\MachineSetup\obj\</IntDir>
|
|
||||||
<IntDir Condition=" '$(PerUser)' == 'true' ">$(SolutionDir)$(ProjectName)\$(Platform)\$(Configuration)\UserSetup\obj\</IntDir>
|
|
||||||
<!-- The CMD script below checks this value, and it is **CASE SENSITIVE** -->
|
|
||||||
<NormalizedPerUserValue>false</NormalizedPerUserValue>
|
|
||||||
<NormalizedPerUserValue Condition=" '$(PerUser)' == 'true' ">true</NormalizedPerUserValue>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
<IncludePath>..\..\src\common\Telemetry;$(IncludePath)</IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<PreBuildEvent>
|
|
||||||
<Command>
|
|
||||||
call cmd /C "copy ""$(ProjectDir)DepsFilesLists.h"" ""$(ProjectDir)DepsFilesLists.h.bk"""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\AdvancedPaste.wxs"" ""$(ProjectDir)..\PowerToysSetup\AdvancedPaste.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Awake.wxs"" ""$(ProjectDir)..\PowerToysSetup\Awake.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\BaseApplications.wxs"" ""$(ProjectDir)..\PowerToysSetup\BaseApplications.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\CmdPal.wxs"" ""$(ProjectDir)..\PowerToysSetup\CmdPal.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\ColorPicker.wxs"" ""$(ProjectDir)..\PowerToysSetup\ColorPicker.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Core.wxs"" ""$(ProjectDir)..\PowerToysSetup\Core.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\EnvironmentVariables.wxs"" ""$(ProjectDir)..\PowerToysSetup\EnvironmentVariables.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\FileExplorerPreview.wxs"" ""$(ProjectDir)..\PowerToysSetup\FileExplorerPreview.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\FileLocksmith.wxs"" ""$(ProjectDir)..\PowerToysSetup\FileLocksmith.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Hosts.wxs"" ""$(ProjectDir)..\PowerToysSetup\Hosts.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\ImageResizer.wxs"" ""$(ProjectDir)..\PowerToysSetup\ImageResizer.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\KeyboardManager.wxs"" ""$(ProjectDir)..\PowerToysSetup\KeyboardManager.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\MouseWithoutBorders.wxs"" ""$(ProjectDir)..\PowerToysSetup\MouseWithoutBorders.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\NewPlus.wxs"" ""$(ProjectDir)..\PowerToysSetup\NewPlus.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Peek.wxs"" ""$(ProjectDir)..\PowerToysSetup\Peek.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\PowerRename.wxs"" ""$(ProjectDir)..\PowerToysSetup\PowerRename.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Product.wxs"" ""$(ProjectDir)..\PowerToysSetup\Product.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\RegistryPreview.wxs"" ""$(ProjectDir)..\PowerToysSetup\RegistryPreview.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Resources.wxs"" ""$(ProjectDir)..\PowerToysSetup\Resources.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Run.wxs"" ""$(ProjectDir)..\PowerToysSetup\Run.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Settings.wxs"" ""$(ProjectDir)..\PowerToysSetup\Settings.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\ShortcutGuide.wxs"" ""$(ProjectDir)..\PowerToysSetup\ShortcutGuide.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Tools.wxs"" ""$(ProjectDir)..\PowerToysSetup\Tools.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\WinAppSDK.wxs"" ""$(ProjectDir)..\PowerToysSetup\WinAppSDK.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\WinUI3Applications.wxs"" ""$(ProjectDir)..\PowerToysSetup\WinUI3Applications.wxs.bk""""
|
|
||||||
call cmd /C "copy ""$(ProjectDir)..\PowerToysSetup\Workspaces.wxs"" ""$(ProjectDir)..\PowerToysSetup\Workspaces.wxs.bk""""
|
|
||||||
if not "$(NormalizedPerUserValue)" == "true" call powershell.exe -NonInteractive -executionpolicy Unrestricted -File ..\PowerToysSetup\generateAllFileComponents.ps1 -platform $(Platform)
|
|
||||||
if "$(NormalizedPerUserValue)" == "true" call powershell.exe -NonInteractive -executionpolicy Unrestricted -File ..\PowerToysSetup\generateAllFileComponents.ps1 -platform $(Platform) -installscopeperuser $(NormalizedPerUserValue)
|
|
||||||
</Command>
|
|
||||||
<Message>Backing up original files and populating .NET and WPF Runtime dependencies for WiX3 based installer</Message>
|
|
||||||
</PreBuildEvent>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<PropertyGroup Condition="'$(RunBuildEvents)'=='false'">
|
|
||||||
<PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
|
|
||||||
<PostBuildEventUseInBuild>false</PostBuildEventUseInBuild>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<AdditionalIncludeDirectories>inc;..\..\src\;..\..\src\common\Telemetry;telemetry;$(WixSdkPath)VS2017\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<AdditionalOptions>/await /Zc:twoPhase- /Wv:18 %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>Userenv.lib;Wtsapi32.lib;WindowsApp.lib;Newdev.lib;Crypt32.lib;msi.lib;wcautil.lib;Psapi.lib;Pathcch.lib;comsupp.lib;taskschd.lib;Secur32.lib;msi.lib;dutil.lib;wcautil.lib;Version.lib;Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<ModuleDefinitionFile>CustomAction.def</ModuleDefinitionFile>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<PreprocessorDefinitions>WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalLibraryDirectories>$(WixSdkPath)VS2017\lib\$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<UACExecutionLevel>HighestAvailable</UACExecutionLevel>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<UACExecutionLevel>HighestAvailable</UACExecutionLevel>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="CustomAction.cpp" />
|
|
||||||
<ClCompile Include="pch.cpp">
|
|
||||||
<PrecompiledHeader Condition="'$(UsePrecompiledHeaders)' != 'false'">Create</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="CustomAction.def" />
|
|
||||||
<None Include="packages.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="DepsFilesLists.h" />
|
|
||||||
<ClInclude Include="RcResource.h" />
|
|
||||||
<ClInclude Include="resource.h" />
|
|
||||||
<ClInclude Include="pch.h" />
|
|
||||||
<ClInclude Include="Telemetry\ProjectTelemetry.h" />
|
|
||||||
<ClInclude Include="Telemetry\TraceLoggingDefines.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Resource.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\common\logger\logger.vcxproj">
|
|
||||||
<Project>{d9b8fc84-322a-4f9f-bbb9-20915c47ddfd}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\..\src\common\Telemetry\EtwTrace\EtwTrace.vcxproj">
|
|
||||||
<Project>{8f021b46-362b-485c-bfba-ccf83e820cbd}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" />
|
|
||||||
</ImportGroup>
|
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Error Condition="!Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props'))" />
|
|
||||||
<Error Condition="!Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets'))" />
|
|
||||||
</Target>
|
|
||||||
</Project>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="CustomAction.cpp" />
|
|
||||||
<ClCompile Include="pch.cpp" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="pch.h" />
|
|
||||||
<ClInclude Include="Telemetry\ProjectTelemetry.h">
|
|
||||||
<Filter>Telemetry</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Telemetry\TraceLoggingDefines.h">
|
|
||||||
<Filter>Telemetry</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="resource.h" />
|
|
||||||
<ClInclude Include="RcResource.h" />
|
|
||||||
<ClInclude Include="DepsFilesLists.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="CustomAction.def" />
|
|
||||||
<None Include="packages.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Filter Include="Telemetry">
|
|
||||||
<UniqueIdentifier>{6e73ce5d-e715-4e7e-b796-c5d180b07ff2}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Resource.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||