openjfx / openjfx-docs

Getting started guide for JavaFX 11
BSD 3-Clause "New" or "Revised" License
95 stars 25 forks source link

Issues with Windows 10 S compatibility. #209

Open apdw3 opened 2 years ago

apdw3 commented 2 years ago

Hi, I have successfully had accepted into the Microsoft App Store a UWP application built on OpenJDK11 and OpenJFX11. packaged as a .msixupload installer.

On acceptance, Microsoft indicated that the App would not run sucessfully on Windows 10 S (the secure version), and that these issues would severely affect the Apps "merchantability".

On re-running the Windows Certification test kit I noticed the following issues raised:

High-DPI support

WARNING
DPIAwarenessValidation
Warning: The DPI-awareness validation test detected following Warnings:
File AI_STUBS\AiStub.exe neither has PerMonitorV2 manifested in the manifest nor calls into DPI Awareness APIs for ex: user32!SetProcessDpiAwarenessContext or user32!SetThreadDpiAwarenessContext.
The app 34852DryJointProductions.PhotoNoteBook_1.4.2.0_x64__bzs1g9egd1v1t is not DPI Aware.
Impact if not fixed: Apps that are not DPI-aware but are running on a high-DPI display setting can exhibit incorrect scaling of UI elements, clipped text, and blurry images.
How to fix: It is recommended that you declare your app as DPI-aware in the app manifest. Otherwise, app should use DPI Awareness API calls for example:either SetProcessDpiAwarenessContext or SetThreadDpiAwarenessContext APIs.

Package sanity test

PASSED
Archive files usage

FAILED
Blocked executables
Error Found: The blocked executables test has detected the following errors:
File AI_STUBS\AiStub.exe contains a reference to a "Launch Process" related API kernel32.dll!CreateProcessW
File bin\java.dll contains a reference to a "Launch Process" related API kernel32.dll!CreateProcessW
File bin\server\jvm.dll contains a reference to a "Launch Process" related API kernel32.dll!CreateProcessA
File AiStub.exe contains a blocked executable reference to "PowerShell".
File AiStub.exe contains a blocked executable reference to "Powershell.exe".
File api-ms-win-core-errorhandling-l1-1-0.dll contains a blocked executable reference to "CMD".
File fontmanager.dll contains a blocked executable reference to "CdB".
File ucrtbase.dll contains a blocked executable reference to "cmd.exe".
File jvm.dll contains a blocked executable reference to "cMD".
File jvm.dll contains a blocked executable reference to "reg".
Impact if not fixed: Launching executable files is restricted on Windows 10 S systems. Apps that rely on this capability might not run correctly on Windows 10 S systems.
How to fix: Identify which of the flagged entries represent a call to launch an executable file that is not part of your app and remove those calls. If the flagged files are part of your application, you may ignore the warning.

If Java is to have a continuing future on the MS WINDOWS platforms it could be that these issues need a fix. kind regards Alan