包装并使用安装程序后,Windows上的可执行文件未退出

有时24

我正在尝试从jar文件创建Windows安装程序。一切都成功到了最后阶段。

我使用launch4j将jar文件包装为exe文件,然后使用Advanced-Installer和Inno-Setup来创建MSI文件夹。它们都可以工作,但是,在某些计算机上,提取的exe文件不会关闭,只能使用任务管理器将其杀死。

在我的Java文件中,我处理退出过程(最终使用System.exit(0)),因为我想询问用户是否希望在退出之前保存文件。

这是我的代码:

exitListener = new ExitListener();
    theMainFrame.addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            ProgramLog.logException(Level.SEVERE, "Problem...WindowsClosing method", new Exception());
            exitListener.actionPerformed(null);
        }
    });

记录器在jar中时工作正常(创建文件并给出异常),在exe中时工作正常,但是一旦我将其包装到MSI中,一旦打开它就不会关闭,并且看不到任何记录在日志中的信息,这意味着它没有到达windowClosing活动。

我已经在两台Windows计算机上单独尝试了exe文件,并且工作正常(保存并退出);但是一旦从安装程序中提取出来,它就不会退出。

任何建议表示赞赏。

编辑

因此,感谢MadProgrammer,我才发现问题出在记录器本身。将编辑我的代码并根据其工作方式进行更新

有时24

解决方案

因此,感谢MadProgrammer,我发现问题出在Logger的保存位置上,而不是某些Windows计算机没有退出可执行文件。我已将位置从ProgramFiles文件夹更改为{user.home} \ AppData \ Local {Program company} {Program name}

我以前为记录器编写的代码是

   public ProgramLog() {

      try {
         FileHandler handler = new FileHandler(logFile);
         logger = Logger.getLogger("com.program.msgs");
         logger.addHandler(handler);

      } catch (Exception e) {
      }
   }

我已将其编辑为

public ProgramLog() {

    try {
        String path = System.getProperty("user.home") + File.separator
                + "AppData" + File.separator + "Local" + File.separator
                + "CompanyName" + File.separator + "CompanyProduct" + File.separator;

        File f = new File(path);
        f.mkdirs();

        FileHandler handler = new FileHandler(path + logFile);
        logger = Logger.getLogger("com.program.msgs");
        logger.addHandler(handler);

    } catch (Exception e) {
    }
}

现在,我的可执行文件在将其包装到MSI中之后即可正常工作!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

启动新的可执行文件后C ++程序未退出

来自分类Dev

使用 pip 安装 Windows 可执行文件

来自分类Dev

可执行文件包装程序,从PATH的末尾运行原始可执行文件

来自分类Dev

生成安装程序可执行文件后添加文件

来自分类Dev

通过JSPM安装后运行可执行文件

来自分类Dev

安装的程序可执行文件从错误的位置运行

来自分类Dev

MSI 安装程序的可执行文件

来自分类Dev

仅在安装的可执行文件上,Windows上从Electron进程进行分叉失败

来自分类Dev

Windows:从Store安装的应用程序的可执行文件在哪里?

来自分类Dev

在Ubuntu上编译C文件并在Windows上使用可执行文件

来自分类Dev

使用nsis安装可执行文件的特权

来自分类Dev

如何安装可执行文件

来自分类Dev

为什么退出应用程序后,SYSTEM会继续锁定可执行文件句柄?

来自分类Dev

我应该使用调试构建可执行文件还是发布构建可执行文件来安装 Windows 服务?

来自分类Dev

我可以在Mac上生成可在Windows上使用的python可执行文件吗?

来自分类Dev

我可以在Mac上生成可在Windows上使用的python可执行文件吗?

来自分类Dev

安装后应用程序列为已安装,但未找到可执行文件

来自分类Dev

使用NASM编译Windows可执行文件

来自分类Dev

使用NASM编译Windows可执行文件

来自分类Dev

Eclipse CDT调试不是可执行文件格式:安装草莓程序后无法识别文件格式

来自分类Dev

如何在Windows上使用Sys.which查找正确的可执行文件

来自分类Dev

如何在Ubuntu上使用PyInstaller创建Windows可执行文件?

来自分类Dev

如何在Ubuntu上使用PyInstaller创建Windows可执行文件?

来自分类Dev

使用 CodeBlocks + GCC 构建的可执行文件可以在任何 Windows 上运行吗?

来自分类Dev

Git:使用可执行文件

来自分类Dev

Git:使用可执行文件

来自分类Dev

在Linux上为Kivy游戏的每个受支持平台创建安装程序或可执行文件

来自分类Dev

退出时删除应用程序可执行文件

来自分类Dev

Install4j:安装后可以删除安装可执行文件吗?

Related 相关文章

  1. 1

    启动新的可执行文件后C ++程序未退出

  2. 2

    使用 pip 安装 Windows 可执行文件

  3. 3

    可执行文件包装程序,从PATH的末尾运行原始可执行文件

  4. 4

    生成安装程序可执行文件后添加文件

  5. 5

    通过JSPM安装后运行可执行文件

  6. 6

    安装的程序可执行文件从错误的位置运行

  7. 7

    MSI 安装程序的可执行文件

  8. 8

    仅在安装的可执行文件上,Windows上从Electron进程进行分叉失败

  9. 9

    Windows:从Store安装的应用程序的可执行文件在哪里?

  10. 10

    在Ubuntu上编译C文件并在Windows上使用可执行文件

  11. 11

    使用nsis安装可执行文件的特权

  12. 12

    如何安装可执行文件

  13. 13

    为什么退出应用程序后,SYSTEM会继续锁定可执行文件句柄?

  14. 14

    我应该使用调试构建可执行文件还是发布构建可执行文件来安装 Windows 服务?

  15. 15

    我可以在Mac上生成可在Windows上使用的python可执行文件吗?

  16. 16

    我可以在Mac上生成可在Windows上使用的python可执行文件吗?

  17. 17

    安装后应用程序列为已安装,但未找到可执行文件

  18. 18

    使用NASM编译Windows可执行文件

  19. 19

    使用NASM编译Windows可执行文件

  20. 20

    Eclipse CDT调试不是可执行文件格式:安装草莓程序后无法识别文件格式

  21. 21

    如何在Windows上使用Sys.which查找正确的可执行文件

  22. 22

    如何在Ubuntu上使用PyInstaller创建Windows可执行文件?

  23. 23

    如何在Ubuntu上使用PyInstaller创建Windows可执行文件?

  24. 24

    使用 CodeBlocks + GCC 构建的可执行文件可以在任何 Windows 上运行吗?

  25. 25

    Git:使用可执行文件

  26. 26

    Git:使用可执行文件

  27. 27

    在Linux上为Kivy游戏的每个受支持平台创建安装程序或可执行文件

  28. 28

    退出时删除应用程序可执行文件

  29. 29

    Install4j:安装后可以删除安装可执行文件吗?

热门标签

归档