Я получил скрипт (просто упрощенный отрывок для краткости), чтобы собрать и упаковать мое приложение, но он сводится к генерации установщика WiX с:
jpackage \
--type msi \
--dest "$(cygpath -w "${base[build:dist]}")" \
--name "${appDisplayName}" \
--app-version "${version}" \
--app-image "$(cygpath -w "${base[build:app]}")" \
--license-file "$(cygpath -w resources/app/legal/LICENSE)" \
--vendor "${vendor}" \
--verbose \
--temp 'W:\_tmp_' \
--win-shortcut;
С ошибкой enigmati c: Command [light.exe, (...)] in (...) exited with 94 code
. Я обнаружил неразрешенную ссылку и, в частности, ссылку на ярлык: ...\config\bundle.wxf(10) : error LGHT0094 : Unresolved reference to symbol 'Icon:icon1798580986' in section 'Fragment:'
.
Когда я исследовал сгенерированный WiX XML, я обнаружил следующее:
<?xml version="1.0" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>
...
<DirectoryRef Id="DesktopFolder">
<Component Win64="yes" Id="cshortcut9906e12cdacb303ebb5e48c888cf6949" Guid="{9906e12c-dacb-303e-bb5e-48c888cf6949}">
...
<Shortcut Id="shortcut9906e12cdacb303ebb5e48c888cf6949" Name="..." WorkingDirectory="INSTALLDIR" Advertise="no" IconIndex="0" Target="[#filed2065cdc42e13
55f8bdbbefc93d540f3]" Icon="icon1798580986"></Shortcut>
</Component>
</DirectoryRef>
...
</Wix>
И действительно есть это значение «icon1798580986», которое мне ничего не говорит, и даже WiX теряется здесь (после прочтения этого { ссылка } я проверил и подтвердил, что у меня действительно WixUIExtension.dll
в WiX bin
папка).
Когда я удаляю опцию --win-shortcut
, генерируется установщик MSI, но, к сожалению, без ярлыка на рабочем столе (у приложения есть соответствующие значки, как вы создали образ приложения с помощью --icon
и --resource-dir
, указывающие на значки приложений ao).
Как вы, наверное, догадались, это вызывается из Cygwin, поэтому иногда ему нужно поиграться с путями, особенно когда каждый вызывает Windows исполняемые файлы (отсюда эти cygpath
вещи).
Ну, я не смог найти никаких конструктивных подходов, как просто позволить моему приложению Java, упакованному jpackage
(из обоих JDK-14/1 5 советников безуспешно), чтобы иметь хороший ярлык после его установки. Кто-нибудь знает как это исправить? Заранее спасибо.