mirror of
https://github.com/microsoft/PowerToys
synced 2025-08-22 01:58:04 +00:00
<!-- 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  Add AdaptiveCards.Templating.dll to version check exception list <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the 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
102 lines
3.5 KiB
PowerShell
102 lines
3.5 KiB
PowerShell
[CmdletBinding()]
|
|
# todo: send in arch / conf, could send in actual path
|
|
Param(
|
|
[Parameter(Mandatory = $True, Position = 1)]
|
|
[AllowEmptyString()]
|
|
[string]$targetDir = $PSScriptRoot + '/../extractedMsi/File'
|
|
)
|
|
|
|
$DirPath = $targetDir; #this file is in pipeline, we need root.
|
|
$items = Get-ChildItem -Path $DirPath -File -Include *.exe, *.dll, *.ttf, PTCustomActions -Recurse -Force -ErrorAction SilentlyContinue
|
|
$versionExceptions = @(
|
|
"AdaptiveCards.Templating.dll",
|
|
"Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll",
|
|
"Microsoft.Windows.ApplicationModel.Resources.Projection.dll",
|
|
"Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll",
|
|
"Microsoft.Windows.AppLifecycle.Projection.dll",
|
|
"Microsoft.Windows.System.Power.Projection.dll",
|
|
"Microsoft.Windows.Widgets.Providers.Projection.dll",
|
|
"Microsoft.WindowsAppRuntime.Bootstrap.Net.dll",
|
|
"Microsoft.Xaml.Interactions.dll",
|
|
"Microsoft.Xaml.Interactivity.dll",
|
|
"hyjiacan.py4n.dll",
|
|
"TraceReloggerLib.dll",
|
|
"Microsoft.WindowsAppRuntime.Release.Net.dll",
|
|
"Microsoft.Windows.Widgets.Projection.dll",
|
|
"WinRT.Host.Shim.dll",
|
|
"WyHash.dll",
|
|
"Microsoft.Recognizers.Text.DataTypes.TimexExpression.dll",
|
|
"ObjectModelCsProjection.dll",
|
|
"RendererCsProjection.dll") -join '|';
|
|
$nullVersionExceptions = @(
|
|
"SkiaSharp.Views.WinUI.Native.dll",
|
|
"libSkiaSharp.dll",
|
|
"codicon.ttf",
|
|
"e_sqlite3.dll",
|
|
"getfilesiginforedist.dll",
|
|
"vcamp140_app.dll",
|
|
"vcruntime140_app.dll",
|
|
"vcruntime140_1_app.dll",
|
|
"msvcp140_app.dll",
|
|
"marshal.dll",
|
|
"Microsoft.Toolkit.Win32.UI.XamlHost.dll",
|
|
"Microsoft.UI.Composition.OSSupport.dll",
|
|
"Microsoft.UI.Windowing.dll",
|
|
"Microsoft.UI.Xaml.Internal.dll",
|
|
"Microsoft.Windows.ApplicationModel.Resources.dll",
|
|
"Microsoft.WindowsAppRuntime.dll",
|
|
"Microsoft.WindowsAppRuntime.Bootstrap.dll",
|
|
"MRM.dll",
|
|
"PushNotificationsLongRunningTask.ProxyStub.dll",
|
|
"WindowsAppSdk.AppxDeploymentExtensions.Desktop.dll",
|
|
"System.Diagnostics.EventLog.Messages.dll",
|
|
"Microsoft.Windows.Widgets.dll",
|
|
"AdaptiveCards.ObjectModel.WinUI3.dll",
|
|
"AdaptiveCards.Rendering.WinUI3.dll") -join '|';
|
|
$totalFailure = 0;
|
|
|
|
Write-Host $DirPath;
|
|
|
|
if (-not (Test-Path $DirPath)) {
|
|
Write-Error "Folder does not exist!"
|
|
}
|
|
|
|
Write-Host "Total items: " $items.Count
|
|
|
|
if ($items.Count -eq 0) {
|
|
# no items means something bad happened. We should fail ASAP
|
|
exit 1;
|
|
}
|
|
|
|
$items | ForEach-Object {
|
|
if ($_.VersionInfo.FileVersion -eq "0.0.0.0" -and $_.Name -notmatch $versionExceptions) {
|
|
# These items are exceptions that actually have the 0.0.0.0 version.
|
|
Write-Host "Version set to 0.0.0.0: " + $_.FullName
|
|
$totalFailure++;
|
|
}
|
|
if ($_.VersionInfo.FileVersion -eq "1.0.0.0" -and $_.Name -notmatch $versionExceptions) {
|
|
# These items are exceptions that actually have the 1.0.0.0 version.
|
|
Write-Host "Version set to 1.0.0.0: " + $_.FullName
|
|
$totalFailure++;
|
|
}
|
|
elseif ($_.VersionInfo.FileVersion -eq $null -and $_.Name -notmatch $nullVersionExceptions) {
|
|
# These items are exceptions that actually a version not set.
|
|
Write-Host "Version not set: " + $_.FullName
|
|
$totalFailure++;
|
|
}
|
|
else {
|
|
$auth = Get-AuthenticodeSignature $_.FullName
|
|
if ($auth.SignerCertificate -eq $null) {
|
|
Write-Host "Not Signed: " + $_.FullName
|
|
$totalFailure++;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($totalFailure -gt 0) {
|
|
Write-Error "Some items had issues."
|
|
exit 1
|
|
}
|
|
|
|
exit 0
|