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

I ' m возникла проблема, заключающаяся в том, что, когда я закрепляю значок на панели задач в Windows 7 для своего приложения, щелчок по значку открывает отдельный (дублирующий) значок для программы вместо того, чтобы сохранять его сгруппированным с ярлыком, используемым для его вызова.

Приложение сам по себе является файлом .jar, который был обернут в .exe с помощью Launch4j. Это объясняет, почему значок дублируется - Launch4j вызывает отдельный процесс javaw.exe, и похоже, что AppModelUserID сбивается с толку, когда вы начинаете делать подобные вещи.

Согласно

11109873] этот пост , решение состоит в том, чтобы указать ваш AppModelUserID через некоторый собственный код. Я успешно получил код JNA, который вызывается в моем приложении в соответствии с приведенным там примером, и, похоже, я правильно устанавливаю его на значение формы " Приложение по-прежнему открывается в виде отдельного закрепленного значка. На данный момент я не могу проверить, правильно ли я установил свойства ярлыка, потому что, похоже, нет инструмента для проверки того, что AppModelUserID имеет данный ярлык.

Все работает нормально, когда я просто создаю ярлык непосредственно для файла .jar, но тогда возникают хлопоты, связанные с попыткой реализовать установку JRE в NSIS, и множество других головных болей, которые я уже пережил и которых пытаюсь избежать.

Буду очень признателен за любые советы, которые могут помочь мне решить эту неприятную проблему! Меня всегда мучают эти дурацкие эстетические проблемы, решить которые может быть такой сложной задачей ...

Спасибо!

РЕДАКТИРОВАТЬ: Проблема была решена переключением на ANSI сборка NSIS , как рекомендовал Андерс после того, как мне не удалось проверить, что AppModelUserID ярлыка действительно установлен правильно.

5
задан Community 23 May 2017 в 12:18
поделиться