Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions helpers.build.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -1812,7 +1812,7 @@ function Build-DscMsixPackage {
)

begin {
if ($IsWindows) {
if (-not $IsWindows) {
throw "MSIX packaging is only supported on Windows"
}
if ($null -eq $BuildData) {
Expand Down Expand Up @@ -1884,12 +1884,18 @@ function Build-DscMsixPackage {
$arch = ($architecture -eq 'aarch64-pc-windows-msvc') ? 'arm64' : 'x64'

# Appx manifest needs to be in root of source path, but the embedded version needs to be updated
# cp-459155 is 'CN=Microsoft Windows Store Publisher (Store EKU), O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
# authenticodeFormer is 'CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
$releasePublisher = 'CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
# Retrieve manifest and set version correctly
$appxManifest = Get-Content "$PSScriptRoot\packaging\msix\AppxManifest.xml" -Raw
$appxManifest = $appxManifest.Replace('$VERSION$', $ProductVersion).Replace('$ARCH$', $Arch).Replace('$PRODUCTNAME$', $productName).Replace('$DISPLAYNAME$', $displayName).Replace('$PUBLISHER$', $releasePublisher)
if ($Release) {
# CP-459155 is 'CN=Microsoft Windows Store Publisher (Store EKU), O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
# authenticodeFormer is 'CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
$publisher = 'CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
} else {
# For debug builds, use a self-signed developer identity per
# https://learn.microsoft.com/en-us/windows/msix/package/unsigned-package
$publisher = 'CN=AppModelSamples, OID.2.25.311729368913984317654407730594956997722=1'
}
Comment on lines +1894 to +1897
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

The debug branch comment says “self-signed developer identity”, but this code still produces an unsigned package (and the printed install command uses -AllowUnsigned). To avoid confusion (and mismatch with the PR title/intent), consider updating the comment/output text to explicitly say “unsigned” (or actually add a signing step with a generated self-signed cert if the goal is truly self-signed).

Copilot uses AI. Check for mistakes.
$appxManifest = $appxManifest.Replace('$VERSION$', $ProductVersion).Replace('$ARCH$', $Arch).Replace('$PRODUCTNAME$', $productName).Replace('$DISPLAYNAME$', $displayName).Replace('$PUBLISHER$', $publisher)
# Remove the output directory if it already exists, then recreate it.
$msixTarget = $artifactDirectory.MsixTarget
if (Test-Path $msixTarget) {
Expand Down Expand Up @@ -1970,7 +1976,12 @@ function Build-DscMsixPackage {
if ($LASTEXITCODE -ne 0) {
throw "Failed to create msix package"
}
Write-Host -ForegroundColor Green "`nMSIX package is created at $packageName"

if ($Release) {
Write-Host -ForegroundColor Green "`nMSIX package is created at $packageName"
} else {
Write-Host -ForegroundColor Green "`nInstall the debug MSIX package with:`nAdd-AppxPackage -AllowUnsigned -Path $packageName"
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

The suggested Add-AppxPackage command interpolates $packageName without quotes; if the path contains spaces, copy/paste install will fail. Consider quoting the path (and/or using -LiteralPath) in the message so it’s robust.

Suggested change
Write-Host -ForegroundColor Green "`nInstall the debug MSIX package with:`nAdd-AppxPackage -AllowUnsigned -Path $packageName"
Write-Host -ForegroundColor Green "`nInstall the debug MSIX package with:`nAdd-AppxPackage -AllowUnsigned -LiteralPath `"$packageName`""

Copilot uses AI. Check for mistakes.
}
}
}

Expand Down
Loading