Развертывание собственного пакета JavaFX для Windows 10 — нарушение прав доступа к исключениям

Я работаю над приложением JavaFX 8 для связи с физическим устройством через виртуальный Com-порт Windows.

  • Windows 7/10 64-битная
  • IDE Затмение Марс
  • Муравей
  • InnoSetup 5.5.6
  • JDK 1.8.0_121
  • jssc 2.7.0 - для связи через последовательный порт

Я создаю собственный установщик с помощью Ant и InnoSetup. После установки приложение можно запустить через родной лаунчер (App.exe) в Windows 7 и 10.
В Windows 7 я могу открыть Com-порт, и приложение работает отлично.
Как только я пытаюсь откройте Com-порт в Windows 10, jvm вылетает со следующим сообщением:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006ec4b5bb, pid=1632, tid=0x0000000000001898
#
# JRE version: Java(TM) SE Runtime Environment (8.0_121-b13) (build 1.8.0_121-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.121-b13 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [jSSC-2.7_x86_64.dll+0xb5bb]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Открытие виртуального COM-порта в Windows 10 работает, когда приложение запускается двойным щелчком по файлу App.jar вместо App.exe.
Как собственный модуль запуска (App.exe), так и jar (App.jar) использовать систему jre.

Что я могу сделать, чтобы приложение (запускаемое App.exe) работало на обеих платформах?

Пожалуйста помоги!


person Andi    schedule 08.03.2017    source источник
comment
Вы пытались запустить .exe как Administrator?   -  person Hypnic Jerk    schedule 08.03.2017
comment
Я попытался запустить .exe от имени администратора, щелкнув правой кнопкой мыши -> Запуск от имени администратора и через командную строку с правами администратора. Оба не справились с заданием.   -  person Andi    schedule 09.03.2017


Ответы (1)


Сбой, по-видимому, произошел в собственном коде «C [jSSC-2.7_x86_64.dll+0xb5bb]» внутри файла jSSC-2.7_x86_64.dll, это может быть связано с тем, как API вызывается для этой библиотеки, проверьте свою программу . EXCEPTION_ACCESS_VIOLATION указывает, что ваш код пытался получить доступ к ячейке памяти, для которой у него нет разрешения на чтение (0xc0000005)

Поскольку программа отлично работает в Windows 7, проверьте совместимый драйвер последовательного порта для Windows 10. Сбой может быть вызван несоответствием драйверов.

person Fairoz    schedule 09.03.2017
comment
Когда я запускаю программу, дважды щелкнув .jar вместо .exe в Windows 10, она работает нормально. Так что я думаю, что драйвер последовательного порта работает нормально. Похоже, что при запуске приложения с помощью .exe разные права доступа. Установка и запуск от имени администратора и отключение UAC не решили проблему. - person Andi; 09.03.2017