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

Install4j-OSX启动器出现问题

欧阳智志
2023-03-14

我们正在CentOS7上使用安装4j版本6.1.4(构建6320)。

我们为OSX构建了安装程序,安装程序类型为“MacOSX文件夹”。安装程序有一个启动器,用于启动自定义Java SystemTray应用程序。

在安装过程中,启动器按预期执行,并显示SystemTray应用程序。即使在安装过程完成之后,启动器仍然保留在应用程序文档中,并且没有关闭。在系统托盘应用程序关闭之前,此启动器不会从应用程序文档退出。

当机器断电时,启动器仍在运行,直到我们强制退出或关闭SystemTray应用程序。

有没有办法在安装完成后立即关闭启动程序?

---更新---

这个问题是针对OSX的。

启动器实际上是一个JavaApplication ationStub二进制文件,它运行基于Java的自定义SystemTray应用程序。

当我们尝试退出JavaApplicationStub应用程序(可在应用程序文档中找到)时,它不会退出,直到我们关闭SystemTray应用程序或强制退出它。

当我们终止JavaApplicationStub进程时,它也终止了SystemTray应用程序。

共有1个答案

乌璞瑜
2023-03-14

如果您没有进程的句柄,您可以使用WinProcessAPI来终止您知道可执行文件完整路径的进程:

for (WinProcesses.Info info : infos) {
     if (info.getModuleName().equals("full path to executable")) {
         WinProcesses.terminateProcesses(new int[] {info.getProcessId()});
         return true;
     }
}

在macOS上,有一个相应的MacProcess API:

for (MacProcesses.Info info : infos) {
     if (info.getModuleName().equals("full path to executable")) {
         MacProcesses.terminateProcesses(new int[] {info.getProcessId()});
         return true;
     }, false, 10000
}
 类似资料:
  • “必须有Java运行时环境或Java开发工具包才能运行Sprintoolsuite4。在搜索以下位置后,未找到Java虚拟机:C:\users\admin\desktop\sts-4.7.0.在当前路径中release\jre\bin\javaw.exejavaw.exe” 有人能帮忙吗?我试图寻找一个简单的解决方案,并在STS-4.7.0发布文件中创建了自己的“JRE”文件,并将Java“bin

  • 我的申请有问题。因为以前当我创建一个应用程序时,它是有效的,但现在,它向我显示了这个错误,我不知道为什么,我必须做些什么来修复它。 你有什么办法帮我吗?(这是一个reactJS应用程序)。 我检查了一些stackoverflow主题,但我检查的每个地方,都不是一个真正有效的答案。

  • 我已经在mac上安装了jprofiler 9(安装了以前的版本,但首先使用附带的un安装程序卸载了它们)。但是,它无法启动-崩溃报告为: 崩溃的线程:0 AppKit线程调度队列:com。苹果主Thread 异常类型:EXC_BAD_ACCESS(SIGABRT)异常代码:KERN_INVALID_ADDRESS0x0000000030353230 0x30353230附近的VM区域:-- 特定于

  • null 我得到的安装说明中有一部分是这样说的: 要在引导时启动mysqld,必须将support-files/mysql.server复制到系统的正确位置。 我在上找到了MySQL.server,我还可以通过使用所需的函数运行来启动、停止和检查MySQL的状态。然而,我不知道“正确的地方”是在我的系统上的什么地方,就像说明所说的那样。 我应该注意到,以下命令之一在引导后启动MySQL:

  • 上周,我已经很好地安装了我的nginx服务器,直到我注意到我收到了针对它的DOSS攻击。然后我注意到此时我的Nginx服务器无法启动。我尝试了所有其他方法,除了阅读没有帮助的文档之外,我不确定如何解决这个问题。 关于Nginx的文档 主nginx。conf似乎为空,由于某种原因,我无法保存到它。 root@ubuntu-vpc-do-moon:~# /etc/init.d/nginx状态●ngin