Skip to content

WiX: Allow arbitrary signing command - #554

Open
speednoisemovement wants to merge 2 commits into
swiftlang:mainfrom
speednoisemovement:azure_vault
Open

WiX: Allow arbitrary signing command#554
speednoisemovement wants to merge 2 commits into
swiftlang:mainfrom
speednoisemovement:azure_vault

Conversation

@speednoisemovement

@speednoisemovement speednoisemovement commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

This introduces a new property SignCommand which allows overriding the full command used to code sign. If not provided, we fall back to the explicit CERTIFICATE/PASSPHRASE flow.

Also removes Azure Artifact/Trusted Signing as a first-class option, but it can still be used via the SignCommand override.

This introduces a new property `SignCommand` which allows overriding the full command used to code sign. If not provided, we fall back to the explicit `CERTIFICATE/PASSPHRASE` flow. This removes Azure Artifact/Trusted Signing as a first-class option, but it can still be used via the `SignCommand` override.
@speednoisemovement speednoisemovement changed the title WiX: Add Azure Key Vault signing support WiX: Allow arbitrary signing command Jul 29, 2026

<Exec Condition="'$(SignOutput)' == 'true'"
Command="$(SignTool) &quot;%(_RuntimeWin32Assembly.Catalog)&quot;" />
Command="$(SignCommand) &quot;%(_RuntimeWin32Assembly.Catalog)&quot;" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Renaming to be more accurate (it's the whole command, not just the tool)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can we split that out into a separate change? I think that we should have three changes:

  1. rip out the old azure signing
  2. replace the command
  3. add in the new hook point

@speednoisemovement speednoisemovement Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

replace the command

Which? Do you just mean the rename? There's NFC for the cert/passphrase path here (beyond the ability to override it)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

#555 for #1

Text="Unable to locate signtool.exe. Set SignToolPath to the Windows SDK bin directory." />

<PropertyGroup>
<SignCommand Condition=" '$(SignCommand)' == '' ">"$(SignToolPath)signtool.exe" sign $(VerboseFlag)/tr http://timestamp.digicert.com /fd sha256 /td sha256 /f "$(CERTIFICATE)" /p "$(PASSPHRASE)"</SignCommand>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Oh, this changes the time server - why?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It's the previous non-trusted signing arm, same server:

      <SignTool Condition=" '$(AzureSignMetadata)' == '' ">"$(SignToolPath)signtool.exe" sign $(VerboseFlag)/tr http://timestamp.digicert.com /fd sha256 /td sha256 /f "$(CERTIFICATE)" /p "$(PASSPHRASE)" </SignTool>

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants