使用jpackage(Windows)指定Java程序安装路径及解决--dest权限报错
解决jpackage制作MSI时用户自定义安装路径的问题
首先你搞混了--dest参数的作用:这个参数是用来指定jpackage生成MSI安装包的输出目录,不是用户安装程序时的目标路径。你之前指定C:\或C:\Program Files报错,是因为当前用户没有直接写入这些系统目录的权限,这是正常的系统权限限制。
要让用户在安装时能自主选择程序存储路径,只需要给jpackage命令添加Windows专属参数:--win-dir-chooser。
修正后的命令示例
jpackage --type msi --app-version "2.0" --input . --dest . --main-jar .\FitnessGUI.jar --main-class Main --win-shortcut --win-menu --win-dir-chooser
补充说明
- 加上
--win-dir-chooser后,MSI安装界面会自动出现路径选择选项,用户可以自由修改安装目录。 - 默认情况下(不加这个参数),MSI会把程序安装到
%ProgramFiles%\[你的应用名称](如果没通过--name指定应用名,会自动用FitnessGUI作为名称)。 --dest参数建议保留为当前目录(.)或者你有权限的子目录(比如.\installer-output),用来存放生成的MSI文件,避免权限问题。
内容的提问来源于stack exchange,提问作者Rafael
相关产品推荐
相关产品推荐

