Skip to content

Add additional build and sign step for SilentFilesInUseBAFunction#41853

Merged
yeelam-gordon merged 5 commits intomainfrom
issue/41790-wix5setupissue
Sep 25, 2025
Merged

Add additional build and sign step for SilentFilesInUseBAFunction#41853
yeelam-gordon merged 5 commits intomainfrom
issue/41790-wix5setupissue

Conversation

@yeelam-gordon
Copy link
Copy Markdown
Contributor

This pull request adds a new build and signing step for the SilentFilesInUseBAFunction DLL in the installer pipeline and makes a minor project configuration update. The main goal is to ensure that this DLL is built and signed as part of the CI process, and that its output is preserved during subsequent build steps.

Pipeline changes:

  • Added a new build step in .pipelines/v2/templates/steps-build-installer-vnext.yml to compile the SilentFilesInUseBAFunction target from the PowerToysSetup.sln solution, with appropriate MSBuild arguments and logging.
  • Introduced a conditional code-signing step for the SilentFilesInUseBAFunction DLL, using the existing ESRP signing template and policies.
  • Updated the comment for the main installer build step to clarify that it now preserves both the MSI and SilentFilesInUseBAFunction outputs.

Project configuration:

  • Set the ProjectName property to PowerToysSetupCustomActionsVNext in SilentFilesInUseBAFunction.vcxproj for clearer project identification.

@yeelam-gordon yeelam-gordon requested a review from a team as a code owner September 17, 2025 02:09
/p:RunBuildEvents=true;PerUser=${{parameters.buildUserInstaller}};RestorePackagesConfig=true;CIBuild=true
/p:InstallerSuffix=${{ parameters.installerSuffix }}
-restore -graph
/bl:$(LogOutputDirectory)\installer-$(InstallerBuildSlug)-silentfilesinusebafunction.binlog

Check failure

Code scanning / check-spelling

Unrecognized Spelling

[silentfilesinusebafunction](#security-tab) is not a recognized word. \(unrecognized-spelling\)
@yeelam-gordon yeelam-gordon added the Area-Setup/Install Refers to installation mechanism label Sep 17, 2025
@yeelam-gordon yeelam-gordon added this to the PowerToys 0.94 milestone Sep 17, 2025
@vanzue
Copy link
Copy Markdown
Contributor

vanzue commented Sep 17, 2025

image Verified locally

platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: false # don't undo our hard work above by deleting the MSI
clean: false # don't undo our hard work above by deleting the MSI nor SilentFilesInUseBAFunction
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nor SilentFilesInUseBAFunction

@khaled65442
Copy link
Copy Markdown

This pull request adds a new build and signing step for the SilentFilesInUseBAFunction DLL in the installer pipeline and makes a minor project configuration update. The main goal is to ensure that this DLL is built and signed as part of the CI process, and that its output is preserved during subsequent build steps.

Pipeline changes:

  • Added a new build step in .pipelines/v2/templates/steps-build-installer-vnext.yml to compile the SilentFilesInUseBAFunction target from the PowerToysSetup.sln solution, with appropriate MSBuild arguments and logging.
  • Introduced a conditional code-signing step for the SilentFilesInUseBAFunction DLL, using the existing ESRP signing template and policies.
  • Updated the comment for the main installer build step to clarify that it now preserves both the MSI and SilentFilesInUseBAFunction outputs.

Project configuration:

  • Set the ProjectName property to PowerToysSetupCustomActionsVNext in SilentFilesInUseBAFunction.vcxproj for clearer project identification.

Copy link
Copy Markdown

@khaled65442 khaled65442 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workflow to run mypy on select parts of the CPython repo

name: mypy

on:
push:
branches:
- main
pull_request:
paths:
- ".github/workflows/mypy.yml"
- "Lib/_colorize.py"
- "Lib/_pyrepl/"
- "Lib/test/libregrtest/
"
- "Lib/tomllib/"
- "Misc/mypy/
"
- "Tools/build/compute-changes.py"
- "Tools/build/deepfreeze.py"
- "Tools/build/generate_sbom.py"
- "Tools/build/generate-build-details.py"
- "Tools/build/verify_ensurepip_wheels.py"
- "Tools/build/update_file.py"
- "Tools/build/umarshal.py"
- "Tools/cases_generator/"
- "Tools/clinic/
"
- "Tools/jit/"
- "Tools/peg_generator/
"
- "Tools/requirements-dev.txt"
workflow_dispatch:

permissions:
contents: read

env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
FORCE_COLOR: 1
TERM: xterm-256color # needed for FORCE_COLOR to work on mypy on Ubuntu, see python/mypy#13817

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
mypy:
name: Run mypy on ${{ matrix.target }}
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
target: [
"Lib/_pyrepl",
"Lib/test/libregrtest",
"Lib/tomllib",
"Tools/build",
"Tools/cases_generator",
"Tools/clinic",
"Tools/jit",
"Tools/peg_generator",
]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: pip
cache-dependency-path: Tools/requirements-dev.txt
- run: pip install -r Tools/requirements-dev.txt
- run: python3 Misc/mypy/make_symlinks.py --symlink
- run: mypy --config-file ${{ matrix.target }}/mypy.ini

@yeelam-gordon yeelam-gordon merged commit d0a6782 into main Sep 25, 2025
20 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the installer pipeline to build and sign the SilentFilesInUseBAFunction DLL as part of the CI process, ensuring this component is properly included in the PowerToys installation workflow.

Key changes:

  • Added dedicated build and signing steps for the SilentFilesInUseBAFunction DLL in the installer pipeline
  • Enhanced project configuration with Debug/Release-specific compiler settings
  • Updated project naming for clearer identification

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunction.vcxproj Added project name property and Debug/Release configuration settings
.pipelines/v2/templates/steps-build-installer-vnext.yml Added build and signing steps for SilentFilesInUseBAFunction DLL

Comment on lines +96 to +119
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
Copy link

Copilot AI Sep 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These configuration-specific ItemDefinitionGroups duplicate standard MSBuild settings that are typically inherited from common property sheets or targets. Consider using existing PowerToys common configuration files instead of duplicating these standard Debug/Release settings inline.

Suggested change
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Setup/Install Refers to installation mechanism

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LoadBAFunctions() - Failed to load DLL SilentFilesInUseBAFunction.dll

6 participants