Закрепление приложения Java с помощью Launch4j на панели задач Windows 7 - PullRequest
9 голосов
/ 18 февраля 2012

В настоящее время я пытаюсь закрепить приложение Java на панели задач Windows 7.Приложение запускается с Launch4j .Значок программы отображается правильно, но при щелчке правой кнопкой мыши по значку на панели задач отображается только контекстное меню с записью «Закрыть окно».Нет пункта меню для закрепления приложения на панели задач.Перетаскивание файла EXE в панель задач также не работает должным образом.При нажатии этого нового средства запуска на панели задач появляется второй значок на панели задач.

Я следовал инструкциям решения этих двух вопросов, чтобы решить проблему, но это не помогло:

JNAматериал из второго вопроса / решения компилируется и не выдает никаких исключений.Я могу прочитать идентификатор приложения после установки.Но я все еще не могу прикрепить приложение к панели задач.

Я создал небольшое тестовое приложение на Github, которое демонстрирует проблему:

https://github.com/kayahr/launch4jtest

Приложениеиспользует Maven в качестве системы сборки.Просто запустите mvn package, и вы найдете ZIP-файл в целевом каталоге, который содержит EXE-файл и jna.jar, который необходим для установки этого идентификатора приложения.Извлеките этот ZIP в какой-нибудь каталог, дважды щелкните по EXE и попробуйте прикрепить приложение к панели задач, и вы увидите проблему.

Так что же не так с этим приложением?

1 Ответ

5 голосов
/ 22 февраля 2012

N.B. Переписать некоторые комментарии первоначально в основном посте согласно запросу kayahr:)

Вам необходимо создать ярлык со значком, который встраивает AppUserModelID информацию. InnoSetup может создать такой ярлык в разделе [Icons]. Укажите имя приложения, присвоенное AppUserModelID через JNA. Предлагаемые ссылки для чтения:

Как создать файл .exe для установщика izpack .jar файл

Launch4j, NSIS и дубликаты закрепленных значков панели задач Windows 7

  1. Работает при перетаскивании EXE-файла (не ярлыка его значка) на панель задач Windows 7 для создания закрепленного значка;
  2. Работает при запуске EXE-файла и последующем выборе меню «закрепить на панели задач» для создания закрепленного значка. Если вы не установите AppUserModelID , это невозможно; даже это вызовет странное поведение, например, наличие значка javaw.exe на панели задач вместо значка exe, поскольку Launch4J вызывает исполняемый файл jar с помощью javaw.exe (дублированные закрепленные значки)

Чтобы запустить сборщик установщика на базе Windows под Linux, обратитесь к этому руководству:

http://katastrophos.net/andre/blog/2009/03/16/setting-up-the-inno-setup-compiler-on-debian/

Да, как упомянуто kayahr, эта функция Windows 7 будет работать только тогда, когда ее ярлык со встроенным AppUserModelID остается без изменений (т.е. он не удаляется / удаляется).

...