Commit Graph

78 Commits

Author SHA1 Message Date
Gordon Lam
0323ebea58 Fix Random unitttest failure (#40390)
The test
`Win32ProgramRepositoryMustCallOnAppRenamedForLnkAppsWhenRenamedEventIsRaised`
was experiencing random failures due to object identity mismatches in
the repository's hash-based storage system.

## Root Cause

The test was manually creating `Win32Program` objects:

```csharp
Win32Program olditem = new Win32Program
{
    Name = "oldpath",
    ExecutableName = oldpath,
    FullPath = linkingTo,
};
```

However, the `DoOnAppRenamedAsync` method creates the `oldApp` object
for removal using a different approach for .lnk files:

```csharp
oldApp = new Win32Program() { 
    Name = Path.GetFileNameWithoutExtension(e.OldName), 
    ExecutableName = Path.GetFileName(e.OldName), 
    FullPath = newApp?.FullPath ?? oldPath 
};
```

Since the repository uses `GetHashCode()` (based on `Name`,
`ExecutableName`, and `FullPath`) to identify objects for removal, any
subtle differences in these properties would cause the `Remove()`
operation to fail, leading to test assertion failures.

## Fix

Changed the test to use `Win32Program.GetAppFromPath()` instead of
manual object creation:

```csharp
Win32Program olditem = Win32Program.GetAppFromPath(oldFullPath);
Win32Program newitem = Win32Program.GetAppFromPath(newFullPath);
```

This mirrors the approach used in the working
`Win32ProgramRepositoryMustCallOnAppRenamedForUrlAppsWhenRenamedEventIsRaised`
test and ensures that test objects are created using the same code path
as the production code, eliminating hash code mismatches.

## Why This Was Random

The test failure appeared random because it depended on subtle
differences in object creation that could vary based on timing, mock
setup, or other environmental factors. By using the same object creation
method as the production code, the test becomes deterministic.
2025-07-07 17:35:09 +08:00
moooyo
abd6314b2e [PT Run] Async the OnRename to unblock thread (#37987)
* Rename name to async and try catch to handle exception.

* Fix ut

---------

Co-authored-by: Yu Leng (from Dev Box) <yuleng@microsoft.com>
2025-03-18 15:51:34 +08:00
Jeremy Sinclair
37f2154c86 [Analyzers] Resolve StyleCop issues: SA1516 and SA1616 (#34853)
* [Analyzers][AdvancedPaste] Apply fix for SA1516

* [Analyzers][EnvironmentVariables] Apply fix for SA1516

* [Analyzers][RegistryPreview] Apply fix for SA1516

* [Analyzers][Peek] Apply fix for SA1516

* [Analyzers][PreviewPane] Apply fix for SA1516

* [Analyzers][FancyZones] Apply fix for SA1516

* [Analyzers][PT Run][Plugins] Apply fix for SA1516

* [Analyzers][PT Run] Apply fix for SA1516

* [Analyzers][PT Run][Wox] Apply fix for SA1516

* [Analyzers][Common] Apply fix for SA1516

* [Analyzers][ImageResizer] Apply fix for SA1516

* [Analyzers][ColorPicker] Apply fix for SA1516

* [Analyzers][MouseUtils] Apply fix for SA1516

* [Analyzers][DSC Schema Generator] Apply fix for SA1516

* [Analyzers][FileLocksmith] Apply fix for SA1516

* [Analyzers][Hosts] Apply fix for SA1516

* [Analyzers][MeasureTool] Apply fix for SA1516

* [Analyzers][MouseWithoutBorders] Apply fix for SA1516

* [Analyzers][TextExtractor] Apply fix for SA1516

* [Analyzers][Workspaces] Apply fix for SA1516

* [Analyzers][Awake] Apply fix for SA1516

* [Analyzers][PowerAccent] Apply fix for SA1516

* [Analyzers][RegistryPreview] Apply fix for SA1516

* [Analyzers][Settings] Apply fix for SA1516

* [Analyzers][MouseWithoutBorders] Apply fix for SA1616
2024-09-16 21:09:43 +01:00
Clint Rutkas
165b2cc9b2 Making CSWinRt into prop file for c# (#34225)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request

more breaking out stuff

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx

<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
2024-08-09 09:18:56 -07:00
Jaime Bernardo
fb5ed13386 [Refactor]Port C++/CX to C++/WinRT (#34198)
## Summary of the Pull Request
Removes all C++/CX code, replacing it with C++/WinRT.

## Detailed Description of the Pull Request / Additional comments
Removes all C++/CX code.
Renames interop namespaces to be better consumed by CsWinRT.
Standardizes all projects on net8.0-windows10.0.20348.0, which is a
requirement for C++/WinRT usage.
FileLocksmithLibInterop brought to stdcpplatest and static analysis
errors were corrected.
Removed now unneeded string conversion code from
FileLocksmithLibInterop.
Changed interop KeyboardHook to use a single hook across all instances.
Required because on C++/WinRT we don't have the .NET runtime to bind a
object instance to a delegate and be able to pass it to a C function
pointer argument (still no idea why this worked correctly on C++/CX to
be honest). This change actually makes us create less low level keyboard
hooks.
Changed some code that depended on arrays since WinRT/C++ returns null
instead of an empty array through the interface.

## Validation Steps Performed
Built and tested runtime.
2024-08-08 15:26:43 +01:00
stan-sz
5b1e5107ee [Deps]Use MSTest meta package instead of individual test packages (#34019)
## 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.
2024-07-26 11:57:06 +01:00
gokcekantarci
a94b3eec39 .NET 8 Upgrade Silenced Errors Fix (#30469)
* [Dev][Build] .NET 8 Upgrade Silenced errors first fix.

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1859

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1854.

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1860

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1861

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1862

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1863

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1864

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA1865

* [Dev][Build] .NET 8 Upgrade Silenced errors. CA2208

* [Dev][Build] .NET 8 Upgrade Silenced errors. CS9191

* [Dev][Build] .NET 8 Upgrade Silenced errors. Spell check

* [Dev][Build] .NET 8 Upgrade Silenced errors. Spell check

* [Dev][Build] .NET 8 Upgrade Silenced errors.
- CompositeFormat variables used more than once in the same file were assigned to a single variable.
- GetProcessesByName logic fix.
- String comparion fix.
- ArgumentOutOfRangeException message change.

* [Dev][Build] .NET 8 Upgrade Silenced errors.
- Null check added.
- static readonly CompositeFormat added for all fields.
2023-12-28 13:37:13 +03:00
Jeremy Sinclair
b2b2856e52 🚧 [Dev][Build] .NET 8 Upgrade (#28655)
* 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>
2023-11-22 12:46:59 -05:00
gokcekantarci
912d7ec060 [PTRun][Program]Fix crashes getting images for .lnk files (#29237)
* [PTRun] Refactor GetHBitmap to handle external DLL failures in a separate task.

* Revert "[PTRun] Refactor GetHBitmap to handle external DLL failures in a separate task."

This reverts commit 159c5744b8.

* [PTRun] GetBitmapSource function has been added for file extensions that cause crashes.

* [PTRun] Spell Check update.

* [PTRun] Renamed function and variable name.

* [PTRun] ShellLinkHelper moved to Wox.Infrastructure for common use.
2023-11-09 14:18:00 +00:00
Jaime Bernardo
864b862952 [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
2023-07-20 00:12:46 +01:00
Heiko
e4e1b5b43d [PTRun][Program]Run commands: Support for MSC and CPL (#23668)
* code changes

* spell fix

* dev docs

* update tests

* Code improvement
2023-02-13 19:15:25 +00:00
Jeremy Sinclair
483e37c8b0 [Build]Centralize .NET NuGet Package Versions (#23727)
* Add populated Directory.Packages.props

* Add package source mapping for community toolkit

* Remove package versions from Settings projects

* Remove package versions from PT Run plugin projects

* Remove package versions from PreviewPane projects

* Remove package versions from Launcher projects

* Remove package versions from Common projects

* Remove package versions from Hosts

* Remove package versions from PowerAccent projects

* Remove package versions from ImageResizer projects

* Remove package versions from Awake

* Remove package versions from ColorPicker projects

* Remove package versions from FancyZones

* Remove package versions from FileLocksmith

* Remove package versions from MeasureToolUI

* Remove package versions from PowerOCR

* Remove package versions from Analyzers entries

* Try fix release CI with packageSourceMapping

* Actually use PowerToys dependencies source for labs
2023-02-13 17:10:33 +00:00
Heiko
6e4a2898ab [PT Run] Localized file paths (Part 1): Update helper class and Program plugin (#20024)
* make helper non-static and add cache

* uwp app: add localized path

* Win32Program: Rename variable

* spell fix

* Win32Program: Localized paths

* fix invalid var name

* spell fix

* fix build

* test new shell localization helper

* fixes

* fix crash

* replace old helper class

* replace old helper class 2

* Helper improvements

* last changes

* add docs info

* remove left-over

* remove second left-over
2023-02-13 16:30:18 +00:00
Clint Rutkas
1f4ba8f267 unit tests nugets updated (#22952) 2022-12-28 10:43:31 -08:00
Jaime Bernardo
0de4750fad [Test]Update Microsoft.NET.Test.Sdk to 17.4.1 (#22900) 2022-12-20 14:22:37 +00:00
Stefan Markovic
c2325181ea Remove unused Newtonsoft.Json package references (#22812)
* 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
2022-12-16 18:46:07 +01:00
Jeremy Sinclair
a7bd0cfde8 [deps]Upgrade to .NET 7 (#20979)
* 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
2022-12-01 14:40:41 +00:00
Rose
76b4237cf1 [Tests]Fix Unit Test to compile under .NET 5 and up (#21229)
.NET Framework has the previous function, but .NET Core does not support it. This is so we can keep compiling this code under new frameworks.
2022-10-25 17:35:40 +01:00
Davide Giacometti
28751d2d36 NetAnalyzers and StyleCop centralized (#19476)
* NetAnalyzers and StyleCop centralized

* removed code analysis from devdocs
2022-07-19 22:40:40 +02:00
Josh Soref
3cb0638c7e [ci]Upgrade to check-spelling 0.0.20alpha7 (#19127)
* spelling: added

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: and

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: another

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: color

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: file

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: github

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: not

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occurrences

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: stamp

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: suppressions

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: up to

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: whether

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: whichdoes

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Upgrade check-spelling to v0.0.20-alpha7

Config based on:
a5001170a7

* Adding duplicate detection to patterns.txt
* Adding line_forbidden.patterns
* Adding reject.txt
* Updated excludes (and sorted)
* Switching to unified workflow

* moving `wil` to allow.txt to clarify that it's a term of art
  (https://github.com/microsoft/wil), whereas often it's a typo for `will`.

* Update src/runner/main.cpp

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-07-01 15:09:41 +01:00
Davide Giacometti
f4dbdbdd7a [PTRun]Remove BinaryFormatter (#19036) 2022-07-01 14:44:24 +01:00
Stefan Markovic
e637902892 [PowerRename][ImageResizer] Tier1 Win11 Context menu (#19000)
* Test win11 tier1 context menu

* Try to test signing

* Cleanup

* Cleanup project file

* Sign dll
Add PowerToys preffix
Add assets to installer

* expect.txt

* Switch to named pipes
Unregister package on uninstall
Remove unneeded files
Cleanup

* Bring back check if package registered but use per-user method

* Fix win11 check

* expect.txt

* Check if package already registered

* Revert "Check if package already registered"

FindPackages() method needs admin privileges.

This reverts commit 5af584fed4.

* Fix PowerRename args checking

* Cleanup assets

* Tier1 context menu ImageResizer
Minor cleanups
Move logic to package.h

* [WIP] Signing and installer
Expect.txt

* Localized context menu title

* Retarget everything 10.0.18362.0 -> 10.0.19041.0

* Address PR comments
 - check if selection renamable
 - minor cleanup
 - struct initialization

* Fix ImageResizerLib project configuration

* More Windows version updates

* Remove unneeded file & try fix resource build error

* Add Microsoft.PowerToys prefix to packages

* Test

* Fix convert-resx-to-rc.ps1 script issue causing resource files compile error

Don't generate empty STRINGTABLE for resx files without data

* Avoid duplicate context menu items

* [BugReportTool] Report installed context menu packages
2022-06-30 22:10:14 +02:00
Jaime Bernardo
3b542d2fdf [chore]Force specific Newtonsoft.Json version (#19093) 2022-06-28 20:47:53 +01:00
Jaime Bernardo
f8c624a62d [test][chore]Update test sdk to 17.2.0 (#19059)
* [test][chore]Update test sdk to 17.2.0

* Add timezone unit tests to CI
2022-06-28 14:30:03 +01:00
Andrey Nekrasov
3443c73d0e [ARM64] Installer Bootstrapper (#18241)
* [ARM64] Cleanup PowerToys solution configuration

* [ARM64] Add Bootstrapper support

known issues:
- wix doesn't have arm platform -> using x86 instead, resulting in wrong default installation dir and inability to detect 605
- current winappsdk 1.0.3 installer is corrupted -> contains x64 packages
- we're still using hardcoded vcredist for some modules

* Remove duplicate Stylecop PackageReference

* [ARM64] Cleanup StylesReportTool configuration

* [ARM64] fix configurations for bootstrapper

* fixes

* [ARM64] VCM fix

* [ARM64] Fix LinkIncremental conditional in StylesReportTool

* fix #2

* perfect forwarding

* [ARM64] Switch to call vformat to compile with later MSVC toolkits

* Updated expect

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
2022-05-13 16:55:39 +01:00
Jeremy Sinclair
3e6a297b34 [ARM64] PTRun and Plugins (#17841)
* Removed x64 specific config from Launcher project

* Microsoft.Plugin.Program normalization

* UnitConverter projects

* VSCodeWorkspaces project normalization

* Websearch plugin project normalization

* Folder plugin normalization

* Indexer plugin project normalization

* Plugin Program UnitTest project normalization

* Shell plugin project normalization

* Uri Plugin projects normalization

* WindowWalker plugin projects normalization

* Calculator plugin projects normalization

* Registry plugin projects normalization

* Service plugin project normalization

* System plugin projects normalization

* TimeDate and TimeZone plugin projects normalization

* Windows Settings plugin project normalization

* Windows Terminal plugin projects normalization

* PowerLauncher and PowerLauncher.Telemetry project normalization

* Wox projects normalization

* Updated PowerToys solution config

* Added Platforms/PlatformTarget and updated RID

* Remove merge text

* Remove SolutionDir from path

* Adding Platform and PlatformTarget back into Unit Tests

* Update PowerLauncher.csproj

Set RID back to win-

* Fixed OutputPath in Plugins
2022-04-21 09:59:43 +01:00
Heiko
e444881320 [PT Run] Run as user feature (#17283)
* run as different user

* fix tests

* Update src/modules/launcher/Plugins/Microsoft.Plugin.Shell/Main.cs

* fix typo
2022-04-04 10:37:08 +01:00
Jaime Bernardo
80e9fc0c43 [PTRun][Program]Fix bug when renaming url shortcut (#17184)
* [PTRun][Program]Fix bug when renaming url shortcut

* Try to use the old full path for old app removal

* Guard against links to nowhere

* Fix test to have link point to existing location

* Update src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32Program.cs

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>

* Fix nit.

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
2022-03-25 10:08:10 +00:00
CleanCodeDeveloper
58aa274b21 [Launcher Plugins] Move shared keys into central props file (#17214)
* [Launcher Plugins] Move shared keys into central props file

* fixes

* TreatWarningsAsErrors is set to true now. This caused a few errors to pop up
2022-03-23 16:35:52 +00:00
CleanCodeDeveloper
4572f62ce5 [meta]Update nuget packages (#16379)
* 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
2022-02-18 14:19:40 +00:00
CleanCodeDeveloper
f0d084c59c [meta]replace FxCopAnalyzers by Microsoft.CodeAnalysis.NetAnalyzers (#16210)
* Replace Microsoft.CodeAnalysis.FxCopAnalyzers by Microsoft.CodeAnalysis.NetAnalyzers

* fix error CA2101: Specify marshaling for P/Invoke string arguments

Microsoft.CodeAnalysis.NetAnalyzers treats CA2101 as an error

* Removed obsolete Analyzer Microsoft.NetCore.Analyzers

* Removed obsolete Analyzer Microsoft.NetFramework.Analyzers

* Removed obsolete Analyzer Microsoft.CodeQuality.Analyzers

* Removed obsolete Analyzer Microsoft.CodeAnalysis.VersionCheckAnalyzer

* fix error CA2101: Specify marshaling for P/Invoke string arguments

Microsoft.CodeAnalysis.NetAnalyzers treats CA2101 as an error
2022-02-11 16:42:17 +00:00
Clint Rutkas
c46ccce373 [build]Update to .net 6 framework and VS 2022 (#15741)
* 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>
2022-02-07 14:08:30 +00:00
Stefan Markovic
a1643b0a2e Upgrade .NET Core 3.1 to .NET 5 (#15591)
* Common.UI

* ColorPicker

* PT Run

* File Explorer Add-ons

* Awake

* FZ Editor

* ImageResizer

* Interop

* Docs

* Installer

* Fix test not being run - Downgrade MSTest.TestAdapter & MSTest.TestFramework

* Update expect.txt

* Test run fix
2022-01-18 15:52:22 +01:00
Davide Giacometti
e96c0da265 Test frameworks consolidated (#12672) 2021-08-16 14:25:06 +01:00
Mykhailo Pylyp
9731cdee67 Revert "[PowerToys Run] Update to net5 (#12434)" (#12543)
This reverts commit c651a4b36e.
2021-07-28 12:15:47 +01:00
Mykhailo Pylyp
c651a4b36e [PowerToys Run] Update to net5 (#12434)
* [Setup] Add support for installing both dotnet 3 and 5 (#12306)

* [PowerToys Run] Update to net5 (#12286)

* Change targets of projects

* Update Microsoft.Toolkit.Uwp.Notifications,

changed TargetFramework for PowerLauncher project in order to resolve an issue with ModernWpf

* Specify windows version in order to fix build errors

* Fixed suppressed warnings

* Updated sdk

* Removed usage of obsolete GlobalAssemblyCache

* Removed obsolete DesktopNotificationManagerCompat

* Update nuget versions

* Update installer

* [PowerToys Run] Obsolete APIs and warnings introduced in .net5 (#12423)

* Change targets of projects

* Update Microsoft.Toolkit.Uwp.Notifications,

changed TargetFramework for PowerLauncher project in order to resolve an issue with ModernWpf

* Fixed suppressed warnings

* Removed obsolete DesktopNotificationManagerCompat

* Get rid of binary formatter

* Update tests

* Don't include new image cache file to the report

* There's no need to call IsOwner as it doesn't make sense

* Fix different nullability exception

* Exclude extra dlls from tests

Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
2021-07-21 19:02:45 +03:00
Roy
266aafb700 [PT Run] Improve the Win32 Program Indexing speed (#11364) 2021-06-03 17:11:09 +03:00
Doğan Çelik
17fbe40b40 [PT Run] Fix Program Plugin launching issue in Turkish locale (#10981)
* [Launcher] Fix Program Plugin launching issue in Turkish locale

* [Launcher] Add test for Turkish localized path

* Update expect.txt

* Update .github/actions/spell-check/expect.txt

Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-05-21 16:51:53 +02:00
Clint Rutkas
fba4fd91a1 Updating nugets (#10493)
* Update System.Text.Json and Newtsoft.json

* update newtson.json

* Updating testing only items.
2021-03-30 09:52:00 -07:00
Mykhailo Pylyp
4a9e920a1c [PowerToys Run] Plugin manager (#9872) 2021-02-26 13:21:58 +02:00
Davide Giacometti
571bceb386 common helper for execute shell process from run plugins (#9538) 2021-02-23 09:53:08 +01:00
Mykhailo Pylyp
b1a6964e18 [Run] Fix exception (#9068) 2021-01-14 13:17:32 +02:00
Clint Rutkas
7f6d8ba86c Merge pull request #7618 from microsoft/dev/crutkas/upgradeNuget
Upgrading nuget packages
2020-11-04 06:38:08 -08:00
Clint Rutkas
aa1d6f7095 Merge branch 'master' into dev/crutkas/upgradeNuget 2020-11-03 10:57:50 -08:00
Clint Rutkas
a66b276e7d Merge branch 'master' into spelling 2020-11-02 09:57:48 -08:00
P-Storm
0d4017fe1a Io abstraction (#7293)
Co-authored-by: p-storm <paul.de.man@gmail.com>
2020-11-02 18:33:43 +01:00
Avneet Kaur
2c5b9b4d52 Audit culture bugs (#7707)
* Added comments and fixed CultureInfo /  StringComparison where appropriate

* Addressed comments

* Fixed comment
2020-10-30 16:43:09 -07:00
Josh Soref
ad9f88c487 spelling: synchronized
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2020-10-30 14:42:32 -04:00
Josh Soref
27bb96b61c spelling: inferred
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2020-10-30 14:41:14 -04:00
Clint Rutkas
3d53e80532 additional items 2020-10-28 12:24:42 -07:00