mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-21 22:19:52 +01:00
[General]Reduce installer size by flattening application paths (#27451)
* Flatten everything and succeed build * Figure out Settings assets * Remove UseCommonOutputDirectory tag * Proper settings app path * [VCM] Fix assets location * Fix some runtime paths * [RegistryPreview]Use MRTCore specific pri file * [Hosts]Use MRTCore specific pri file * [Settings]Use MRTCore specific pri file * [Peek]Use MRTCore specific pri file * [FileLocksmith]Use MRTCore specific pri file * [ScreenRuler]Use MRTCore specific pri file * [PowerRename]Use MRTCore specific pri file * [Peek]Move assets to own folder * [FileLocksmith] Use own Assets path * [Hosts]Use own assets folder * [PowerRename]Use own assets dir * [MeasureTool] Use its own assets folder * [ImageResizer]Use its own assets path * Fix spellcheck * Fix tab instead of space in project files * Normalize target frameworks and platforms * Remove WINRT_NO_MAKE_DETECTION flag. No longer needed? * Fix AOT and Hosts locations * Fix Dll version differences on dependency * Add Common.UI.csproj as refernce to fix dll versions * Update ControlzEx to normalize dll versions * Update System.Management version to 7.0.2 * Add GPOWrapper to Registry Preview to fix dll versions * [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions * Fix remaining output paths / dll version conflicts * [KeyboardManager]Executables still on their own directories * Fix Monaco paths * WinAppSDK apps get to play outside again * Enable VCM settings again * Fix KBM Editor path again * [Monaco]Set to own Assets dir * Fix installer preamble; Fix publish. remove unneeded publishes * Remove Hardlink functions * Installer builds again (still needs work to work) * Readd Monaco to spellcheck excludes * Fix spellcheck and call publish.cmd again * [Installer] Remove components that don't need own dirs * [Installer] Refactor Power Launcher * [Installer] Refactor Color Picker * [Installer] Refactor Monaco assets * [Installer]Generate File script no longer needs to remove files * [Installer]Refactor FileLocksmith * [Installer] Refactor Hosts * [Installer]Refactor Image Resizer * [Installer]Refactor MouseUtils * [Installer]Refactor MWB * [Installer]Refactor MeasureTool * [Installer]Refactor Peek * [Installer]Refactor PowerRename and registry fixes * [Installer]Refactor RegistryPreview * [Installer]Refactor ShortcutGuide * [Installer]Refactor Settings * [Installer]Clean up some unused stuff * [Installer]Clean up stuff for user install * [Installer]Fix WinUi3Apps wxs * [Installer]Fix misplaced folders * [Installer]Move x86 VCM dll to right path * Fix monaco language list location * [Installer]Fix VCM directory reference * [CI]Fix signing * [Installer] Fix resources folder for release CI * [ci]Looks like we still ship NLog on PowerToys Run * [Settings]Add dependency to avoid dll collision with Experimentation * [RegistryPreview]Move XAML files to own path * [RegistryPreview]Fix app icon * [Hosts]Move XAML files to their own path * [FileLocksmith]Move XAML files to their own path * [Peek]Move XAML files to own path * [ScreenRuler]Move XAML files to its own path * [Settings]Move XAML to its own path * [ColorPicker]Move Resources to Assets * [ShortcutGuide]Move svgs to own Assets path * [Awake]Move images to assets path * [Runner]Remove debug checks for PowerToys Run assets * [PTRun]Move images to its own assets path * [ImageResizer]Icon for context menu on own assets path * [PowerRename]Move ico to its own path * Remove unneeded intermediary directories * Remove further int dirs * Move tests to its own output path * Fix spellcheck * spellcheck: remove warnings * [CppAnalyzers]Ignore rule in a tool * [CI]Check if all deps.json files reference same versions * fix spellcheck * [ci]Fix task identation * [ci]Add script to guard against asset conflicts * [ci]Add more deps.json audit steps in the release build * Add xbf to spellcheck expects * Fix typo in asset conflict check scripts * Fix some more dependency conflicts * Downgrade CsWinRT to have the same dll version as sdk * [ci]Do a recursive check for every deps.json * Fix spellcheck error inside comment * [ci]Fix asset script error * [ci]Name deps.json verify tasks a bit better * [ci]Improve deps json verify script output * [ci]Update WinRT version to the same running in CI * Also upgrade CsWinRT in NOTICE.MD * [PowerRename]Move XAML files to own path * [Common]Fix Settings executable path * [ci]Verify there's no xbf files in app directories * [installer]Fix firewall path * [Monaco]Move new files to their proper assets path * [Monaco]Fix paths for new files after merge * [Feedback]Removed unneeded build conditions * [Feedback]Clear vcxproj direct reference to frameworks * [Feedback]RunPlugins name to hold PTRun plugins * [Feedback]Remove unneeded foreach * [Feedback]Shortcut Guide svgs with ** in project file * [Feedback]Fix spellcheck
This commit is contained in:
@@ -89,28 +89,6 @@ void open_menu_from_another_instance(std::optional<std::string> settings_window)
|
||||
PostMessageW(hwnd_main, WM_COMMAND, ID_SETTINGS_MENU_COMMAND, msg);
|
||||
}
|
||||
|
||||
void debug_verify_launcher_assets()
|
||||
{
|
||||
try
|
||||
{
|
||||
namespace fs = std::filesystem;
|
||||
const fs::path powertoysRoot = get_module_folderpath();
|
||||
constexpr std::array<std::string_view, 2> assetsToCheck = { "modules\\launcher\\Images\\app_error.dark.png",
|
||||
"modules\\launcher\\Images\\app_error.light.png" };
|
||||
for (const auto asset : assetsToCheck)
|
||||
{
|
||||
const auto assetPath = powertoysRoot / asset;
|
||||
if (!fs::is_regular_file(assetPath))
|
||||
{
|
||||
Logger::error("{} couldn't be found.", assetPath.string());
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
int runner(bool isProcessElevated, bool openSettings, std::string settingsWindow, bool openOobe, bool openScoobe)
|
||||
{
|
||||
Logger::info("Runner is starting. Elevated={}", isProcessElevated);
|
||||
@@ -128,8 +106,6 @@ int runner(bool isProcessElevated, bool openSettings, std::string settingsWindow
|
||||
int result = -1;
|
||||
try
|
||||
{
|
||||
debug_verify_launcher_assets();
|
||||
|
||||
std::thread{ [] {
|
||||
PeriodicUpdateWorker();
|
||||
} }.detach();
|
||||
@@ -145,31 +121,31 @@ int runner(bool isProcessElevated, bool openSettings, std::string settingsWindow
|
||||
// Load Powertoys DLLs
|
||||
|
||||
std::vector<std::wstring_view> knownModules = {
|
||||
L"modules/FancyZones/PowerToys.FancyZonesModuleInterface.dll",
|
||||
L"modules/FileExplorerPreview/PowerToys.powerpreview.dll",
|
||||
L"modules/ImageResizer/PowerToys.ImageResizerExt.dll",
|
||||
L"modules/KeyboardManager/PowerToys.KeyboardManager.dll",
|
||||
L"modules/Launcher/PowerToys.Launcher.dll",
|
||||
L"modules/PowerRename/PowerToys.PowerRenameExt.dll",
|
||||
L"modules/ShortcutGuide/ShortcutGuideModuleInterface/PowerToys.ShortcutGuideModuleInterface.dll",
|
||||
L"modules/ColorPicker/PowerToys.ColorPicker.dll",
|
||||
L"modules/Awake/PowerToys.AwakeModuleInterface.dll",
|
||||
L"modules/MouseUtils/PowerToys.FindMyMouse.dll",
|
||||
L"modules/MouseUtils/PowerToys.MouseHighlighter.dll",
|
||||
L"modules/MouseUtils/PowerToys.MouseJump.dll",
|
||||
L"modules/AlwaysOnTop/PowerToys.AlwaysOnTopModuleInterface.dll",
|
||||
L"modules/MouseUtils/PowerToys.MousePointerCrosshairs.dll",
|
||||
L"modules/PowerAccent/PowerToys.PowerAccentModuleInterface.dll",
|
||||
L"modules/PowerOCR/PowerToys.PowerOCRModuleInterface.dll",
|
||||
L"modules/PastePlain/PowerToys.PastePlainModuleInterface.dll",
|
||||
L"modules/FileLocksmith/PowerToys.FileLocksmithExt.dll",
|
||||
L"modules/RegistryPreview/PowerToys.RegistryPreviewExt.dll",
|
||||
L"modules/MeasureTool/PowerToys.MeasureToolModuleInterface.dll",
|
||||
L"modules/Hosts/PowerToys.HostsModuleInterface.dll",
|
||||
L"modules/Peek/PowerToys.Peek.dll",
|
||||
L"modules/MouseWithoutBorders/PowerToys.MouseWithoutBordersModuleInterface.dll",
|
||||
L"PowerToys.FancyZonesModuleInterface.dll",
|
||||
L"PowerToys.powerpreview.dll",
|
||||
L"PowerToys.ImageResizerExt.dll",
|
||||
L"PowerToys.KeyboardManager.dll",
|
||||
L"PowerToys.Launcher.dll",
|
||||
L"WinUI3Apps/PowerToys.PowerRenameExt.dll",
|
||||
L"PowerToys.ShortcutGuideModuleInterface.dll",
|
||||
L"PowerToys.ColorPicker.dll",
|
||||
L"PowerToys.AwakeModuleInterface.dll",
|
||||
L"PowerToys.FindMyMouse.dll",
|
||||
L"PowerToys.MouseHighlighter.dll",
|
||||
L"PowerToys.MouseJump.dll",
|
||||
L"PowerToys.AlwaysOnTopModuleInterface.dll",
|
||||
L"PowerToys.MousePointerCrosshairs.dll",
|
||||
L"PowerToys.PowerAccentModuleInterface.dll",
|
||||
L"PowerToys.PowerOCRModuleInterface.dll",
|
||||
L"PowerToys.PastePlainModuleInterface.dll",
|
||||
L"WinUI3Apps/PowerToys.FileLocksmithExt.dll",
|
||||
L"WinUI3Apps/PowerToys.RegistryPreviewExt.dll",
|
||||
L"WinUI3Apps/PowerToys.MeasureToolModuleInterface.dll",
|
||||
L"WinUI3Apps/PowerToys.HostsModuleInterface.dll",
|
||||
L"WinUI3Apps/PowerToys.Peek.dll",
|
||||
L"PowerToys.MouseWithoutBordersModuleInterface.dll",
|
||||
};
|
||||
const auto VCM_PATH = L"modules/VideoConference/PowerToys.VideoConferenceModule.dll";
|
||||
const auto VCM_PATH = L"PowerToys.VideoConferenceModule.dll";
|
||||
if (const auto mf = LoadLibraryA("mf.dll"))
|
||||
{
|
||||
FreeLibrary(mf);
|
||||
|
||||
Reference in New Issue
Block a user