diff --git a/packaging/windows/store/appxmanifest.xml b/packaging/windows/store/appxmanifest.xml index 3b61735..c8f149b 100644 --- a/packaging/windows/store/appxmanifest.xml +++ b/packaging/windows/store/appxmanifest.xml @@ -4,14 +4,16 @@ storeVersion there); electron-builder fills the ${...} values from the appx options. Based on electron-builder's templates/appx/appxmanifest.xml, plus the uap3 - namespace for the stepforge.exe execution alias in extensions.xml. --> + namespace for the stepforge.exe execution alias in extensions.xml and + uap11 for graphicsCaptureWithoutBorder. --> + IgnorableNamespaces="uap uap3 uap11 desktop rescap"> - ${capabilities} + + + + + 'splashScreen', 'arch', 'resourceLanguages', 'capabilities', 'extensions', 'minVersion', 'maxVersionTested']; assert.deepEqual(macros.filter((m) => !known.includes(m)), []); assert.ok(macros.includes('extensions')); + // The capabilities are written out, so electron-builder's list can't replace them. + assert.ok(!macros.includes('capabilities')); + assert.match(manifest, /xmlns:uap11="http:\/\/schemas\.microsoft\.com\/appx\/manifest\/uap\/windows10\/11"/); + assert.match(manifest, /IgnorableNamespaces="[^"]*\buap11\b[^"]*"/); + const capabilities = manifest.split('')[1].split('')[0]; + assert.deepEqual([...capabilities.matchAll(/<(\w+):Capability Name="(\w+)" \/>/g)].map((m) => `${m[1]}:${m[2]}`), + ['uap11:graphicsCaptureWithoutBorder', 'rescap:runFullTrust']); assert.throws(() => renderStoreManifest('1.5.3.1'), /invalid Store version/); const extensions = read('packaging/windows/store/extensions.xml');