aboutsummaryrefslogtreecommitdiff
path: root/src/setup/MetadataTask/Metadata.cs
blob: 139d924066b8aaa6e924b113030899ad81d9c21a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.

namespace WixToolset.Tasks
{
    public enum MetadataType
    {
        Unknown,
        Burn,
        Msi,
    }

    public enum ArchitectureType
    {
        Unknown,
        Arm64,
        X64,
        X86,
    }

    //{
    //  "id": [PackageSymbolId] | [BundleSymbolId],
    //  "type": "msi" | "burn"
    //  "name": [ProductName] | [BundleName]
    //  "locale": [ProductLanguage] | [BundleLanguage]
    //  "publisher": [Manufacturer]
    //  "aboutUrl": [ARPURLINFOABOUT] | [AboutUrl]
    //  "supportUrl": [ARPHELPLINK] | [SupportUrl]
    //  "description": [ARPCOMMENTS] | "Installation for" + [BundleName]
    //  "license": [ProductLicense] | [BundleLicense]
    //  "architecture": "x86" | "x64" | "arm64"
    //  "size": ####
    //  "sha256": hex,
    //  "file": <filename>
    //  "created": <ISO timestamp>
    //  "productCode": [ProductCode]
    //  "bundleCode": [BundleId]
    //  "upgradeCode": [UpgradeCode]
    //}

    public class Metadata
    {
        public string Id { get; set; }

        public MetadataType Type { get; set; }

        public string Name { get; set; }

        public string Version { get; set; }

        public string Locale { get; set; }

        public string Publisher { get; set; }

        public string AboutUrl { get; set; }

        public string SupportUrl { get; set; }

        public string Description { get; set; }

        public string License { get; set; }

        public ArchitectureType Architecture { get; set; }

        public string File { get; set; }

        public long Size { get; set; }

        public string Sha256 { get; set; }

        public string Created { get; set; }

        public string ProductCode { get; set; }

        public string BundleCode { get; set; }

        public string UpgradeCode { get; set; }
    }
}