## Summary of the Pull Request
This is a follow up on #33964 where using the MSTest meta package brings
in all necessary test dependencies as well as enabled MSTest.Analyzers
for common test code misconfigurations. Coverlet package has not been
used, thus removing.
* Upgraded projects to target .NET 8
* Updated .NET runtime package targets to use latest .NET 8 build
* Updated PowerToys Interop to target .NET 8
* Switch to use ArgumentNullException.ThrowIfNull
* ArgumentNullException.ThrowIfNull for CropAndLockViewModel
* Switching to ObjectDisposedException.ThrowIf
* Upgrade System.ComponentModel.Composition to 8.0
* ArgumentNullException.ThrowIfNull in Helper
* Switch to StartsWith using StringComparison.Ordinal
* Disabled CA1859, CA1716, SYSLIB1096 analyzers
* Update RIDs to reflect breaking changes in .NET 8
* Updated Microsoft NuGet packages to RC1
* Updated Analyzer package to latest .NET 8 preview package
* CA1854: Use TryGetValue instead of ContainsKey
* [Build] Update TFM to .NET 8 for publish profiles
* [Analyzers] Remove CA1309, CA1860-CA1865, CA1869, CA2208 from warning.
* [Analyzers] Fix for C26495
* [Analyzers] Disable CS1615, CS9191
* [CI] Target .NET 8 in YAML
* [CI] Add .NET preview version flag temporarily.
* [FileLocksmith] Update TFM to .NET 8
* [CI] Switch to preview agent
* [CI] Update NOTICE.md
* [CI] Update Release to target .NET 8 and use Preview agent
* [Analyzers] Disable CA1854
* Fix typo
* Updated Microsoft.CodeAnalysis.NetAnalyzers to latest preview
Updated packages to rc2
* [Analyzers][CPP] Turn off warning for 5271
* [Analyzers][CPP] Turn off warning for 26493
* [KeyboardListener] Add mutex include to resolve error
* [PT Run][Folder] Use static SearchValues to resolve CA1870
* [PowerLauncher] Fix TryGetValue
* [MouseJumpSettings] Use ArgumentNullException.ThrowIfNull
* [Build] Disable parallel dotnet tool restore
* [Build] No cache of dotnet tool packages
* [Build] Temporarily move .NET 8 SDK task before XAML formatting
* [Build][Temp] Try using .NET 7 prior to XAML formatting and then switch to .NET 8 after
* [Build] Use .NET 6 for XAML Styler
* [CI] Updated NOTICE.md
* [FancyZones] Update TFM to .NET 8
* [EnvVar] Update TFM to .NET 8 and update RID
* [EnvVar] Use ArgumentNullException.ThrowIfNull
* [Dev] Updated packages to .NET 8 RTM version
* [Dev] Updated Microsoft.CodeAnalysis.NetAnalyzers to latest
* [CI] Updated NOTICE.md with latest package versions
* Fix new utility target fameworks and runtimeids
* Don't use preview images anymore
* [CI] Add script to update VCToolsVersion environment variable
* [CI] Add Step to Verify VCToolsVersion
* [CI] Use latest flag for vswhere to set proper VCToolsVersion
* Add VCToolsVersion checking to release.yml
* Remove net publishing from local/ PR CI builds
* Revert "Remove net publishing from local/ PR CI builds"
This reverts commit f469778996.
* Only publish necessary projects
* Add verbosity to release pipelines builds of PowerTOys
* Set VCToolsVersion for publish.cmd when called from installer
* [Installer] Moved project publish logic to MSBuild Task
* [CI] Revert using publish.cmd
* [CI] Set VCToolsVersion and unset ClearDevCommandPromptEnvVars property
* Installer publishes for x64 too
* Revert "Add verbosity to release pipelines builds of PowerTOys"
This reverts commit 654d4a7f78.
* [Dev] Update CodeAnalysis library to non-preview package
* Remove unneeded warning removal
* Fix Notice.md
* Rename VCToolsVersion file and task name
* Remove unneeded mutex header include
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* 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
* Remove unused Newtonsoft.Json package references
Replace with System.Text.Json in Settings test
* spellcheck
* Remove obsolete test
* Revert settings part
* Revert "Revert settings part"
This reverts commit ad2934ce0b.
* Increase JS heap size in CI
* Update projects to .NET 7
* Updated packages to 7.0-rc1
* [ColorPicker] Wrap WM_KEYUP param in unchecked context
* [PTRun][OneNote] Added a NoWarn to CS8981
* [MeasureTool] Wrap buffer in wstring_view in SetClipBoardToText
* Target .NET 7 for PowerToys.Interop
* Update publish profiles
* Removed System.Text.Json.dll from Product.wxs since it's included in .NET 7
* Use .NET 7 in CI
* Removed individual CodeAnalysis package from projects
* Updated CodeAnalysis package in Directory.Build.props
* Updated NuGet packages to latest 7.0 rc2
* Fix merge mistake with Settings.UI.Library project
* Updated installer with .NET 7 RC2 install
* [GPOWrapper] Updated GPOWrapperProjection to .NET 7
* [FileLockSmith] Updated to .NET 7
* [FileLocksmith] Update Interop to .NET 7
* Upgrade .NET 7 specific libraries to GA version
* [PowerToysSetup] Updated .NET 7 urls to GA
* [CI] removed .NET 7 SDK preview version from UseDotNet task
* [PowerToysSetup] Update HasDotnet variable name
* [PowerToysInterop] Downgrade target back to .NET 6
* [FileLockSmith] Downgrade Interop library back to .NET 6
* Revert "[FileLockSmith] Downgrade Interop library back to .NET 6"
This reverts commit 356ad048e3.
* Revert "[PowerToysInterop] Downgrade target back to .NET 6"
This reverts commit 74dbcfdefe.
* [Analyzers][CPP] Disable warning for 4679 caused by .NET 7 in C++/CLI
* [CI] Set maximum cpu count to 2 for PowerToys.sln build
* [CI] Set maximumCpuCount to false in hopes of arm64 working
* Changed .NET 7 runtime display name
* [ci] Use .net 7 sdk
* Add GPOWrapper headers and C++/WinRT library
* Check GPO before starting utilities
* Show message on GPO having disabled preview panes.
* Don't generate thumbnails if GPO disabled
* Fix FancyZonesEditor unable to recognize GPOWrapper
* Move settings view models to the settings project
* Use GPO to block enabling utilities in Settings
* Hide context menu entries when gpo disables utilities
* Apply gpo policies when enabling PowerToys on runner
* Add version and metadata to dll
* Add GPOWrapper to the installer
* Fix MSBuild errors on WPF apps by using Projection
* Signing
* Add gpo files and publish them
* Add GPO policies to the bug report tool
* Add some documentation for using GPO
* Mention support to actual lowest supported version of Windows
* Move PowerToys to the root of administrative templates tree
* Save policies on Software\Policies\PowerToys
* Support both machine and user scopes
* Fix documentation to reference computer and user scopes
* Mention incompatibility with outlook in gpo
* Set a better folder structure for gpo assets
* Move PDF Handler warning to the description
* Update doc/gpo/README.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Add actual minimum version of PowerToys to gpo files
* Fix identation
* Remove GPOWrapper Readme
* Add Active Directory instructions to doc
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update nuget packages
* try to fix build (Microsoft.UI.Xaml)
* Removed dlls because there are not needed anymore
* Add binaries System.Text.Json.dll (5x) to wxs file
* Downgrade System.IO.Abstractions.* due to breaking changes
* Update Microsoft.NET.Test.Sdk
* Revert MSTest.* to 2.2.3
* Update release.yml
* Update ColorPickerUI.csproj
* Update release.yml
adding in .net6 sdk and moving stuff sooner
* Update release.yml
* Update release.yml
* fixing test
* Forcing vs17 and adding in .net 6 sdk
* forcing pool
* fixing issues in each pipeline
* moving release .net up
* fixing diff on agent version for nuget installer
* Removing system.text.json.dll as included now
* getting unit tests it looks like to work
* updating everythign to .net 6 minus wxs for runtime
* unit test still have
* getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ....
* found i think the last .net 5 issue
* looks like i wasn't aggressive enough with the 6.0 upgrade
* Getting stuff .net 6 buildable again
* tweaking with new stuff for installer
* Update newly added merged projects to .net 6
* Fix HeatDirectory bug on VS 2022
* Settings still needs JSON dependency
* Revert "getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ...."
This reverts commit b9cb4586dc.
* Update sln version
* supress obsolete warning, since this is not a new development
* Partially Revert "Getting stuff .net 6 buildable again"
This reverts commit 42b4201c6b.
* supress another obsolete warning, since this is not a new development
* Reduce the unit test project name to avoid MAX PATH in CI
* Upgrade project's toolset in the main solution
* Some TODOs to review HttpClient usage
* Upgrade project toolsets from other solutions
* Install .net 6 instead of .net 5
* Fix issue when disabling PowerToys Run on .net framework 6
* Update docs for Visual Studio 2022
* PR comments: manually upgrade missing VS 2019 references
* Discard no discard values to solve compiler warnings
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* fixing MSB3052
* adding back in to unblock build
* More agressive refactor. Moved the define constant to wixproj and actual version into src file version prop
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* Enable Unit tests for PreviewPane Test Assemblies in CI
* Added Preview handlers unit tests project back
* throw for Svg to debug tests
* Removed failing test
* Removed throw statement
* Added MD unitests in yml
* Run ui tests on STA thread
* Throw svg to debug failing tests
* Updated test adaptor
* Removed failing test to validate CI
* throw svg failing test with full stack trace
* Check if mock stream is causing the issue
* narrow down the failing tests code - 1
* narrow down the failing tests code -2
* dispose all controls
* Restore SVg preview control
* Update test adaptor and dependency to latest
* Commented out failing unit tests and changed the output directory of unit tests project
* Enabled Assembly redirect
* removed SvgPreviewHandlerUnitTests and PreviewPaneCommonUnitTests from the solution
* Removed the commented code project itself is removed from sln
* Added project template for common library
* Added reference to stylecop.json
* Fixed xml documetation file path for common project
* Added reference to stylecop.json
* Added COM interface interpolations to C#
* Changed namespace to Common
* Added xml doc to com interfaces
* Removed AnyCPU configuration from solution file
* Added Preview Hander and form User Control Implementation
* Fix stylecop warnings
* Added test control and handler
* Added Xaml description for preview handler
* Added Xml documenatation
* Updated the control to form
* Added registration and unregistration logic for the handler
* Moved the files in separate folder and fix PR comments
* updated the name of previewhandler class to base class
* Added the DoPreview to PreviewHandlerControl Interface
* Modified the Dopreview and Unload as virtual method
* Uncommented the DocumentText to help bug repro
* HTML Parsing Extension for preview pane markdown renderer (#1108)
* Added Extension for html post processing
* Added unit test poroject for preview pane
* Added pipline test and base test function
* Added Tests for extension
* Added tests for url slashes
* Added tests for url and figure caption
* Markdown preview pane (#1128)
* Added Extension for html post processing
* Added unit test poroject for preview pane
* Added pipline test and base test function
* Added Tests for extension
* Added handler and control for markdown
* Tests added
* Locally working version for markdown
* Working image relative url's in markdown
* Added CSS to preview display
* Updates CSS for code block
* Removed html file write comment in markdown control
* Updated assembly version and web browser control test
* Add Svg preview handler (#1129)
* Added a new project for Svg preview handler
* Added initial implementation of Svg Preview Handler
* Fixed output path
* Added Unit Test Project
* Added StreamWrapper and Update Svg Control
* Updated Svg Handler Guid
* Removed migration backup folder
* Removed Fluent Assertions NuGet
* Added Comments for StreamWrapper
* Removed the manual GC collect
* Added unit tests for Svg preview Handler
* Updated the xml doc for stream wrapper
* User/lamotile/add_powerpreviewsettings (#1075)
* Added powersettings to PowerToys Settings UI
* added settings library
* updated settings-web
* updated project oncfiguration
* updated project onfiguration
* updated project .sln file
* removed .etl file and added it to git-ignore
* separated the PowerPreviewModule into split classes .cpp and .h
* moved PowerPreviewModule implemnetations to .cpp file
* fixed StringTable formatter
* fixed spacing in resource.h
* added m_ to member varibales
* initiliaze m_isPreviewEnabled in the base class
* removed duplication of objects by using pass by refference and std::move
* made the getters const
* updated naming convention
* Split test calsses
* Add const string
* Replaced move with const string
* Made attributes private
* Made attributes private
* removed unused constructor
* Update resource.h
formatted resource.h
* Adding unit tests for preview handler common (#1156)
* Changed the name of the Common library to PreviewHandlerCommon
* Added unit tests project for PreviewHandlerCommon
* Updated ComInterop accessor type
* Added unit tests for PreviewHandlerbase
* Added tests for file and stream based handler
* Added unit tests for StreamWrapper
* Added form handler unit tests
* Added Unit tests for FormHandlerControl
* Added file header
* Add Powerpreview project
* Add spacing in sln file
* swapped string refferences (#1199)
* added registry methods and enable/disable preview handlers (#1230)
* added registry methods and enable/disable preview handlers
* formatted .rc file.
* formatted resource file
* formatted .rc file.
* formatted settings.cpp
* formatted settings.h
* formatted SVGPreviewSettingsClassTest.cpp
* Formatted MarkDownPreviewSettingsClassTest.cpp
* using wide strings
* formatted settings.h
* FileExplorerPreviewSettingsTest.cpp formatting
* fixed typo and formatting
* closing Registry and fixing typos
* formmarted code using ctrl+k+d
* fixed naming
* fixed typo
* changed if/else reverse order
* Markdown preview pane (#1220)
* Added rich text bar for information display
* Added infobar
* Added tests for extension and markdown control
* Added xml docstring for markdown preview handler control
* Updated assembly file for markdown preview pane
* Updated removal of script tag without modifying CSS
* Added info bar text string to resource file.
* Removed error with infobar display on first rendering
* Updated assembly version
* Remove script and image element from Svg (#1231)
* Added implementation to remove script and image tag
* Added Unit tests for SvgPreviewHandlerHelper
* Updated Unit tests for SvgPreviewControl
* Moved the hardcoded string to resource file
* Changed the LocalMachine to CurrentUser for preview handler registration
* Added unit tests for multiple blocked elements tags
* User/lamotile/update settings objects (#1263)
* added registry methods and enable/disable preview handlers
* formatted .rc file.
* formatted resource file
* formatted .rc file.
* formatted settings.cpp
* formatted settings.h
* formatted SVGPreviewSettingsClassTest.cpp
* Formatted MarkDownPreviewSettingsClassTest.cpp
* using wide strings
* formatted settings.h
* FileExplorerPreviewSettingsTest.cpp formatting
* fixed typo and formatting
* closing Registry and fixing typos
* formmarted code using ctrl+k+d
* fixed naming
* fixed typo
* changed if/else reverse order
* updated setiings_objects.cpp
* removed changes on files that are not part of this PR
* removed const ref on primative types
* updated pass by ref semantic and removed pas by reff on primative types
* fixed spaces in the commas
* fixed spaces in brackets
* Preview pane telemetry (#1299)
* Added telemetry base class and markdown telemetry class
* Updated docstring for telemetry event.
* Added telemetry to markdown for error
* Added try catch for markdown preview handler and display error bar
* Updated markdown telemetry to make event names global variable
* Updated parameter name to camel casing and telemetry event name naming.
* Corrected assembbly version for svg renderer
* Markdown Image files display (#1303)
* Added telemetry base class and markdown telemetry class
* Updated docstring for telemetry event.
* Added telemetry to markdown for error
* Added try catch for markdown preview handler and display error bar
* Updated markdown telemetry to make event names global variable
* Updated Markdown preview to display without vertical scrollbar and removed xml doc to html agility pack.
* Updated parameter name to camel casing and telemetry event name naming.
* Corrected assembbly version for svg renderer
* Removed duplicate function
* Add telemetry for Svg preview handler (#1314)
* Added telemetry events for Svg Preview Handler
* Added unit test in case preview handler throws
* Updated the Error event name
* Remove the not required return statement
* User/lamotile/add read me (#1332)
* add readme
* moved images
* re-added images'
* Fixed gramma
* Update figure number refference
* improve preview handler intergration (#1319)
* improve preview handler intergration
* Fixed typo
* updated typo
* updated enable() function
* updated is enabled()
* re-updated is enabled()
* added this-> key word
* (0.16) - Install preview handler with msix (#1339)
* Removed the registration logic from preview handlers
* Updated the output path
* Added logic to shim the activation of .net assembly
* Updated manifest file
* Fix the allowedsilenttakeover filed in manifest
* Updated the appxmanifest file
* Added AllowSilentDefaultTakeOver in manifest
* Fix returned error code by DllGetClassObject
* Moved the CLSID to a common header file
* Added info about where CLSID needs to be updated
* Added a .reg file for the Keys added in registry.dat
* Added comments for DllGetClassObject
* Svg Preview Handler block external component (#1368)
* Removed the registration logic from preview handlers
* Updated the output path
* Added logic to shim the activation of .net assembly
* Updated manifest file
* Fix the allowedsilenttakeover filed in manifest
* Updated the appxmanifest file
* Added AllowSilentDefaultTakeOver in manifest
* Fix returned error code by DllGetClassObject
* Moved the CLSID to a common header file
* Added info about where CLSID needs to be updated
* Added a .reg file for the Keys added in registry.dat
* Added comments for DllGetClassObject
* Extended WebBrowserSite for setting flags in DISPID_AMBIENT_DLCONTROL
* Added XML Documenatation
* Removed the logic for deleting image and script element from Svg
* Updated Unit Tests
* Updated typecast of uint
* Forwarded calls to Type.InvokeMember
* Resolve PR Comments
* Adding MSI Installation for Preview Handler (#1436)
* Updated wxs for including dll and registry keys for preview handlers
* Changed the casing for registry key
* Resolve PR Comments
* Added comments for File element
* Call GC on preview unloading (#1456)
* Call GC collect on preview unloading
* Added github issue link
* Update Web browser control for Markdown Previewer (#1464)
* Updated Webbrowser control
* Updated Unit tests
* Disabled Navigation for Svg Previewer
* Fix power preview unit tests (#1508)
* Decoupled registry interaction logic
* Updated File explorer settings
* Updated unit tests for PowerPreview Settings
* Added Asserrtion for Scope of registry key
* Updated the registry value to match with installation registry value
* Sync master settings.cpp
* Merge settings changes from PreviewHandlers
* Remove newline changes added into in example_powertoy\trace.cpp
* Chaned .net framework to 4.7.2
* Updated Csproj files to auto generate Assembly.info files
* Updated msi installer to use version variable for preview handlers assembly
* Removed the signing of Assembly and updated wxs to not include PublicKeyToken
* Updated the Path in Packaginglayout.xml to modules from Gac and the registry hive binary
* Regenerated updated JS and html file
* Resolve PR Comments
* Readded the wprp file
Co-authored-by: Divyansh <divyan@microsoft.com>
Co-authored-by: Divyansh <somm14divi@gmail.com>
Co-authored-by: Lavius Motileng <58791731+laviusmotileng-ms@users.noreply.github.com>