sbt-native-packager如何将自定义WiX配置添加到类路径

时间:2017-11-22 15:17:53

标签: scala sbt windows-installer sbt-native-packager

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 /主/包/窗/我的应用内-name.wxs
  • 的src /主/部署/包/窗/我的应用内-name.wxs
  • ./包/窗/我的应用内-name.wxs
  • 的src /主/资源/包/窗/我的应用内-name.wxs
  • 以及更多......类似的变体,有或没有包/窗口结构。

我还尝试手动将文件或父目录添加到build.sbt中的unmanagedClasspath。即:

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

打包后,我使用sbt "show runtime:fullClasspath"来验证wxs文件和/或包含在我的类路径中的目录。我还检查了目标/通用/阶段目录,并在资源文件夹中包含配置文件和目录结构。似乎什么都没有效果。

我一直在使用这些主要资源:

旁注:我愿意以其他方式解决这个问题。我尝试将wixProductUpgradeId和wixProductId添加到我的build.sbt,但它们似乎没有用于jdkPackager插件。我也走了使用Windows插件的大道,但是,据我所知,从未创建过可执行文件。相反,msi只是试图运行一个(错误的)bat脚本。

我很感激任何帮助/经验/建议。谢谢!

0 个答案:

没有答案