From b8b560179477bebc9236d1d695bd86a9afffe4e3 Mon Sep 17 00:00:00 2001 From: Anders Date: Wed, 10 Jun 2026 20:33:10 +0200 Subject: [PATCH 1/2] Clarify some manifest values and add examples --- .../latest/manifest.installer.latest.json | 23 +++++++++++++++---- .../latest/manifest.singleton.latest.json | 23 +++++++++++++++---- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/schemas/JSON/manifests/latest/manifest.installer.latest.json b/schemas/JSON/manifests/latest/manifest.installer.latest.json index 5442e77897..6140b58d1d 100644 --- a/schemas/JSON/manifests/latest/manifest.installer.latest.json +++ b/schemas/JSON/manifests/latest/manifest.installer.latest.json @@ -152,7 +152,7 @@ "type": [ "string", "null" ], "minLength": 1, "maxLength": 512, - "description": "Silent is the value that should be passed to the installer when user chooses a silent or quiet install" + "description": "Silent is the value that should be passed to the installer when user chooses a silent install" }, "SilentWithProgress": { "type": [ "string", "null" ], @@ -313,6 +313,7 @@ }, "maxItems": 16, "uniqueItems": true, + "examples": ["ntvdm", "DirectPlay", "Microsoft-Windows-Subsystem-Linux"], "description": "List of Windows feature dependencies" }, "WindowsLibraries": { @@ -367,7 +368,17 @@ "type": [ "string", "null" ], "minLength": 1, "maxLength": 255, - "description": "ProductCode could be used for correlation of packages across sources" + "examples": ["{MSI-GUID}", "ContosoApp", "Fabrikam.FantastikApp"], + "description": "The name of the ARP registry key, could be used for correlation of packages across sources" + }, + "UpgradeCode": { + "type": [ "string", "null" ], + "pattern": "^{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}$", + "minLength": 38, + "maxLength": 38, + "examples": ["{MSI-GUID}"], + "description": "Represents a related set of products, could be used for correlation of packages across sources", + "$comment": "https://learn.microsoft.com/en-us/windows/win32/msi/using-an-upgradecode" }, "Capabilities": { "type": [ "array", "null" ], @@ -378,6 +389,7 @@ }, "maxItems": 1000, "uniqueItems": true, + "examples": ["contacts", "internetClient", "globalMediaControl"], "description": "List of appx or msix installer capabilities" }, "RestrictedCapabilities": { @@ -389,6 +401,7 @@ }, "maxItems": 1000, "uniqueItems": true, + "examples": ["deviceUnlock", "runFullTrust", "broadFileSystemAccess"], "description": "List of appx or msix installer restricted capabilities" }, "Market": { @@ -501,7 +514,7 @@ "$ref": "#/definitions/ProductCode" }, "UpgradeCode": { - "$ref": "#/definitions/ProductCode" + "$ref": "#/definitions/UpgradeCode" }, "InstallerType": { "$ref": "#/definitions/InstallerType" @@ -533,8 +546,10 @@ "properties": { "DefaultInstallLocation": { "type": [ "string", "null" ], - "minLength": 1, + "minLength": 2, "maxLength": 2048, + "pattern": "^[%\\]", + "examples": ["%ProgramFiles%\\ContosoApp"], "description": "Represents the default installed package location. Used for deeper installation detection." }, "Files": { diff --git a/schemas/JSON/manifests/latest/manifest.singleton.latest.json b/schemas/JSON/manifests/latest/manifest.singleton.latest.json index 413f523c22..a34f4c6227 100644 --- a/schemas/JSON/manifests/latest/manifest.singleton.latest.json +++ b/schemas/JSON/manifests/latest/manifest.singleton.latest.json @@ -254,7 +254,7 @@ "type": [ "string", "null" ], "minLength": 1, "maxLength": 512, - "description": "Silent is the value that should be passed to the installer when user chooses a silent or quiet install" + "description": "Silent is the value that should be passed to the installer when user chooses a silent install" }, "SilentWithProgress": { "type": [ "string", "null" ], @@ -415,6 +415,7 @@ }, "maxItems": 16, "uniqueItems": true, + "examples": ["ntvdm", "DirectPlay", "Microsoft-Windows-Subsystem-Linux"], "description": "List of Windows feature dependencies" }, "WindowsLibraries": { @@ -468,7 +469,17 @@ "type": [ "string", "null" ], "minLength": 1, "maxLength": 255, - "description": "ProductCode could be used for correlation of packages across sources" + "examples": ["{MSI-GUID}", "ContosoApp", "Fabrikam.FantastikApp"], + "description": "The name of the ARP registry key, could be used for correlation of packages across sources" + }, + "UpgradeCode": { + "type": [ "string", "null" ], + "pattern": "^{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}$", + "minLength": 38, + "maxLength": 38, + "examples": ["{MSI-GUID}"], + "description": "Represents a related set of products, could be used for correlation of packages across sources", + "$comment": "https://learn.microsoft.com/en-us/windows/win32/msi/using-an-upgradecode" }, "Capabilities": { "type": [ "array", "null" ], @@ -479,6 +490,7 @@ }, "maxItems": 1000, "uniqueItems": true, + "examples": ["contacts", "internetClient", "globalMediaControl"], "description": "List of appx or msix installer capabilities" }, "RestrictedCapabilities": { @@ -490,6 +502,7 @@ }, "maxItems": 1000, "uniqueItems": true, + "examples": ["deviceUnlock", "runFullTrust", "broadFileSystemAccess"], "description": "List of appx or msix installer restricted capabilities" }, "Market": { @@ -602,7 +615,7 @@ "$ref": "#/definitions/ProductCode" }, "UpgradeCode": { - "$ref": "#/definitions/ProductCode" + "$ref": "#/definitions/UpgradeCode" }, "InstallerType": { "$ref": "#/definitions/InstallerType" @@ -634,8 +647,10 @@ "properties": { "DefaultInstallLocation": { "type": [ "string", "null" ], - "minLength": 1, + "minLength": 2, "maxLength": 2048, + "pattern": "^[%\\]", + "examples": ["%ProgramFiles%\\ContosoApp"], "description": "Represents the default installed package location. Used for deeper installation detection." }, "Files": { From 5e21380bcd0458d2f5993d505bbf0ccca3818a4c Mon Sep 17 00:00:00 2001 From: Anders Date: Wed, 10 Jun 2026 21:57:33 +0200 Subject: [PATCH 2/2] Removed some examples to please the spelling bot --- schemas/JSON/manifests/latest/manifest.installer.latest.json | 4 ++-- schemas/JSON/manifests/latest/manifest.singleton.latest.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/schemas/JSON/manifests/latest/manifest.installer.latest.json b/schemas/JSON/manifests/latest/manifest.installer.latest.json index 6140b58d1d..d57c163fce 100644 --- a/schemas/JSON/manifests/latest/manifest.installer.latest.json +++ b/schemas/JSON/manifests/latest/manifest.installer.latest.json @@ -313,7 +313,7 @@ }, "maxItems": 16, "uniqueItems": true, - "examples": ["ntvdm", "DirectPlay", "Microsoft-Windows-Subsystem-Linux"], + "examples": ["DirectPlay", "Microsoft-Windows-Subsystem-Linux"], "description": "List of Windows feature dependencies" }, "WindowsLibraries": { @@ -368,7 +368,7 @@ "type": [ "string", "null" ], "minLength": 1, "maxLength": 255, - "examples": ["{MSI-GUID}", "ContosoApp", "Fabrikam.FantastikApp"], + "examples": ["{MSI-GUID}", "ContosoApp"], "description": "The name of the ARP registry key, could be used for correlation of packages across sources" }, "UpgradeCode": { diff --git a/schemas/JSON/manifests/latest/manifest.singleton.latest.json b/schemas/JSON/manifests/latest/manifest.singleton.latest.json index a34f4c6227..5cb187c8ee 100644 --- a/schemas/JSON/manifests/latest/manifest.singleton.latest.json +++ b/schemas/JSON/manifests/latest/manifest.singleton.latest.json @@ -415,7 +415,7 @@ }, "maxItems": 16, "uniqueItems": true, - "examples": ["ntvdm", "DirectPlay", "Microsoft-Windows-Subsystem-Linux"], + "examples": ["DirectPlay", "Microsoft-Windows-Subsystem-Linux"], "description": "List of Windows feature dependencies" }, "WindowsLibraries": { @@ -469,7 +469,7 @@ "type": [ "string", "null" ], "minLength": 1, "maxLength": 255, - "examples": ["{MSI-GUID}", "ContosoApp", "Fabrikam.FantastikApp"], + "examples": ["{MSI-GUID}", "ContosoApp"], "description": "The name of the ARP registry key, could be used for correlation of packages across sources" }, "UpgradeCode": {