2009-11-09 4 views
2

Я построил приложение Java, которое поставляется на USB-накопителях. Чтобы обеспечить совместимость, я отправляю подходящую JVM на палочки. Я сделал EXE, который просто вызывает эту JVM с помощью приложения.Windows Исполняемый для запуска приложения Java, удаленный антивирусным сканером

Теперь проблема: некоторые антивирусные сканеры действуют агрессивно и просто удаляют исполняемый файл!

Я попробовал exe, сделанный с помощью инструмента «Batch file to Executable», и один написан на C (вызывая ShellExecute); обе версии обнаружены и устранены Norton SONAR, но я могу представить, что другие антивирусные сканеры могут реагировать аналогичным образом.

Первоначально я выбрал ярлык Windows, но они, похоже, не поддерживают относительные пути. Пакетный файл неприемлем, так как я не хочу показывать консоль.

ответ

2

Вы можете попробовать использовать один из многих конфигурируемый ява пусковых установок - они могут быть меньше шансов быть подобран AVs:

(полное раскрытие: я работаю на winrun4j)

+0

В итоге он работал с NSIS ... Я пробовал всех остальных, но их всех сняли. Благодаря! –

+0

Я работал с https://github.com/kohsuke/winsw оболочкой Windows, чтобы добавить java-программу в качестве исполняемого файла – cabaji99

0

Используйте start/b java.exe ... в пакетном файле. Будет короткое мерцание, но окно быстро исчезнет.

Что касается антивирусного сканера, удаляющего ваш файл: используйте палку с аппаратным переключателем, которая может сделать ее защищенной от записи. Это для вашей собственной безопасности: только потому, что есть антивирус, не означает, что вируса нет. Если никто не может писать на палку, никто не может с этим справиться.

+0

Приложение сохраняет данные на палочке, поэтому его нельзя защитить от записи. –

+0

Кроме того, я вижу больше, чем мерцание, если я использую start/b, на самом деле никакой разницы вообще, извините. –

0

Если вы запустите приложение с помощью javaw.exe, у вас не должно быть связанного окна консоли, чтобы обойти необходимость конвертировать ваш файл bat в файл .exe.

Вы также можете рассмотреть возможность распространения приложения в качестве приложения Webstart, в котором связанный файл jnlp описывает минимальную требуемую версию JVM.

0

Поскольку программа не должна изменяться очень часто: отправьте ее как ложноположительную для поставщиков AV-устройств, тогда она, вероятно, будет иметь белый список довольно быстро. Или, по крайней мере, вы можете узнать, что это такое, что они считают это нежелательным.

 Смежные вопросы

  • Нет связанных вопросов^_^