win: manifest node.exe for Windows 8.1
authorAlexis Campailla <alexis@janeasystems.com>
Fri, 15 Aug 2014 16:25:38 +0000 (18:25 +0200)
committerTrevor Norris <trev.norris@gmail.com>
Wed, 17 Sep 2014 21:26:35 +0000 (14:26 -0700)
Adding a compatibility section to node.exe embedded manifest so that
Node is declared explicitly compatible with Windows 8.1. Required so
that os.release() can return the correct version on Windows 8.1.

See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx

Reviewed-by: Trevor Norris <trev.norris@gmail.com>
node.gyp
src/res/node.exe.extra.manifest [new file with mode: 0644]

index 5454af2..24c8860 100644 (file)
--- a/node.gyp
+++ b/node.gyp
         'VCLinkerTool': {
           'SubSystem': 1, # /subsystem:console
         },
+        'VCManifestTool': {
+          'EmbedManifest': 'true',
+          'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest'
+        }
       },
     },
     # generate ETW header and resource files
diff --git a/src/res/node.exe.extra.manifest b/src/res/node.exe.extra.manifest
new file mode 100644 (file)
index 0000000..c4cc80a
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
+  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+      <!-- Windows Vista -->
+      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+  </application>
+  </compatibility>
+</assembly>