-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Clarify some manifest values and add examples #6277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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": ["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"], | ||
| "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": "^[%\\]", | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A lot of apps hardcode a
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. But it does not make sense to allow that. I don't think this value is actually used yet but when it is, there are pretty much only 3 places that make sense:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Unfortunately a lot of apps do not install to paths that make sense. I don't think we can block apps from WinGet just because they install to an unusual path
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's not about blocking anyone but manifests should match the spec. Some manifests might need to change There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that could be misleading though. These apps don't install to
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The fact that "some manifests may need to change" would indicate to me this is a breaking change as manifest versions should be forward compatible as mich as possible.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
C:\ might not even exist on all systems. Somebody from Microsoft should chime in and say the exact allowed format of this value (which is the point of this PR in the first place).
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have any concrete examples of packages in the repository that exhibit this behavior. I suspect we'll need to use a few real examples to make the right decision here.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Examples of drive c: root folders (I think this is all the packages that do this):
Examples of broken entries:
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @JohnMcPMS what are your thoughts here? |
||
| "examples": ["%ProgramFiles%\\ContosoApp"], | ||
| "description": "Represents the default installed package location. Used for deeper installation detection." | ||
| }, | ||
| "Files": { | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.