Skip to content
Merged
Show file tree
Hide file tree
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
43 changes: 0 additions & 43 deletions .github/workflows/unsigned-msix-test.yml

This file was deleted.

31 changes: 0 additions & 31 deletions build/msix/AppxManifest.xml

This file was deleted.

Binary file removed build/msix/Square150x150Logo.png
Binary file not shown.
Binary file removed build/msix/Square44x44Logo.png
Binary file not shown.
Binary file removed build/msix/StoreLogo.png
Binary file not shown.
6 changes: 0 additions & 6 deletions docs/WINDOWS-DISTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,6 @@ This work does not activate the broader launcher, account or online ecosystem
scope from Phase 8. It provides a reproducible packaged editor, an NSIS
installer and a strict boundary for future trusted code signing.

An additional development-only experiment packages the unchanged editor as an
unsigned MSIX with Microsoft's required OID identity. It is an internal
maintainer test, not a public distribution method, and is installed only with
the documented Windows 11 \`Add-AppxPackage -AllowUnsigned\` mechanism. Smart App
Control remains enabled throughout the test.

## Installer behavior

The Windows build produces a 64-bit per-user NSIS installer named:
Expand Down
41 changes: 0 additions & 41 deletions scripts/build-unsigned-msix-test.ps1

This file was deleted.

11 changes: 0 additions & 11 deletions scripts/check-windows-distribution.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ requireValue(icon[0] === 0 && icon[1] === 0 && icon[2] === 1 && icon[3] === 0, '

const workflow = fs.readFileSync(path.join(root, '.github/workflows/windows-installer.yml'), 'utf8');
const previewWorkflow = fs.readFileSync(path.join(root, '.github/workflows/publish-unsigned-preview.yml'), 'utf8');
const msixWorkflow = fs.readFileSync(path.join(root, '.github/workflows/unsigned-msix-test.yml'), 'utf8');
requireValue(workflow.includes('signpath/github-action-submit-signing-request@v2'), 'Windows workflow is missing the SignPath signing action.');
for (const setting of [
'SIGNPATH_API_TOKEN',
Expand All @@ -40,16 +39,6 @@ requireValue(!workflow.includes('BEGIN PRIVATE KEY'), 'Signing material must nev
requireValue(previewWorkflow.includes('Compress-Archive'), 'Unsigned previews must create a portable ZIP test artifact.');
requireValue(previewWorkflow.includes('Parlyn-Engine-Portable-0.5.0-beta.18-x64.zip'), 'Portable preview artifact has an unexpected name.');
requireValue(previewWorkflow.includes('release/win-unpacked/Parlyn Engine.exe'), 'Portable preview must verify its packaged executable.');
requireValue(msixWorkflow.includes('workflow_dispatch:'), 'Unsigned MSIX testing must support explicit manual dispatch.');
requireValue(msixWorkflow.includes('actions/upload-artifact@v7'), 'Unsigned MSIX testing must upload only an internal workflow artifact.');

const msixManifest = fs.readFileSync(path.join(root, 'build/msix/AppxManifest.xml'), 'utf8');
requireValue(msixManifest.includes('Publisher="CN=AppModelSamples, OID.2.25.311729368913984317654407730594956997722=1"'), "Unsigned MSIX identity must match Microsoft's documented unsigned namespace publisher.");
requireValue(msixManifest.includes('WebCrew.ParlynEngine.Development'), 'Unsigned MSIX must use a development-only identity.');
requireValue(msixManifest.includes('runFullTrust'), 'Packaged Electron editor requires the full-trust capability.');
const msixScript = fs.readFileSync(path.join(root, 'scripts/build-unsigned-msix-test.ps1'), 'utf8');
requireValue(msixScript.includes('MakeAppx.exe'), 'Unsigned MSIX build must use the Windows SDK packager.');
requireValue(msixScript.includes('Get-FileHash'), 'Unsigned MSIX build must produce a SHA-256 checksum.');

const gitignore = fs.readFileSync(path.join(root, '.gitignore'), 'utf8');
for (const sensitivePattern of ['*.pfx', '*.p12', '*.key']) {
Expand Down
Loading