如何在卸载 Java 应用程序时删除数据库文件

Posted

技术标签:

【中文标题】如何在卸载 Java 应用程序时删除数据库文件【英文标题】:How to remove database files while performing uninstallation of Java application 【发布时间】:2016-04-22 15:53:24 【问题描述】:

我创建了一个小型 Java Swing 应用程序。在这个应用程序中,出于某种目的,我使用 H2 数据库创建了数据库文件。我在用户目录中创建了这些数据库,例如

jdbc:h2:~/mydb\clas-s-routine

现在,问题是,安装此应用程序后,当我想卸载它时,那些数据库文件仍然存在,“我的意思是数据库文件没有被删除”。现在我需要知道如何在卸载应用程序时删除这些数据库文件。

【问题讨论】:

如何安装或卸载?是否涉及安装程序包?命名它。如果没有:安装和卸载涉及什么? 我使用 Inno setup Compiler 来制作 Installer 文件。 那个工具没有删除选项吗? 据我所知,在卸载时没有删除其他文件的选项。它只会删除安装文件夹中的所有帮助文件和文件夹。 【参考方案1】:

如果这是一个本地 H2 文件,我会确保我的代码能够在它不存在时生成所需的 H2 数据库。完成此操作后,我将拥有一个重新启动功能,该功能会关闭所有数据库连接,然后关闭应用程序,但在此之前,它会在单独的线程中生成一个脚本或独立的 java jar 文件,该文件能够删除物理H2 数据库文件。

【讨论】:

以上是关于如何在卸载 Java 应用程序时删除数据库文件的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 怎样使制作的卸载程序不删除某些文件,比如access数据库文件

如何用Inno编译卸载时删除整个文件夹

如何删除sqlserver数据库

如何存储卸载后剩余的数据

卸载一个程序,在控制面板中删除时,提示“无法卸载,因为卸载所需的文件夹已经删除。”怎么办

INNO SETUP卸载时为啥不能强制删除安装目录