You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2018/10/14 17:43:48 UTC

[GitHub] lkishalmi closed pull request #883: [NETBEANS-1227] Mark Windows launchers as DPI-aware

lkishalmi closed pull request #883: [NETBEANS-1227] Mark Windows launchers as DPI-aware
URL: https://github.com/apache/incubator-netbeans/pull/883
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.gitignore b/.gitignore
index 2f2cf3dfff..9e4c87c80c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,13 +27,23 @@
 /nbi/engine/native/*/*/dist/
 /nb-javac/
 /java.source.nbjavac/test/test-nb-javac/nbproject/private/
-/apisupport.harness/windows-launcher-src/*.exe
-/apisupport.harness/windows-launcher-src/*.res
-/ide/launcher/windows/*.exe
-/ide/launcher/windows/*.res
-/o.n.bootstrap/launcher/windows/*.dll
-/o.n.bootstrap/launcher/windows/*.exe
-/o.n.bootstrap/launcher/windows/*.res
+/harness/apisupport.harness/windows-launcher-src/*.exe
+/harness/apisupport.harness/windows-launcher-src/*.res
+/nb/ide.launcher/windows/*.exe
+/nb/ide.launcher/windows/*.res
+/platform/o.n.bootstrap/launcher/windows/*.dll
+/platform/o.n.bootstrap/launcher/windows/*.exe
+/platform/o.n.bootstrap/launcher/windows/*.res
+# Various files that may be generated if the launcher projects are opened in NetBeans 8.2.
+/harness/apisupport.harness/windows-launcher-src/nbproject/Makefile-*.mk
+/harness/apisupport.harness/windows-launcher-src/nbproject/Package-*.bash
+/harness/apisupport.harness/windows-launcher-src/nbproject/private/
+/nb/ide.launcher/windows/nbproject/Makefile-*.mk
+/nb/ide.launcher/windows/nbproject/Package-*.bash
+/nb/ide.launcher/windows/nbproject/private/
+/platform/o.n.bootstrap/launcher/windows/nbproject/Makefile-*.mk
+/platform/o.n.bootstrap/launcher/windows/nbproject/Package-*.bash
+/platform/o.n.bootstrap/launcher/windows/nbproject/private/
 
 
 # OS generated files #
diff --git a/harness/apisupport.harness/release/etc/app.conf b/harness/apisupport.harness/release/etc/app.conf
index a5b4ec2d0e..779225a3b5 100644
--- a/harness/apisupport.harness/release/etc/app.conf
+++ b/harness/apisupport.harness/release/etc/app.conf
@@ -42,8 +42,8 @@
 # You can also use ${HOME} variable which will be replaced with
 # user.home JVM system property value. 
 #
-# The above location variables are valid only in netbeans_default_userdir 
-# and netbeans_default_cachedir properties.
+# The above location variables are valid only in the default_userdir and
+# default_cachedir properties.
 #
 # NOTE: If you specify a non-default userdir path on command line
 # (--userdir option) and don't specify a cachedir path (--cachedir option),
diff --git a/harness/apisupport.harness/windows-launcher-src/Makefile.mingw b/harness/apisupport.harness/windows-launcher-src/Makefile.mingw
index 4f7d188090..1e54da812d 100644
--- a/harness/apisupport.harness/windows-launcher-src/Makefile.mingw
+++ b/harness/apisupport.harness/windows-launcher-src/Makefile.mingw
@@ -20,15 +20,15 @@ all: app64.exe app.exe
 clean:
 	rm -f *.res *.exe
 
-app64.res: app.rc
-	x86_64-w64-mingw32-windres -oapp64.res -Ocoff app.rc
+app64.res: app.rc app.exe.manifest
+	x86_64-w64-mingw32-windres -oapp64.res -Ocoff -DMANIFEST_FILE=app.exe.manifest app.rc
 
-app64.exe: app.cpp applauncher.cpp app64.res ../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp
-	x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh app.cpp applauncher.cpp app64.res ../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp ../../ide/launcher/windows/nblauncher.cpp -I ../../o.n.bootstrap/launcher/windows/ -oapp64.exe -static -lstdc++ -static-libstdc++ -static-libgcc
+app64.exe: app.cpp applauncher.cpp app64.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp
+	x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh app.cpp applauncher.cpp app64.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp ../../../nb/ide.launcher/windows/nblauncher.cpp -I ../../../platform/o.n.bootstrap/launcher/windows/ -oapp64.exe -static -lstdc++ -static-libstdc++ -static-libgcc
 
-app.res: app.rc
-	i686-w64-mingw32-windres -oapp.res -Ocoff app.rc
+app.res: app.rc app.exe.manifest
+	i686-w64-mingw32-windres -oapp.res -Ocoff -DMANIFEST_FILE=app.exe.manifest app.rc
 
-app.exe: app.cpp applauncher.cpp app.res ../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp
-	i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh app.cpp applauncher.cpp app.res ../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp ../../ide/launcher/windows/nblauncher.cpp -I ../../o.n.bootstrap/launcher/windows/ -oapp.exe -static -lstdc++ -static-libstdc++ -static-libgcc
+app.exe: app.cpp applauncher.cpp app.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp
+	i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh app.cpp applauncher.cpp app.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp ../../../nb/ide.launcher/windows/nblauncher.cpp -I ../../../platform/o.n.bootstrap/launcher/windows/ -oapp.exe -static -lstdc++ -static-libstdc++ -static-libgcc
 
diff --git a/harness/apisupport.harness/windows-launcher-src/app.exe.manifest b/harness/apisupport.harness/windows-launcher-src/app.exe.manifest
new file mode 100644
index 0000000000..26921b37ee
--- /dev/null
+++ b/harness/apisupport.harness/windows-launcher-src/app.exe.manifest
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+<assemblyIdentity version="9.0.0.0"
+   processorArchitecture="x86"
+   name="app.exe"
+   type="win32"/>
+
+<description>NBP application process</description>
+<dependency>
+  <dependentAssembly>
+    <assemblyIdentity
+      type="win32"
+      name="Microsoft.Windows.Common-Controls"
+      version="6.0.0.0"
+      processorArchitecture="*"
+      publicKeyToken="6595b64144ccf1df"
+      language="*"
+    />
+  </dependentAssembly>
+</dependency>
+<!-- Identify the application security requirements. -->
+<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+  <security>
+    <requestedPrivileges>
+      <requestedExecutionLevel
+        level="asInvoker"
+        uiAccess="false"/>
+      </requestedPrivileges>
+     </security>
+</trustInfo>
+<!-- NETBEANS-1227: Indicate the same HiDPI capabilities as javaw.exe from JDK 11. -->
+<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
+  <asmv3:windowsSettings xmlns:dpi1="http://schemas.microsoft.com/SMI/2005/WindowsSettings" xmlns:dpi2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
+    <dpi1:dpiAware>true/PM</dpi1:dpiAware>
+    <dpi2:dpiAwareness>PerMonitorV2, PerMonitor, system</dpi2:dpiAwareness>
+  </asmv3:windowsSettings>
+</asmv3:application>
+<!-- List of explicitly supported Windows versions. This is the list from
+     javaw.exe on JDK 8.0.172, which is the same as that of JDK 11ea. -->
+<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+  <application>
+    <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+    <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+    <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+    <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+  </application>
+</compatibility>
+</assembly>
diff --git a/harness/apisupport.harness/windows-launcher-src/app.rc b/harness/apisupport.harness/windows-launcher-src/app.rc
index 345b1a5dd4..d52211e464 100644
--- a/harness/apisupport.harness/windows-launcher-src/app.rc
+++ b/harness/apisupport.harness/windows-launcher-src/app.rc
@@ -18,5 +18,9 @@
 // Icon with lowest ID value placed first to ensure application icon
 // remains consistent on all systems.
 
+#include <winuser.h>
+
 100 ICON "app.ico"
 
+// Value MANIFEST_FILE id taken from windres parameter -DMANIFEST_FILE
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST MANIFEST_FILE
diff --git a/harness/apisupport.harness/windows-launcher-src/applauncher.cpp b/harness/apisupport.harness/windows-launcher-src/applauncher.cpp
index 3a8937934a..f8163168ce 100644
--- a/harness/apisupport.harness/windows-launcher-src/applauncher.cpp
+++ b/harness/apisupport.harness/windows-launcher-src/applauncher.cpp
@@ -21,8 +21,8 @@
  */
 
 #include "applauncher.h"
-#include "../../o.n.bootstrap/launcher/windows/utilsfuncs.h"
-#include "../../o.n.bootstrap/launcher/windows/argnames.h"
+#include "../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.h"
+#include "../../../platform/o.n.bootstrap/launcher/windows/argnames.h"
 
 using namespace std;
 
diff --git a/harness/apisupport.harness/windows-launcher-src/applauncher.h b/harness/apisupport.harness/windows-launcher-src/applauncher.h
index 35569bfa3f..0801c8a316 100644
--- a/harness/apisupport.harness/windows-launcher-src/applauncher.h
+++ b/harness/apisupport.harness/windows-launcher-src/applauncher.h
@@ -27,7 +27,7 @@
 #include <windows.h>
 
 #include "shlobj.h"
-#include "../../ide/launcher/windows/nblauncher.h"
+#include "../../../nb/ide.launcher/windows/nblauncher.h"
 
 class AppLauncher : public NbLauncher {
 
diff --git a/harness/apisupport.harness/windows-launcher-src/nbproject/configurations.xml b/harness/apisupport.harness/windows-launcher-src/nbproject/configurations.xml
index 6738d4d378..55d0647e5a 100644
--- a/harness/apisupport.harness/windows-launcher-src/nbproject/configurations.xml
+++ b/harness/apisupport.harness/windows-launcher-src/nbproject/configurations.xml
@@ -25,8 +25,8 @@
                    displayName="Header Files"
                    projectFiles="true">
       <itemPath>applauncher.h</itemPath>
-      <itemPath>../../ide/launcher/windows/nblauncher.h</itemPath>
-      <itemPath>../../o.n.bootstrap/launcher/windows/utilsfuncs.h</itemPath>
+      <itemPath>../../../nb/ide.launcher/windows/nblauncher.h</itemPath>
+      <itemPath>../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.h</itemPath>
     </logicalFolder>
     <logicalFolder name="ResourceFiles"
                    displayName="Resource Files"
@@ -37,8 +37,8 @@
                    projectFiles="true">
       <itemPath>app.cpp</itemPath>
       <itemPath>applauncher.cpp</itemPath>
-      <itemPath>../../ide/launcher/windows/nblauncher.cpp</itemPath>
-      <itemPath>../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp</itemPath>
+      <itemPath>../../../nb/ide.launcher/windows/nblauncher.cpp</itemPath>
+      <itemPath>../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp</itemPath>
     </logicalFolder>
     <logicalFolder name="ExternalFiles"
                    displayName="Important Files"
diff --git a/nb/ide.launcher/windows/Makefile.migw b/nb/ide.launcher/windows/Makefile.mingw
similarity index 68%
rename from nb/ide.launcher/windows/Makefile.migw
rename to nb/ide.launcher/windows/Makefile.mingw
index be43affd99..512c77a0a6 100644
--- a/nb/ide.launcher/windows/Makefile.migw
+++ b/nb/ide.launcher/windows/Makefile.mingw
@@ -20,14 +20,14 @@ all: netbeans64.exe netbeans.exe
 clean:
 	rm -f *.res *.exe
 
-netbeans64.res: netbeans.rc
+netbeans64.res: netbeans.rc netbeans64.exe.manifest
 	x86_64-w64-mingw32-windres -onetbeans64.res -Ocoff -DMANIFEST_FILE=netbeans64.exe.manifest netbeans.rc
 
-netbeans64.exe: netbeans.cpp  nblauncher.cpp netbeans64.res ../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp
-	x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh netbeans.cpp nblauncher.cpp netbeans64.res ../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp -I ../../../o.n.bootstrap/launcher/windows/ -onetbeans64.exe -static -lstdc++ -static-libstdc++ -static-libgcc
+netbeans64.exe: netbeans.cpp  nblauncher.cpp netbeans64.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp
+	x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh netbeans.cpp nblauncher.cpp netbeans64.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp -I ../../../platform/o.n.bootstrap/launcher/windows/ -onetbeans64.exe -static -lstdc++ -static-libstdc++ -static-libgcc
 
-netbeans.res: netbeans.rc
+netbeans.res: netbeans.rc netbeans.exe.manifest
 	i686-w64-mingw32-windres -onetbeans.res -Ocoff  -DMANIFEST_FILE=netbeans.exe.manifest netbeans.rc
 
-netbeans.exe: netbeans.cpp  nblauncher.cpp netbeans.res ../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp
-	i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh netbeans.cpp nblauncher.cpp netbeans.res ../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp -I ../../../o.n.bootstrap/launcher/windows/ -onetbeans.exe -static -lstdc++ -static-libstdc++ -static-libgcc
+netbeans.exe: netbeans.cpp  nblauncher.cpp netbeans.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp
+	i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"/lib/nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh netbeans.cpp nblauncher.cpp netbeans.res ../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp -I ../../../platform/o.n.bootstrap/launcher/windows/ -onetbeans.exe -static -lstdc++ -static-libstdc++ -static-libgcc
diff --git a/nb/ide.launcher/windows/nblauncher.cpp b/nb/ide.launcher/windows/nblauncher.cpp
index 7dd7f08507..37adb7097e 100644
--- a/nb/ide.launcher/windows/nblauncher.cpp
+++ b/nb/ide.launcher/windows/nblauncher.cpp
@@ -26,9 +26,9 @@
 
 #include <shlobj.h>
 #include "nblauncher.h"
-#include "../../../o.n.bootstrap/launcher/windows/utilsfuncs.h"
-#include "../../../o.n.bootstrap/launcher/windows/argnames.h"
-#include "../../../o.n.bootstrap/launcher/windows/nbexecloader.h"
+#include "../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.h"
+#include "../../../platform/o.n.bootstrap/launcher/windows/argnames.h"
+#include "../../../platform/o.n.bootstrap/launcher/windows/nbexecloader.h"
 
 using namespace std;
 
diff --git a/nb/ide.launcher/windows/nbproject/configurations.xml b/nb/ide.launcher/windows/nbproject/configurations.xml
index 9fdda65f73..9e0bf6a327 100644
--- a/nb/ide.launcher/windows/nbproject/configurations.xml
+++ b/nb/ide.launcher/windows/nbproject/configurations.xml
@@ -26,7 +26,7 @@
                    projectFiles="true">
       <itemPath>cmdargs.h</itemPath>
       <itemPath>nblauncher.h</itemPath>
-      <itemPath>../../../o.n.bootstrap/launcher/windows/utilsfuncs.h</itemPath>
+      <itemPath>../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.h</itemPath>
       <itemPath>version.h</itemPath>
     </logicalFolder>
     <logicalFolder name="ResourceFiles"
@@ -42,7 +42,7 @@
                    projectFiles="true">
       <itemPath>nblauncher.cpp</itemPath>
       <itemPath>netbeans.cpp</itemPath>
-      <itemPath>../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp</itemPath>
+      <itemPath>../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp</itemPath>
     </logicalFolder>
     <logicalFolder name="ExternalFiles"
                    displayName="Important Files"
@@ -77,12 +77,12 @@
           <commandLine>-mwindows -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh</commandLine>
         </linkerTool>
       </compileType>
-      <item path="../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp"
+      <item path="../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp"
             ex="false"
             tool="1"
             flavor2="0">
       </item>
-      <item path="../../../o.n.bootstrap/launcher/windows/utilsfuncs.h"
+      <item path="../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.h"
             ex="false"
             tool="3"
             flavor2="0">
@@ -131,12 +131,12 @@
           <commandLine>-mwindows -Wl,--nxcompat -Wl,--dynamicbase</commandLine>
         </linkerTool>
       </compileType>
-      <item path="../../../o.n.bootstrap/launcher/windows/utilsfuncs.cpp"
+      <item path="../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.cpp"
             ex="false"
             tool="1"
             flavor2="0">
       </item>
-      <item path="../../../o.n.bootstrap/launcher/windows/utilsfuncs.h"
+      <item path="../../../platform/o.n.bootstrap/launcher/windows/utilsfuncs.h"
             ex="false"
             tool="3"
             flavor2="0">
diff --git a/nb/ide.launcher/windows/netbeans.exe.manifest b/nb/ide.launcher/windows/netbeans.exe.manifest
index 931dcec7cc..71b1164517 100644
--- a/nb/ide.launcher/windows/netbeans.exe.manifest
+++ b/nb/ide.launcher/windows/netbeans.exe.manifest
@@ -25,7 +25,7 @@
    name="netbeans.exe"
    type="win32"/>
 
-<description>nbexec Process.</description>
+<description>NetBeans IDE process</description>
 <dependency>
   <dependentAssembly>
     <assemblyIdentity
@@ -48,4 +48,24 @@
       </requestedPrivileges>
      </security>
 </trustInfo>
+<!-- NETBEANS-1227: Indicate the same HiDPI capabilities as javaw.exe from JDK 11. -->
+<!-- Note that even 32-bit Java 10.0.2 indicates HiDPI-awareness, so it should
+     be fine to include it here as well. -->
+<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
+  <asmv3:windowsSettings xmlns:dpi1="http://schemas.microsoft.com/SMI/2005/WindowsSettings" xmlns:dpi2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
+    <dpi1:dpiAware>true/PM</dpi1:dpiAware>
+    <dpi2:dpiAwareness>PerMonitorV2, PerMonitor, system</dpi2:dpiAwareness>
+  </asmv3:windowsSettings>
+</asmv3:application>
+<!-- List of explicitly supported Windows versions. This is the list from
+     javaw.exe on JDK 8.0.172, which is the same as that of JDK 11ea. -->
+<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+  <application>
+    <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+    <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+    <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+    <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+  </application>
+</compatibility>
 </assembly>
diff --git a/nb/ide.launcher/windows/netbeans64.exe.manifest b/nb/ide.launcher/windows/netbeans64.exe.manifest
index c0ba0f1204..3f7dc6eb9f 100644
--- a/nb/ide.launcher/windows/netbeans64.exe.manifest
+++ b/nb/ide.launcher/windows/netbeans64.exe.manifest
@@ -20,12 +20,14 @@
 
 -->
 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+<!-- Use processorArchitecture="x86", which is the value used by the 64-bit
+     javaw.exe on Java 10.0.2 and Java 11ea. -->
 <assemblyIdentity version="9.0.0.0"
-   processorArchitecture="ia64"
+   processorArchitecture="x86"
    name="netbeans64.exe"
    type="win32"/>
 
-<description>nbexec Process.</description>
+<description>NetBeans IDE process</description>
 <dependency>
   <dependentAssembly>
     <assemblyIdentity
@@ -48,4 +50,22 @@
       </requestedPrivileges>
      </security>
 </trustInfo>
+<!-- NETBEANS-1227: Indicate the same HiDPI capabilities as javaw.exe from JDK 11. -->
+<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
+  <asmv3:windowsSettings xmlns:dpi1="http://schemas.microsoft.com/SMI/2005/WindowsSettings" xmlns:dpi2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
+    <dpi1:dpiAware>true/PM</dpi1:dpiAware>
+    <dpi2:dpiAwareness>PerMonitorV2, PerMonitor, system</dpi2:dpiAwareness>
+  </asmv3:windowsSettings>
+</asmv3:application>
+<!-- List of explicitly supported Windows versions. This is the list from
+     javaw.exe on JDK 8.0.172, which is the same as that of JDK 11ea. -->
+<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+  <application>
+    <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+    <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+    <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+    <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+  </application>
+</compatibility>
 </assembly>
diff --git a/platform/o.n.bootstrap/launcher/windows/Makefile.mingw b/platform/o.n.bootstrap/launcher/windows/Makefile.mingw
index 2f67aa34c4..d76ddcd104 100644
--- a/platform/o.n.bootstrap/launcher/windows/Makefile.mingw
+++ b/platform/o.n.bootstrap/launcher/windows/Makefile.mingw
@@ -26,8 +26,8 @@ nbexec64.res: nbexec.rc
 nbexec64.dll: include/jni.h include/jni_types.h jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec64.res
 	x86_64-w64-mingw32-gcc -s -shared -m64 -o nbexec64.dll -I include jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec64.res -Wl,--no-insert-timestamp -static -lstdc++ -static-libstdc++ -static-libgcc
 
-nbexec_exe64.res: nbexec_exe.rc
-	x86_64-w64-mingw32-windres -onbexec_exe64.res -Ocoff nbexec_exe.rc
+nbexec_exe64.res: nbexec_exe.rc nbexec.exe.manifest
+	x86_64-w64-mingw32-windres -onbexec_exe64.res -Ocoff -DMANIFEST_FILE=nbexec.exe.manifest nbexec_exe.rc
 
 nbexec64.exe: nbexecexe.cpp utilsfuncs.cpp nbexec_exe64.res
 	x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp nbexecexe.cpp utilsfuncs.cpp nbexec_exe64.res -onbexec64.exe -static -lstdc++ -static-libstdc++ -static-libgcc
@@ -38,8 +38,8 @@ nbexec.res: nbexec.rc
 nbexec.dll: include/jni.h include/jni_types.h jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec.res
 	i686-w64-mingw32-gcc -s -shared -o nbexec.dll -I include jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec.res -static -Wl,--no-insert-timestamp -lstdc++ -static-libstdc++ -static-libgcc
 
-nbexec_exe.res: nbexec_exe.rc
-	i686-w64-mingw32-windres -onbexec_exe.res -Ocoff nbexec_exe.rc
+nbexec_exe.res: nbexec_exe.rc nbexec.exe.manifest
+	i686-w64-mingw32-windres -onbexec_exe.res -Ocoff -DMANIFEST_FILE=nbexec.exe.manifest nbexec_exe.rc
 
 nbexec.exe: nbexecexe.cpp utilsfuncs.cpp nbexec_exe.res
 	i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp nbexecexe.cpp utilsfuncs.cpp nbexec_exe.res -onbexec.exe -static -lstdc++ -static-libstdc++ -static-libgcc
diff --git a/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest b/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest
index da15223fa1..cfc9190e1e 100644
--- a/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest
+++ b/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest
@@ -25,7 +25,7 @@
    name="nbexec.exe"
    type="win32"/>
 
-<description>nbexec Process.</description>
+<description>nbexec process</description>
 <dependency>
   <dependentAssembly>
     <assemblyIdentity
@@ -48,4 +48,22 @@
       </requestedPrivileges>
      </security>
 </trustInfo>
+<!-- NETBEANS-1227: Indicate the same HiDPI capabilities as javaw.exe from JDK 11. -->
+<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
+  <asmv3:windowsSettings xmlns:dpi1="http://schemas.microsoft.com/SMI/2005/WindowsSettings" xmlns:dpi2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
+    <dpi1:dpiAware>true/PM</dpi1:dpiAware>
+    <dpi2:dpiAwareness>PerMonitorV2, PerMonitor, system</dpi2:dpiAwareness>
+  </asmv3:windowsSettings>
+</asmv3:application>
+<!-- List of explicitly supported Windows versions. This is the list from
+     javaw.exe on JDK 8.0.172, which is the same as that of JDK 11ea. -->
+<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+  <application>
+    <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+    <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+    <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+    <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+  </application>
+</compatibility>
 </assembly>
diff --git a/platform/o.n.bootstrap/launcher/windows/nbexec_exe.rc b/platform/o.n.bootstrap/launcher/windows/nbexec_exe.rc
index 598b6c0cba..df75c0b3bd 100644
--- a/platform/o.n.bootstrap/launcher/windows/nbexec_exe.rc
+++ b/platform/o.n.bootstrap/launcher/windows/nbexec_exe.rc
@@ -24,6 +24,6 @@
 
 #include "version.rc"
 
-
-CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "nbexec.exe.manifest"
+// Value MANIFEST_FILE id taken from windres parameter -DMANIFEST_FILE
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST MANIFEST_FILE
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists