feat: implement Installer Studio MSIX authoring workflow
Add the shared Rust engine, Tauri UI and CLI, registry authoring, developer signing, branded start screen and .isproj persistence. Remove the unused project ID. Validation: frontend build and tests, Rust workspace tests, native build and real Windows SDK package generation passed. Closes #2 Closes #3 Closes #4 Closes #5 Closes #6 Closes #7
This commit is contained in:
1 parent
24b624301c
commit
388e1e3327
103 files changed
+13328
-5
No files matched your search
@@ -0,0 +1,343 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Project",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"files": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/FileRule"
|
||||
}
|
||||
},
|
||||
"formats": {
|
||||
"$ref": "#/$defs/Formats"
|
||||
},
|
||||
"product": {
|
||||
"$ref": "#/$defs/Product"
|
||||
},
|
||||
"registry": {
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"items": {
|
||||
"$ref": "#/$defs/RegistryEntry"
|
||||
}
|
||||
},
|
||||
"schemaVersion": {
|
||||
"type": "integer",
|
||||
"format": "uint32",
|
||||
"minimum": 0
|
||||
},
|
||||
"signing": {
|
||||
"$ref": "#/$defs/Signing",
|
||||
"default": {
|
||||
"mode": "unsigned"
|
||||
}
|
||||
},
|
||||
"sources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Source"
|
||||
}
|
||||
},
|
||||
"targets": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Target"
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"product",
|
||||
"sources",
|
||||
"files",
|
||||
"formats",
|
||||
"targets"
|
||||
],
|
||||
"$defs": {
|
||||
"Application": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"entryPoint": {
|
||||
"type": "string"
|
||||
},
|
||||
"executable": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"square150x150Logo": {
|
||||
"type": "string"
|
||||
},
|
||||
"square44x44Logo": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"executable",
|
||||
"entryPoint",
|
||||
"square44x44Logo",
|
||||
"square150x150Logo"
|
||||
]
|
||||
},
|
||||
"Dependency": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"minVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"publisher": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"publisher",
|
||||
"minVersion"
|
||||
]
|
||||
},
|
||||
"FileRule": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"exclude": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"include": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"targetRelativePath": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"source",
|
||||
"include",
|
||||
"exclude",
|
||||
"targetRelativePath",
|
||||
"required"
|
||||
]
|
||||
},
|
||||
"Formats": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"msix": {
|
||||
"$ref": "#/$defs/Msix"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"msix"
|
||||
]
|
||||
},
|
||||
"Identity": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"publisher": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"version",
|
||||
"architecture"
|
||||
]
|
||||
},
|
||||
"Msix": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"applications": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Application"
|
||||
}
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Dependency"
|
||||
}
|
||||
},
|
||||
"extensions": {
|
||||
"type": "array",
|
||||
"items": true
|
||||
},
|
||||
"identity": {
|
||||
"$ref": "#/$defs/Identity"
|
||||
},
|
||||
"minimumOsVersion": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"identity",
|
||||
"minimumOsVersion",
|
||||
"applications",
|
||||
"capabilities",
|
||||
"extensions",
|
||||
"dependencies"
|
||||
]
|
||||
},
|
||||
"Product": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"displayName": {
|
||||
"type": "string"
|
||||
},
|
||||
"displayVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"manufacturer": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"displayName",
|
||||
"manufacturer",
|
||||
"displayVersion"
|
||||
]
|
||||
},
|
||||
"RegistryEntry": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"data": {
|
||||
"description": "Lossless text: decimal/0x numbers, newline-separated MULTI_SZ, hex binary.",
|
||||
"type": "string"
|
||||
},
|
||||
"hive": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"key": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Empty string denotes the unnamed/default value.",
|
||||
"type": "string"
|
||||
},
|
||||
"valueType": {
|
||||
"type": "string"
|
||||
},
|
||||
"view": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"hive",
|
||||
"key",
|
||||
"name",
|
||||
"view",
|
||||
"valueType",
|
||||
"data"
|
||||
]
|
||||
},
|
||||
"Signing": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"mode": {
|
||||
"$ref": "#/$defs/SigningMode",
|
||||
"default": "unsigned"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"SigningMode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"unsigned",
|
||||
"development"
|
||||
]
|
||||
},
|
||||
"Source": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"alias": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"alias"
|
||||
]
|
||||
},
|
||||
"Target": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"delivery": {
|
||||
"type": "string"
|
||||
},
|
||||
"distribution": {
|
||||
"type": "string"
|
||||
},
|
||||
"format": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"signingProfileRef": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"format",
|
||||
"delivery",
|
||||
"distribution"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user