diff --git a/data.build.json b/data.build.json
index 74d8242c2..359d3392a 100644
--- a/data.build.json
+++ b/data.build.json
@@ -54,6 +54,7 @@
"appx.dsc.extension.json",
"appx-discover.ps1",
"dsc.exe",
+ "dsc-bicep-ext.exe",
"dsc_default.settings.json",
"dsc.settings.json",
"dscecho.exe",
@@ -429,6 +430,16 @@
"Binaries": [
"y2j"
]
+ },
+ {
+ "Name": "dsc-bicep-ext",
+ "Kind": "Extension",
+ "RelativePath": "dsc-bicep-ext",
+ "SupportedPlatformOS": "Windows",
+ "IsRust": true,
+ "Binaries": [
+ "dsc-bicep-ext"
+ ]
}
]
}
diff --git a/helpers.build.psm1 b/helpers.build.psm1
index aac96e182..46d6f63d1 100644
--- a/helpers.build.psm1
+++ b/helpers.build.psm1
@@ -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) {
@@ -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'
+ }
+ $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) {
@@ -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"
+ }
}
}
diff --git a/packaging/msix/AppxManifest.xml b/packaging/msix/AppxManifest.xml
index 3cbee4de7..cc6e0a1f2 100644
--- a/packaging/msix/AppxManifest.xml
+++ b/packaging/msix/AppxManifest.xml
@@ -39,6 +39,17 @@
+
+
+
+
+
+
+
+
+
+
+