summaryrefslogtreecommitdiffstats
path: root/windows/pica-node.exe.manifest.in
blob: b3c97e93e45f7f53e5d911421502d217dcce795c (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
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <assemblyIdentity
      type="win32"
      name="picapica.im.pica-pica.pica-node"
      version="@PICA_WINDOWS_VERSION@"
      processorArchitecture="*"
  />

  <description>Pica Pica node</description>

  <!-- The node has no user interface, so unlike the client it does not pull in
       the themed version 6 common controls. -->

  <!-- The same binary runs both ways: started by the service control manager
       it serves the SCM, and started from a console it falls back to running
       in the foreground.  Nothing below is specific to either mode - a manifest
       cannot ask for anything of the service control manager, and the process
       privileges of the service come from the account it was registered with
       ("sc create ... obj= ..."), not from here. -->

  <!-- Run with the privileges of the invoking user.  The service control
       manager ignores this and uses the account the service was registered
       with, but it is what the console mode needs: asking for administrator
       rights here would make every foreground start raise a UAC prompt.
       Declaring any level at all also disables registry/file system
       virtualization, so that a write to the installation directory fails
       visibly instead of being redirected into VirtualStore. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>

  <!-- Declare which Windows versions this program was tested against.  An
       unlisted program is reported the version of the newest OS it claims
       support for, and may silently get compatibility shims applied. -->
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!-- Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!-- Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <!-- Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <!-- Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <!-- Windows 10 and Windows 11 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
    </application>
  </compatibility>

  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <!-- Allow the node list database and the log file to sit behind a path
           longer than MAX_PATH.  This has no effect unless the machine also
           has the LongPathsEnabled policy turned on, so it is safe on older
           systems. -->
      <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
    </windowsSettings>
  </application>

</assembly>