当前位置: 首页 > 知识库问答 >
问题:

使用JPackage或Java如何删除使用PreJPackage安装程序创建的文件

徐皓君
2023-03-14

以前我使用Izpack安装我的Java应用程序,当用户想要安装新版本时,他们只需重新安装到相同的位置(c“/Program files/jthink/jaikoz”),这将用较新的文件替换较旧的文件,用户不需要先卸载旧版本。

我现在已经为应用程序的最新版本构建了一个使用JPackage(现在是Java,JDK14的一部分)的安装程序,这将继续安装到相同的位置。问题是因为JPackage强制了一个新的文件结构(应用程序和运行时子目录),我的文件不再覆盖我现有的文件,所以现在我把两个安装都搞混了。

所以我在最新版本中添加了一些代码,以便在启动应用程序时删除旧的不再需要的文件。但问题是这失败了,因为我没有删除这些文件的权限,我想这是因为他们安装了安装程序(我不确定)

如果我以Administrator的身份运行,那么代码会毫无问题地删除文件,但是客户以Administrator的身份运行并不常见,所以这没有很大的帮助。

我有什么选择?

共有1个答案

年风华
2023-03-14

看来您必须向jpackage传递以下参数来标识同一应用程序的安装程序:--win-upgrade-uuid“your_uuid_string”。就像Java/Oracle文档一样,如果他们尝试的话,他们对此再神秘不过了。

我还发现,我也必须增加版本号,否则安装程序将快速闪存,只是挂在后台,什么也不做(直到您重新启动或结束任务):--app-version 1.0.1

您可以在此处生成UUID:https://www.uuidgenerator.net/

 类似资料:
  • 想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。 我正在开发一个javafx应用程序。此应用程序与设备通信,因此设备JAR不是模块化的,它们附带一些添加到开发中的dll文件。现在,它在Netbeans 12.6上运行得很好,但在我使用jdk-17 jpackage创建安装程序时就不是了。我相信我遗漏了一些东西,但由于我对这个jpackage还很陌生,所以我不知道如何解决它。以下是

  • 我使用jpack打包了我的java应用程序。当我使用打包的安装程序安装它时,安装后的目录始终是

  • 问题内容: 我正在将中型Java应用程序的构建从Ant迁移到Maven。我可以轻松迁移基本的构建内容,但是我也想从Maven构建中创建安装程序包。最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该先看看Maven的支持。 我需要为不同的平台创建几个不同的安装程序: Windows 32/64位 Linux 32/64位 MacOS 32/64位 现在对于Linux,我认为我们只有一

  • 我试图使用为我的Java应用程序创建一个安装程序。我在Windows 10上使用OpenJDK 15.0.1。我可以建立一个安装程序使用 这基本上是可行的,但是安装的应用程序缺少资源文件。根据文档,我应该能够构建一个应用程序映像,将我的资源文件添加到映像中,然后根据修改后的应用程序映像构建安装程序,如下所示 这构建了MyAppImage,但是当我运行jpack--app-Image时,它会崩溃。输

  • 我需要帮助一个问题,我遇到了包装我的程序与JPackage。该程序是在Eclipse中创建的非模块化JavaFX应用程序。在Eclipse中,应用程序可以精确地编译和运行。但当我使用命令提示符进行编译和运行时,编译工作了,但应用程序不再运行了。我得到以下错误消息: javac--module-path%path_to_fx%--add-modules javafx.controls,javafx.

  • 问题内容: 我已经使用docker.com上的安装教程安装了docker 。现在,我需要将其完全删除。,,,或任何其他组合不工作,因为我没有使用apt- get安装它。有什么方法可以比手动删除Docker更快地删除它? (如果有任何区别,我正在使用Ubuntu 14.04)。 问题答案: 在卸载步骤中提到: 注意:chasmani添加了注释: 我还必须添加,并在前两行中完全删除 它增加了: 上面的