Skip to content
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

Schema additions for Zip support #2288

Merged
merged 6 commits into from
Jul 5, 2022
Merged
Show file tree
Hide file tree
Changes from 4 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
51 changes: 51 additions & 0 deletions schemas/JSON/manifests/v1.3.0/manifest.installer.1.3.0.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,45 @@
],
"description": "Enumeration of supported installer types. InstallerType is required in either root level or individual Installer level"
},
"NestedInstallerType": {
"type": [ "string", "null" ],
"enum": [
"msix",
"msi",
"appx",
"exe",
"inno",
"nullsoft",
"wix",
"burn",
"portable"
],
"description": "Enumeration of supported nested installer types contained inside an archive file"
},
"NestedInstallerFiles": {
"type": [ "array", "null" ],
"items": {
"type": "object",
"title": "NestedInstallerFile",
"properties": {
"RelativeFilePath": {
"type": [ "string", "null" ],
"minLength": 1,
"maxLength": 512,
"description": "The relative path to the nested installer file"
},
"PortableCommandAlias": {
"type": "string",
ryfu-msft marked this conversation as resolved.
Show resolved Hide resolved
"minLength": 1,
"maxLength": 40,
"description": "The command alias to be used for calling the package. Only applies to the nested portable package"
}
},
"description": "A nested installer file contained inside an archive"
},
"maxItems": 1024,
"description": "List of nested installer files contained inside an archive"
},
"Architecture": {
"type": "string",
"enum": [
Expand Down Expand Up @@ -492,6 +531,12 @@
"InstallerType": {
"$ref": "#/definitions/InstallerType"
},
"NestedInstallerType": {
"$ref": "#/definitions/NestedInstallerType"
},
"NestedInstallerFiles": {
"$ref": "#/definitions/NestedInstallerFiles"
},
"Scope": {
"$ref": "#/definitions/Scope"
},
Expand Down Expand Up @@ -611,6 +656,12 @@
"InstallerType": {
"$ref": "#/definitions/InstallerType"
},
"NestedInstallerType": {
"$ref": "#/definitions/NestedInstallerType"
},
"NestedInstallerFiles": {
"$ref": "#/definitions/NestedInstallerFiles"
},
"Scope": {
"$ref": "#/definitions/Scope"
},
Expand Down
51 changes: 51 additions & 0 deletions schemas/JSON/manifests/v1.3.0/manifest.singleton.1.3.0.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,45 @@
],
"description": "Enumeration of supported installer types. InstallerType is required in either root level or individual Installer level"
},
"NestedInstallerType": {
"type": [ "string", "null" ],
"enum": [
"msix",
"msi",
"appx",
"exe",
"inno",
"nullsoft",
"wix",
"burn",
"portable"
],
"description": "Enumeration of supported nested installer types contained inside an archive file"
},
"NestedInstallerFiles": {
"type": [ "array", "null" ],
"items": {
"type": "object",
"title": "NestedInstallerFile",
"properties": {
ryfu-msft marked this conversation as resolved.
Show resolved Hide resolved
"RelativeFilePath": {
"type": [ "string", "null" ],
"minLength": 1,
"maxLength": 512,
"description": "The relative path to the nested installer file"
},
"PortableCommandAlias": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "The command alias to be used for calling the package. Only applies to the nested portable package"
}
},
"description": "A nested installer file contained inside an archive"
},
"maxItems": 1024,
"description": "List of nested installer files contained inside an archive"
},
"Architecture": {
"type": "string",
"enum": [
Expand Down Expand Up @@ -533,6 +572,12 @@
"InstallerType": {
"$ref": "#/definitions/InstallerType"
},
"NestedInstallerType": {
"$ref": "#/definitions/NestedInstallerType"
},
"NestedInstallerFiles": {
"$ref": "#/definitions/NestedInstallerFiles"
},
"Scope": {
"$ref": "#/definitions/Scope"
},
Expand Down Expand Up @@ -765,6 +810,12 @@
"InstallerType": {
"$ref": "#/definitions/InstallerType"
},
"NestedInstallerType": {
"$ref": "#/definitions/NestedInstallerType"
},
"NestedInstallerFiles": {
"$ref": "#/definitions/NestedInstallerFiles"
},
"Scope": {
"$ref": "#/definitions/Scope"
},
Expand Down
9 changes: 9 additions & 0 deletions src/AppInstallerCLITests/AppInstallerCLITests.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,15 @@
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypePortable-InvalidCommands.yaml">
<DeploymentContent>true</DeploymentContent>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypeZip-MultipleNestedInstallers.yaml">
<DeploymentContent>true</DeploymentContent>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypeZip-NoNestedInstallerFile.yaml">
<DeploymentContent>true</DeploymentContent>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypeZip-NoNestedInstallerType.yaml">
<DeploymentContent>true</DeploymentContent>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerUniqueness-DefaultScope.yaml">
<DeploymentContent>true</DeploymentContent>
</CopyFileToFolders>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,15 @@
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypePortable-InvalidCommands.yaml">
<Filter>TestData</Filter>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypeZip-MultipleNestedInstallers.yaml">
<Filter>TestData</Filter>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypeZip-NoNestedInstallerFile.yaml">
<Filter>TestData</Filter>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerTypeZip-NoNestedInstallerType.yaml">
<Filter>TestData</Filter>
</CopyFileToFolders>
<CopyFileToFolders Include="TestData\Manifest-Bad-InstallerUniqueness.yaml">
<Filter>TestData</Filter>
</CopyFileToFolders>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PackageLocale: en-US
Installers:
- Architecture: x86
InstallerType: MSIX
InstallerUrl: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
InstallerUrl: https://ThisIsNotUsed
InstallerSha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
AppsAndFeaturesEntries:
- DisplayName: DisplayName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
InstallerType: Zip
InstallerType: Msi
License: Test
Installers:
- Arch: NotAnArch
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
InstallerType: Zip
InstallerType: Msi
License: Test
Installers:
- Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
- Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
Channel: release
InstallerType: Zip
InstallerType: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
INSTALLERTYPE: Zip
INSTALLERTYPE: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
installerType: Zip
installerType: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
installertype: Zip
installertype: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
InstallerType: Zip
installertype: Zip
InstallerType: Msi
installertype: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
InstallerType: Zip
installerType: Zip
InstallerType: Msi
installerType: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ Id: microsoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
Publisher: Microsoft
InstallerType: Zip
InstallerType: Msi
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
Id: m i c rosoft.msixsdk
Name: MSIX SDK
Version: 1.7.32
InstallerType: Zip
InstallerType: Msi
Publisher: Microsoft
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Bad manifest. No Id
Name: MSIX SDK
Version: 1.7.32
InstallerType: Zip
InstallerType: Msi
Publisher: Microsoft
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Publisher: Microsoft
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
InstallerType: Exe
Switches:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Switches:
Interactive: /i
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
InstallerType: Exe
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ InstallerType: Exe
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
Switches:
Interactive: /i
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ Switches:
Interactive: /i
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ InstallerType: NotAType
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ Publisher: Microsoft
License: Test
Installers:
- Arch: x86
Url: https://rubengustorage.blob.core.windows.net/publiccontainer/msixsdk-x86.zip
Url: https://ThisIsNotUsed
Sha256: 98B67758CEAFFCBB3FE47838FD0A8D7BD581C2650842D6B2B0E0D49A23270CCD
ManifestVersion: 0.1.0
Loading