mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-12 02:09:24 +08:00
648f30d1ab
* Peek (#22498) * Add peek dll project * add spacebar preview and launch on hotkey press * add todo * add process handle to handle continuous press of hotkey * add tool to stop all powertoys processes * Add a blank Peek page and update nav menu * Add some initial content to Peek page including a toggle * refactor settings parsing * rename spacebar peek to peek viewer * rename script to stop powertoys processes * remove tool * Adding FileUtils for retrieving selected file in File Explorer * Remove unnecessary SndPeekSettings * Add shortcut setting * Set the shortcut to ctrl+space * Launching viewer with selected FE file * Add PeekUI WinUI3 project with interop events * Moving FileTypeUtils into PeekFileUtils project * execute winui3 app on hotkey * Fix paths with spaces * remove winui3 project * Resolve comment * add wpf app with toggle visibility on hotkey * fix visibility on startup * remove window properties and add todos * Fixed hidden extension and system file handling * wip * Add working WPF app with FileExplorer querying * remove c++ projects * Move native awaiter * Working Image control with image files * Resize and move window based on explorer monitor * Image render, window positioning and sizing clean up * add window management logic and selection logic * add extension methods to add circular iterating capability to linkedlistnode * Add OnArrowKeyPresshandler * Added titlebar with file name and scaling with titlebar height * fix flashing window on startup and process kept alive when powertoys exits * remove wait for debugger loop in ui * Add KeyIsDown method * Fix KeyDown issue with Key handled and check for repeat * Add thumbnail logic * Add all folder items if only one item is selected * File type helper * Using hresult * Add cancellation and rotation handling * Use extension instead of path * fIX CONFLICTS * Fixing some file type checks * Add new icon for Peek * Update page with the new Peek icon * Initialize IsEnabled and hook ActivationShortcut to dllmain * add icon to taskbar and titlebar * Add theme sensitive backgrounds * rename event handlers * add settings image * Move window data into obserable object * Refactor viewmodel, interop and helpers * Clean up * Add loading spinner * Add todos * Fix conflicts * Move native code into its own folder * Add peek to installer * Fix building peek and peekui projects * Replace UWP namespaces to WinAppSDK * Working WASDK placeholder project * Add exit when powertoys runner exit * Working winui3 with image display * Add WIC project with <TreatWarningAsErros> false for now * Fit content to window * Use Size from Windows.Foundation * Change order * Add some todos * Refactored native/interop code and added helpers to imagepreviewer * Rename projects * Move some code * Remove using Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com> Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com> Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com> Co-authored-by: Jessie Su <Jessie.Su@microsoft.com> Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com> * Bump Microsoft.Windows.SDK.BuildTools version * [Peek] Plugin pattern to enable any file type previewing (#22475) * [Peek] Fetching image size through PropertyStore (#22530) * Fetching metadata from PropertySTore * Releasing objects to fix crash * Creating new PropertyHelper Co-authored-by: Daniel Chau <dancha@microsoft.com> * Juliata/filetypes (#22538) * Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase * Add IsFileTypeSupported to IPreviewer * respond to PR comments * Add scale awareness to window centering (#22541) * [Peek] Fix installer builds, project configs and update assets (#22540) * Update installer * Fix installer errors * Fix peek vcxproj * Add package signing * Add peek to arm64 * Add back ARM64 toMeasureToolUI * Add versions to project * Update assets and icons * Add correct icon * [Peek] Enable PropertyStore for offline files (#22567) * Enabling PropertyStore for offline files Co-authored-by: Daniel Chau <dancha@microsoft.com> * [Peek] Adding unsupported file previewer (#22598) * Unsupported file previewer * Fix file display info * Fix property store calls * Update TODO * [Peek] Add WebView2 integration (#22506) * First commit with WIP logic to support WV2 in Peek module * Minor code cleanup and try/catch block * Added control to wrap WebView2 logic * Cleanup * Added logic to handle HTML previewing Properly update FilePreview according to file type * Code cleanup Updated comments * Updated comment * Removed comment * Code cleanup * Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue Removed unused method Added xaml fallback to guarantee default/starting state * Removed folder * Updated factory logic to match master * address code review * addressed PR review * address PR review * Address PR review * address PR review * Address PR review * [Peek] Add basic file querying and navigation (#22589) * Refactor to facilitate file data initialization * Extract file-related code to new FileManager class * Add temp basic version * Clean + add todo for cancellations * Fix various nav-related issues * Temp - start moving iteration-related code to bg thread * Minor tweaks * Add FEHelper todo * Rename FileManager + various tweaks * Add basic throttling * Improve bg thread synchronization * Clean * Clean * Rename based on feedback * Rename FileQuery * Rename properties * Rename remaining fields * Add todos for nav success/failures Co-authored-by: Esteban Margaron <emargaron@microsoft.com> * [Peek] Add customized title bar (#22600) * Add basic button UI * Add function to get default app name and to open file in default app * Correct error output * Add filename to titlebar * Remove titlebar text from Resw * Add basic button UI * Add function to get default app name and to open file in default app * Add filename to titlebar * Correct error output * Remove titlebar text from Resw * Add SetDragRectangles * Correct logic, update function name * Add localization * Cleanup and adaptive width * Add fileIndex/NumberOfFiles for multiple files activation * Refine titlebar styles * Update error message; Return HResult from native methods; Update variable initialisation and string null testing * Titlebar height and adaptive width refinement * Add fallback to launch app picker if fail to open default app * Temp change to hide AppTitle_FileCount * Update launch button to command; Add keyboard accelerator * Update titlebar inactive background color * Update tooltip to add keyboard accelerator * Add comments to resw file * Fix accidental deletion from previous merge Co-authored-by: Jojo Zhou <yizzho@microsoft.com> Co-authored-by: Yawen Hou <yawenhou@microsoft.com> * Fix crash * Fix wrong thread exception * Make CurrentItemIndex setter private * Update titlebar filecount text * Fix titlebar draggable region and interactive region (bump WinAppSdk to latest) * [Peek] Unsupported File Previewer - Formatting string from resources (#22609) * Moving to string resource usage * Moving ReadableStringHelper to common project * Fix comments * [Peek] Fix foregrounding (#22633) * Fixing foregrounding * Get window handle inside BringToForeground extension method Co-authored-by: Daniel Chau <dancha@microsoft.com> Co-authored-by: Samuel Chapleau <sachaple@microsoft.com> * [Peek] ImagePreviewer - Handle error states (#22637) * add better preview state handling * add error handling in imagepreviewer and better state handling * fix error handling so exception is not bubbled up * improve performance and hook up unsupported previewer on error * remove commented code * address pr comments * [Peek] add PDF viewing support (#22636) * [Peek] add PDF viewing support * Fixed issue which would redirect some HTML and PDF files to external browser * Fixed refactored interface name * [Peek] Refine titlebar adaptive width (#22642) * Adjust adaptive width of titlebar * Remove visualstate setters for AppTitle_FileCount Co-authored-by: Jojo Zhou <yizzho@microsoft.com> * [Peek] New File Explorer tabs break Shell API to get selected files (#22641) * fix FE tab bug * remove unnecessary unsafe keyword * [Peek] add extra logic to properly render PNG files with transparency (#22613) * [Peek] added extra logic to render PNG files with proper transparency * Moved logic to ThumbnailHelper Cleanup * Created a separated previewer for PNG to only load the preview image with thumbnail logic * removed unused code * Updated state loading change * [Peek] Unsupported File Previewer - Setting Window Size (#22645) * Adding setting for unsupported file window * Fix * [Peek] Add tooltip to File (#22640) * Add tooltip to File * Add placeholder text for no tooltip * Address comments * Use StringBuilder Co-authored-by: Jojo Zhou <yizzho@microsoft.com> * Add full image quality support (#22654) * [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657) * Use different apis to bring to foreground removing remote thread wait and work as well as library loading * Keep window open if single selected file in FE is different * Removed unused methods * [Peek] Add cancellation token OnFilePropertyChanged (#22643) * Cancel file loading before opening another file * Add omitted cancellation checks * Catch task cancelled exception; Add more cancellation checkpoints * Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync * Correct typo * Update to pass cancellation token individually to each async methods * Add lost cancellationToken source * Add cancellation token to PngPreviewer Co-authored-by: Yawen Hou <yawenhou@microsoft.com> * [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650) * Preserving transparency or icons * Remove TODO Co-authored-by: Samuel Chapleau <sachaple@microsoft.com> * [Peek] Update some installer build steps + assets update (#22683) * Fix settings & peek.ui.wpf * Add back missing icon * Add missing files and actions to installer * Keep window open if the selected file in explorer is different (only works for single file selection) * Undo last * [Peek] Add copy keyboard accelerator (#22647) * add copy keyboard accelerator * Fix comments Co-authored-by: Samuel Chapleau <sachaple@microsoft.com> * [Peek] add WV2 improvements (behavior and UX) (#22685) * [Peek] added logic to get max monitor size for opening WebView2 * Removed ununsed dependency property * Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com. * Remove window extensions from common and use nullable size argument instead Co-authored-by: Samuel Chapleau <sachaple@microsoft.com> * [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899) * Merge remote-tracking branch 'origin/main' into peek * Test sc * Set WebView2 user data dir * spellcheck * Fix comment * Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083) * Fix opening Peek when FE window is set to full name path (#23082) * Move check for png thubmnail loading priority * Remove Peek.UI.WPF project * Remove duplicated method in powertoys setup * [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489) * Get file based on active tab handle instead of window title * Refactor code to get active tab * Getting all items from the shell API working again, except for desktop * Refactor and cleanup com & native code * Add back removed peek xaml assets in Product.wxs * Remove some dependencies that do not seem necessary in Product.wxs * [Peek] Small images (#23554) * change stretch value * compare with actual window size * consider scaling factor * set max size * clean up * clean up * clean up previewers * scaling factor in bitmap previewer * max image size property * [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684) * Handle errors when getting filesize by falling back to default previewer * Bringing back other file types that are fixed with these code changes --------- Co-authored-by: Samuel Chapleau <sachaple@microsoft.com> * [Peek] Add unsupported file icon fallback (#23735) * Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback * Add svg to assets in installer * [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955) * Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback * Add svg to assets in installer * - Refactor File class into IFileSystemItem, FileItem & FolderItem - Display size for folders using Scripting namespace - Remove default app buttons for files or folders not supporting it * Add better content type via storage apis * Add check for storagefile in PngPreviewer * Fix png stretching * Remove png previewer * Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit * [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002) * Remove settings for percentage of windows and keep default min size. * Fix margin on unsupported control * Use nullable Size for image size & open file on background thread (#24004) * [Peek] SVG support (#24237) * svg previewer * svg size * set scaling factor * set image size * changed image source type * non nullable image size * notify svg previewer changed * uncomment * rename BitmapPreviewer * move svg support * remove svg previewer * [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943) * Use IShellItemArray as the backing array of item * Finalize and cleanup NFQ implementation * Cleanup remainder of the code * Remove unused using * [Peek] Pin the window position (#24927) * [Peek] Telemetry and logging (#25231) * text preview * scrolling * changed size * webview2 preview * common preview project * previewpane: use common project * peek: use common * previewpane: moved md * peek: md * previewpane: clean up * clean up * moved monaco files * moved formatters * rename * moved common monaco helper * dev files support * installer * removed versions * warnings: culture info * warnings: names * clean up * warnings: dispose * warnings: default values * warnings * warnings: charset * warnings: exceptions * suppress warning * installer: added peek * changed peek guid * monaco folders * peek deps * peek files * peek resources * removed additional monaco folder * set host name * Update installer * hardcode monaco path * leave single webview control * moved path to common * project * more meaningful todos * moved temp folder cleanup * todo * extension check * spell: monaco * spellcheck * spellcheck * fix id * fix spelling * key to spelling * id fix * Fix monaco resolution at install time * Fix user install. Add needed files * installer: remove peek localization files. It's a WinUI app * installer:fix signing * removed unused * settings: flyout enable/disable for Peek * simplify string * property changed handle * [Peek][Settings] Peek OOBE page (#25895) * [Peek] GPO (#25918) * Add Native methods file to exception * Fix merge issue on solution file * Adjust spellcheck * Remove boilerplate code * Add module interface telemetry * Remove change to README.md * Add entry to README * Clean up some non-changes * Fix order of Peek in Settings menu * [Settings] Make peek descriptions more descriptive --------- Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com> Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com> Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com> Co-authored-by: Jessie Su <Jessie.Su@microsoft.com> Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com> Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca> Co-authored-by: Daniel Chau <dancha@microsoft.com> Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com> Co-authored-by: Robson <rp.pontin@gmail.com> Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com> Co-authored-by: Esteban Margaron <emargaron@microsoft.com> Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com> Co-authored-by: Jojo Zhou <yizzho@microsoft.com> Co-authored-by: Yawen Hou <yawenhou@microsoft.com> Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com> Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Stefan Markovic <stefan@janeasystems.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
628 lines
29 KiB
XML
628 lines
29 KiB
XML
<?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="AlwaysOnTopComponentGroup" />
|
|
<ComponentGroupRef Id="AwakeComponentGroup" />
|
|
<ComponentGroupRef Id="ColorPickerComponentGroup" />
|
|
<ComponentGroupRef Id="FancyZonesComponentGroup" />
|
|
<ComponentGroupRef Id="FileExplorerPreviewComponentGroup" />
|
|
<ComponentGroupRef Id="FileLocksmithComponentGroup" />
|
|
<ComponentGroupRef Id="HostsComponentGroup" />
|
|
<ComponentGroupRef Id="ImageResizerComponentGroup" />
|
|
<ComponentGroupRef Id="KeyboardManagerComponentGroup" />
|
|
<ComponentGroupRef Id="MeasureToolComponentGroup" />
|
|
<ComponentGroupRef Id="MouseUtilsComponentGroup" />
|
|
<ComponentGroupRef Id="PastePlainComponentGroup" />
|
|
<ComponentGroupRef Id="PeekComponentGroup" />
|
|
<ComponentGroupRef Id="PowerAccentComponentGroup" />
|
|
<ComponentGroupRef Id="PowerRenameComponentGroup" />
|
|
<ComponentGroupRef Id="RegistryPreviewComponentGroup" />
|
|
<ComponentGroupRef Id="RunComponentGroup" />
|
|
<ComponentGroupRef Id="SettingsComponentGroup" />
|
|
<ComponentGroupRef Id="ShortcutGuideComponentGroup" />
|
|
<ComponentGroupRef Id="TextExtractorComponentGroup" />
|
|
<ComponentGroupRef Id="VideoConferenceComponentGroup" />
|
|
|
|
<ComponentGroupRef Id="ResourcesComponentGroup" />
|
|
<ComponentGroupRef Id="WindowsAppSDKComponentGroup" />
|
|
<ComponentGroupRef Id="ToolComponentGroup" />
|
|
<ComponentGroupRef Id="MonacoSRCHeatGenerated" />
|
|
</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="CREATESCHEDULEDTASK" 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="SetRegisterPowerToysSchTaskParam" Before="RegisterPowerToysSchTask" />
|
|
<Custom Action="SetApplyModulesRegistryChangeSetsParam" Before="ApplyModulesRegistryChangeSets" />
|
|
<Custom Action="SetUnApplyModulesRegistryChangeSetsParam" Before="UnApplyModulesRegistryChangeSets" />
|
|
<Custom Action="SetCreateWinAppSDKHardlinksParam" Before="CreateWinAppSDKHardlinks" />
|
|
<Custom Action="SetDeleteWinAppSDKHardlinksParam" Before="DeleteWinAppSDKHardlinks" />
|
|
<Custom Action="SetCreatePTInteropHardlinksParam" Before="CreatePTInteropHardlinks" />
|
|
<Custom Action="SetDeletePTInteropHardlinksParam" Before="DeletePTInteropHardlinks" />
|
|
<Custom Action="SetCreateDotnetRuntimeHardlinksParam" Before="CreateDotnetRuntimeHardlinks" />
|
|
<Custom Action="SetDeleteDotnetRuntimeHardlinksParam" Before="DeleteDotnetRuntimeHardlinks" />
|
|
<Custom Action="RegisterPowerToysSchTask" After="InstallFiles">
|
|
NOT Installed and CREATESCHEDULEDTASK = 1
|
|
</Custom>
|
|
<Custom Action="CheckGPO" After="InstallInitialize">
|
|
NOT Installed
|
|
</Custom>
|
|
<Custom Action="ApplyModulesRegistryChangeSets" After="InstallFiles">
|
|
NOT Installed
|
|
</Custom>
|
|
<Custom Action="CreateWinAppSDKHardlinks" After="InstallFiles">
|
|
NOT Installed
|
|
</Custom>
|
|
<Custom Action="CreatePTInteropHardlinks" After="InstallFiles">
|
|
NOT Installed
|
|
</Custom>
|
|
<Custom Action="CreateDotnetRuntimeHardlinks" 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>-->
|
|
<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="DeleteWinAppSDKHardlinks" Before="RemoveFiles">
|
|
Installed AND (REMOVE="ALL")
|
|
</Custom>
|
|
|
|
<Custom Action="DeletePTInteropHardlinks" After="InstallInitialize" />
|
|
|
|
<Custom Action="DeleteDotnetRuntimeHardlinks" Before="RemoveFiles">
|
|
Installed AND (REMOVE="ALL")
|
|
</Custom>
|
|
|
|
<!-- TODO: Use to activate embedded MSIX -->
|
|
<!--<Custom Action="UninstallEmbeddedMSIXTask" After="InstallFinalize">
|
|
Installed AND (REMOVE="ALL")
|
|
</Custom>-->
|
|
<Custom Action="TerminateProcesses" Before="InstallValidate" />
|
|
|
|
<Custom Action="LaunchPowerToys" After="InstallFinalize">NOT Installed</Custom>
|
|
|
|
</InstallExecuteSequence>
|
|
|
|
<CustomAction
|
|
Id="LaunchPowerToys"
|
|
Execute="immediate"
|
|
Impersonate="yes"
|
|
Return="asyncNoWait"
|
|
FileKey="PowerToys.exe"
|
|
ExeCommand="--dont-elevate" />
|
|
|
|
<CustomAction
|
|
Id="TerminateProcesses"
|
|
Return="ignore"
|
|
Execute="immediate"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="TerminateProcessesCA" />
|
|
|
|
<CustomAction Id="SetRegisterPowerToysSchTaskParam"
|
|
Property="RegisterPowerToysSchTask"
|
|
Value="[INSTALLFOLDER]PowerToys.exe" />
|
|
|
|
<CustomAction Id="SetApplyModulesRegistryChangeSetsParam"
|
|
Property="ApplyModulesRegistryChangeSets"
|
|
Value="[INSTALLFOLDER]" />
|
|
|
|
<CustomAction Id="SetUnApplyModulesRegistryChangeSetsParam"
|
|
Property="UnApplyModulesRegistryChangeSets"
|
|
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]" />
|
|
|
|
<!-- Needs to Impersonate="no" and Execute="deferred" in order to run elevated. -->
|
|
<CustomAction Id="RegisterPowerToysSchTask"
|
|
Return="ignore"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="CreateScheduledTaskCA"
|
|
/>
|
|
|
|
<CustomAction Id="DeleteWinAppSDKHardlinks"
|
|
Return="ignore"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="DeleteWinAppSDKHardlinksCA"
|
|
/>
|
|
|
|
<CustomAction Id="CreateWinAppSDKHardlinks"
|
|
Return="ignore"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="CreateWinAppSDKHardlinksCA"
|
|
/>
|
|
|
|
<CustomAction Id="DeletePTInteropHardlinks"
|
|
Return="ignore"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="DeletePTInteropHardlinksCA"
|
|
/>
|
|
|
|
<CustomAction Id="CreatePTInteropHardlinks"
|
|
Return="ignore"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="CreatePTInteropHardlinksCA"
|
|
/>
|
|
|
|
<CustomAction Id="DeleteDotnetRuntimeHardlinks"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="DeleteDotnetRuntimeHardlinksCA"
|
|
/>
|
|
|
|
<CustomAction Id="CreateDotnetRuntimeHardlinks"
|
|
Impersonate="no"
|
|
Execute="deferred"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="CreateDotnetRuntimeHardlinksCA"
|
|
/>
|
|
|
|
<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="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="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="CheckGPO"
|
|
Return="check"
|
|
Impersonate="yes"
|
|
BinaryKey="PTCustomActions"
|
|
DllEntry="CheckGPOCA"
|
|
/>
|
|
|
|
<!-- 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="DllsFolder" Name="dll">
|
|
<Directory Id="DotnetDlls" Name="dotnet" />
|
|
<Directory Id="WinAppSDKDlls" Name="WinAppSDK" />
|
|
<Directory Id="PowerToysInteropDlls" Name="Interop" />
|
|
</Directory>
|
|
<Directory Id="ToolsFolder" Name="Tools"/>
|
|
<Directory Id="ModulesInstallFolder" Name="modules">
|
|
<Directory Id="ImageResizerInstallFolder" Name="$(var.ImageResizerProjectName)">
|
|
<Directory Id="ImageResizerAssetsFolder" Name="Assets" />
|
|
</Directory>
|
|
<Directory Id="PowerAccentInstallFolder" Name="$(var.PowerAccentProjectName)">
|
|
</Directory>
|
|
<Directory Id="FileLocksmithInstallFolder" Name="$(var.FileLocksmithProjectName)">
|
|
<Directory Id="FileLocksmithAssetsInstallFolder" Name="Assets" />
|
|
<Directory Id="FileLocksmithMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="FileLocksmithMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
<Directory Id="PowerRenameInstallFolder" Name="$(var.PowerRenameProjectName)">
|
|
<Directory Id="PowerRenameAssetsFolder" Name="Assets" />
|
|
<Directory Id="PowerRenameMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="PowerRenameMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
<Directory Id="ShortcutGuideInstallFolder" Name="ShortcutGuide">
|
|
<Directory Id="ShortcutGuideExecutableInstallFolder" Name="ShortcutGuide">
|
|
<Directory Id="ShortcutGuideSvgsInstallFolder" Name="svgs"/>
|
|
</Directory>
|
|
<Directory Id="ShortcutGuideModuleInterfaceInstallFolder" Name="ShortcutGuideModuleInterface"/>
|
|
</Directory>
|
|
<Directory Id="VideoConferenceInstallFolder" Name="$(var.VideoConferenceProjectName)">
|
|
<Directory Id="VideoConferenceIconsFolder" Name="Icons" />
|
|
</Directory>
|
|
<Directory Id="FileExplorerPreviewInstallFolder" Name="FileExplorerPreview">
|
|
<Directory Id="MonacoPreviewHandlerMonacoCustomLanguagesFolder" Name="customLanguages" />
|
|
<Directory Id="MonacoPreviewHandlerMonacoSRCFolder" Name="monacoSRC" />
|
|
</Directory>
|
|
<Directory Id="FancyZonesInstallFolder" Name="$(var.FancyZonesProjectName)" />
|
|
<Directory Id="PowerOCRInstallFolder" Name="$(var.PowerOCRProjectName)" />
|
|
<Directory Id="AwakeInstallFolder" Name="$(var.AwakeProjectName)">
|
|
<Directory Id="AwakeImagesFolder" Name="Images" />
|
|
</Directory>
|
|
|
|
<!-- KBM -->
|
|
<Directory Id="KeyboardManagerInstallFolder" Name="$(var.KeyboardManagerProjectName)">
|
|
<Directory Id="KeyboardManagerEditorInstallFolder" Name="KeyboardManagerEditor" />
|
|
<Directory Id="KeyboardManagerEngineInstallFolder" Name="KeyboardManagerEngine" />
|
|
</Directory>
|
|
|
|
<!-- Color Picker -->
|
|
<Directory Id="ColorPickerInstallFolder" Name="$(var.ColorPickerProjectName)">
|
|
<Directory Id="ColorPickerResourcesFolder" Name="Resources"/>
|
|
</Directory>
|
|
|
|
<!-- Mouse Utils -->
|
|
<Directory Id="MouseUtilsInstallFolder" Name="$(var.MouseUtilsProjectName)">
|
|
<Directory Id="MouseJumpUIFolder" Name="MouseJumpUI" />
|
|
</Directory>
|
|
|
|
<!-- PastePlain -->
|
|
<Directory Id="PastePlainInstallFolder" Name="$(var.PastePlainProjectName)">
|
|
</Directory>
|
|
|
|
<!-- RegistryPreview -->
|
|
<Directory Id="RegistryPreviewInstallFolder" Name="$(var.RegistryPreviewProjectName)">
|
|
<Directory Id="RegistryPreviewAssetsInstallFolder" Name="Assets" />
|
|
<Directory Id="RegistryPreviewMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="RegistryPreviewMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<!-- AlwaysOnTop -->
|
|
<Directory Id="AlwaysOnTopInstallFolder" Name="$(var.AlwaysOnTopProjectName)">
|
|
</Directory>
|
|
|
|
<!-- MeasureTool -->
|
|
<Directory Id="MeasureToolInstallFolder" Name="$(var.MeasureToolProjectName)">
|
|
<Directory Id="MeasureToolMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="MeasureToolMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<!-- Hosts -->
|
|
<Directory Id="HostsInstallFolder" Name="$(var.HostsProjectName)">
|
|
<Directory Id="HostsAssetsFolder" Name="Assets" />
|
|
<Directory Id="HostsMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="HostsMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<!-- Peek -->
|
|
<Directory Id="PeekInstallFolder" Name="$(var.PeekProjectName)">
|
|
<Directory Id="PeekAssetsFolder" Name="Assets" />
|
|
<Directory Id="PeekMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="PeekMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<!-- Launcher -->
|
|
<Directory Id="LauncherInstallFolder" Name="launcher">
|
|
<Directory Id="LauncherImagesFolder" Name="Images" />
|
|
|
|
<!-- Plugins -->
|
|
<Directory Id="LauncherPluginsFolder" Name="Plugins">
|
|
<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="VSCodeWorkspace">
|
|
<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>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<!-- Settings -->
|
|
<Directory Id="SettingsV2InstallFolder" Name="Settings">
|
|
<Directory Id="SettingsV2AssetsInstallFolder" Name="Assets">
|
|
<Directory Id="SettingsV2OOBEAssetsFluentIconsInstallFolder" Name="FluentIcons" />
|
|
<Directory Id="SettingsV2AssetsModulesInstallFolder" Name="Modules" >
|
|
<Directory Id="SettingsV2OOBEAssetsModulesInstallFolder" Name="OOBE" />
|
|
</Directory>
|
|
</Directory>
|
|
<Directory Id="SettingsV2MicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
|
|
<Directory Id="SettingsV2MicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
<Directory Id="ProgramMenuFolder">
|
|
<Directory Id="ApplicationProgramsFolder" Name="PowerToys (Preview)"/>
|
|
</Directory>
|
|
<Directory Id="DesktopFolder" Name="Desktop" />
|
|
</Directory>
|
|
</Fragment>
|
|
</Wix>
|