1

我有两个使用 install4j 构建的 Windows 安装程序,我执行以下步骤:

  1. 安装版本 X
  2. 卸载版本 X
  3. 安装版本 x + 1

结果是以下消息:未完成先前程序的安装/删除。您需要重新启动计算机才能完成安装。

我知道这个消息的原因是卸载步骤添加了注册表项HKEY_CURRENT_USER\SOFTWARE\ej-technologies\install4j\RebootCheckFile

问题是为什么卸载步骤添加了这个注册表项?

4

1 回答 1

1

最可能的原因是无法删除文件,因为它仍在被正在运行的可执行文件使用。

当卸载程序最后仍处于打开状态时,在 %TEMP% 目录中搜索日志文件(名称以“i4jlog”开头的文件)并检查“UninstallFilesAction”的输出。


或者,安装程序可能无法覆盖文件,因为它正在使用中。检查安装程序的日志文件是否出现“延迟安装”。

您可以通过传递 VM 参数来禁止重新启动

-Dinstall4j.suppressReboot=true

到安装程序。您可以在安装程序的“VM 参数”属性中将其设置为固定的 VM 参数。

于 2018-05-09T21:52:21.433 回答