aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-client/build/appx-manifest.xml
blob: a8dba41ba3e85ea39c473a38befd313c52e1b759 (plain) (blame)
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
<?xml version="1.0" encoding="utf-8"?>
<!-- electron-builder's own appx template (app-builder-lib/templates/appx/),
     plus what only a package-level element can declare: the node's firewall
     rules. AppxTarget.js fills in its macros as for the stock one, and fails
     on any it does not know, even inside a comment; re-check against that
     file when electron-builder is upgraded. -->
<Package
   xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
   xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
   xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
   xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
   xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
   xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
  <!-- use single quotes to avoid double quotes escaping in the publisher value  -->
  <Identity Name="${identityName}"
    ProcessorArchitecture="${arch}"
    Publisher='${publisher}'
    Version="${version}" />
  <Properties>
    <DisplayName>${displayName}</DisplayName>
    <PublisherDisplayName>${publisherDisplayName}</PublisherDisplayName>
    <Description>${description}</Description>
    <Logo>${logo}</Logo>
  </Properties>
  <Resources>
    ${resourceLanguages}
  </Resources>
  <Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="${minVersion}" MaxVersionTested="${maxVersionTested}" />
  </Dependencies>
  ${capabilities}
  <Applications>
    <Application Id="${applicationId}" Executable="${executable}" EntryPoint="Windows.FullTrustApplication">
      <uap:VisualElements
       BackgroundColor="${backgroundColor}"
       DisplayName="${displayName}"
       Square150x150Logo="${square150x150Logo}"
       Square44x44Logo="${square44x44Logo}"
       Description="${description}">
        ${lockScreen}
        ${defaultTile}
        ${splashScreen}
      </uap:VisualElements>
      ${extensions}
    </Application>
  </Applications>
  <!-- The node accepts connections from peers (WebRTC, QUIC, casting). Rules
       declared here are created by Windows at install with no administrator
       prompt, follow the executable's versioned path on every update, and go
       with the package. A rule the app made itself named that path and was
       stale after the next update; the network capabilities create rules for
       sandboxed apps only, which a full-trust process is not. Both measured
       on a real install. -->
  <Extensions>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="app\resources\node-runtime\meshbay-node.exe">
        <desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all" />
        <desktop2:Rule Direction="in" IPProtocol="UDP" Profile="all" />
      </desktop2:FirewallRules>
    </desktop2:Extension>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="app\resources\node-runtime\meshbay-nodew.exe">
        <desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all" />
        <desktop2:Rule Direction="in" IPProtocol="UDP" Profile="all" />
      </desktop2:FirewallRules>
    </desktop2:Extension>
  </Extensions>
</Package>