You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
cert generate --manifest silently falls back to the OS user name when publisher extraction fails #839
winapp cert generate --manifest <path> silently falls back to the current user name when it cannot extract the publisher from the supplied manifest. It exits 0 and reports success, so callers cannot tell the manifest was ignored.
Repro
Given a well-formed but incomplete manifest (valid XML, correct root namespace, valid Identity/@Publisher, but missing Dependencies/Resources/Applications):
The whole reason to pass --manifest is to guarantee the certificate's publisher matches Identity/@Publisher — a mismatch makes the resulting package fail to install. Falling back to the user name produces a certificate that can never match, and reports success while doing so. Partially-complete manifests are common mid-development, which is exactly when a dev certificate gets generated.
Verified against bundled CLI 0.6.0 and dev build 0.6.1-pr.
Expected
When --manifest is passed explicitly and the publisher cannot be extracted, fail with a non-zero exit and a clear error (or at minimum emit a warning) rather than silently substituting the user name. The user-name fallback is reasonable when no publisher source was given at all; it is not reasonable when the caller named a manifest.
Context
Filed from the WinApp VS Code extension (microsoft/WinAppVSCE), which passes --manifest for exactly this guarantee. We have added a client-side check that re-reads Identity/@Publisher and warns the user when the returned publisher disagrees, but that is a workaround for a CLI behaviour that should be surfaced by the CLI itself.
Activity
Reject empty publisher when manifest is specified (#924)
Fix cert generate --manifest silently falling back to user name (micr…