aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-client/build/appx-manifest.xml
blob: c097fdd96fd68a6e9c15472073e084e39f5d621f (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
69
70
71
72
73
74
<?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), and
       the command-line client does during a transfer (WebRTC). 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>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="app\resources\node-runtime\meshbay-cli.exe">
        <desktop2:Rule Direction="in" IPProtocol="UDP" Profile="all" />
      </desktop2:FirewallRules>
    </desktop2:Extension>
  </Extensions>
</Package>