sbt-native-packager как добавить пользовательскую конфигурацию WiX в путь к классам

TLDR: подключаемый модуль jdkPackager не может найти мой пользовательский файл конфигурации WiX. Как я могу правильно добавить его в свой путь к классам, чтобы плагин мог его найти?

Я использую sbt 0.13.16 и sbt-native-packager 1.0.2.

Я использую плагин jdkPackager для создания msi. При запуске sbt jdkPackager:packageBin мой msi успешно создается и устанавливается. Что мне нужно, так это теперь использовать пользовательский файл конфигурации WiX, чтобы установить WiX upgradeCode и добавить элемент MajorUpgrade для обработки обновлений.

Вывод команды jdkPackager содержит следующую инструкцию:

Config files are saved to <MY_APP_DATA>\Local\Temp\fxbundler2011134430419607265\windows. Use them to customize package. Using default package resource [WiX config file] (add package/windows/my-app-name.wxs to the class path to customize)

Я сделал копию файла wxs по умолчанию, который был создан и добавлен в указанную выше временную папку, и отредактировал ее, чтобы она содержала элементы upgradeCode и MajorUpgrade.

Моя проблема: я пытался разместить этот файл во многих областях структуры моего проекта, чтобы добавить его в мой путь к классам, но упаковщик никогда не находит его и всегда выводит, что он использует файл конфигурации по умолчанию.

Некоторые места, которые я пробовал:

  • src/main/package/windows/имя-моего-приложения.wxs
  • src/main/deploy/package/windows/имя-моего-приложения.wxs
  • ./package/windows/имя-моего-приложения.wxs
  • src/main/resources/package/windows/имя-моего-приложения.wxs
  • и многие другие... подобные вариации, со структурой package/windows или без нее.

Я также попытался вручную добавить файл или родительский каталог в мой unmanagedClasspath в моем файле build.sbt. то есть:

unmanagedClasspath in Runtime += baseDirectory.value / "src/main/deploy/"

После упаковки я использовал sbt "show runtime:fullClasspath" для проверки того, что файл wxs и/или содержащий его каталог включены в мой путь к классам. Я также проверил каталог target/universal/stage, и файл конфигурации и структура каталогов копируются туда при включении в папку ресурсов. Вроде ничего не влияет.

Я использовал эти основные ресурсы:

Примечание: я открыт для решения этой проблемы другими способами. Я попытался добавить wixProductUpgradeId и wixProductId в свой build.sbt, но они, похоже, не используются для плагина jdkPackager. Я также пошел по пути использования плагина Windows, но, насколько я понял, исполняемый файл так и не был создан. Вместо этого msi просто попытался запустить (ошибочный) скрипт летучей мыши.

Буду признателен за любую помощь/опыт/совет. Спасибо!


person jenniferlee    schedule 22.11.2017    source источник
comment
Спасибо за очень подробный и мы исследовали вопрос. К сожалению, я не могу помочь вам в особенностях Wix, но я могу переписать людей, если вы откроете проблему в репозитории нативных упаковщиков ????   -  person Muki    schedule 25.11.2017