gpt4 book ai didi

nsis - 根据我的要求,我应该使用 NSIS 还是 jprofiler/install4j

转载 作者:行者123 更新时间:2023-12-04 17:12:14 32 4
gpt4 key购买 nike

我们有一个 Web 应用程序,我们需要它更容易为我们的客户部署。
全新安装的当前工作流程:

  • 确保机器上有 JRE(32 位或 64 位)
  • 安装 Tomcat(32 位或 64 位)
  • 在 Oracle 或 SQL Server 中创建数据库(我们为此提供 SQL 脚本)
  • 将一些值写入我们的设置表,例如主机名。 (可以让用户验证这些,但不希望用户必须点击它们。
  • 创建一个位于 Tomcat 下的连接属性文件(我们提供了一个迷你 JAR 应用程序来帮助解决这个问题)。
  • 我们有两个用于实际 Web 应用程序的 WAR 文件。这些可以拆分到两台机器上,但现在,让我们假设它们都在 Tomcat 下被转储。
  • 启动 Tomcat 以便它部署 WAR

  • 这对我们的用户来说是一个乏味的过程
    我想将它封装到一个安装程序中,并且一直在考虑在 NSIS 中这样做,它似乎有一个庞大的社区,但后来也偶然发现了 install4j,虽然它似乎不太为人所知,但它更特定于基于 Java 的应用程序。

    只是想从更有经验的用户那里获得一些关于平台最佳选择的反馈。

    我不想半途而废,然后意识到我选择了错误的安装程序平台。

    最佳答案

    免责声明:我公司开发install4j。

    首先,install4j 是一个商业工具,所以这与 NSIS 有很大的不同。其他主要区别是:

  • install4j 是适用于 Windows、Mac OS X 和所有 POSIX 兼容的 Linux 和 Unix 平台的多平台安装程序构建器。
  • install4j 的主要重点是安装基于 Java 的应用程序,例如,它处理启动器和服务的创建,并提供多种捆绑 JRE 的策略。 Java 应用程序所需的许多东西都是开箱即用的。
  • install4j 提供了自己的 IDE,专注于易用性
  • 脚本是用Java完成的。 IDE 提供了具有代码完成和错误分析功能的内置编辑器。操作、屏幕和表单组件具有广泛的“脚本属性”,允许您自定义安装程序的行为。

  • 对于 install4j,我可以满足您的单一要求:

    Ensure there is a JRE on machine (32 or 64bit)



    在媒体向导中,选择一个 JRE 包。如果选择“动态捆绑”选项,则只有在找不到合适的 JRE 时才会下载。

    enter image description here

    Install Tomcat (32 or 64bit)



    我建议简单地将现有 tomcat 安装的根目录添加到您的分发树中。

    至于服务,您可以使用 Tomcat 发行版中的 Tomcat 服务启动器,也可以在 install4j 中创建服务启动器。在这两种情况下,您都可以使用“安装服务”操作来安装服务。

    生成的服务的优点是更新安装程序知道它们正在运行并在安装任何新文件之前自动关闭它们。

    enter image description here

    Create a database in Oracle or SQL Server (we provide SQL scripts for this)



    使用“运行可执行文件或批处理文件”操作来运行这些脚本。

    Write some values into our settings table, like hostname. (Can get user to verify these, but dont want user to have to tap them in.



    任何类型的用户交互都是通过可配置的表单完成的。使用几个文本字段表单组件,您可以查询您的设置。

    这也可以在控制台安装程序中透明地工作,并且自动生成的响应文件将允许您基于 GUI 安装程序的单次执行以无人参与模式自动安装。

    enter image description here

    Create a connections properties file (we provide a mini JAR app to help with this) that will sit under Tomcat.



    如果您已经有一个执行此操作的 JAR 文件,只需将其添加到安装程序->自定义代码和资源下,并向安装程序添加“运行脚本”操作以使用 JAR 文件中的类。

    来自已保存到安装程序变量的表单组件的任何用户输入都可以通过调用访问
    context.getVariable("greetingOption")

    在“运行脚本”操作(或 install4j 中的任何其他脚本)的脚本属性中。

    We have two WAR files for our actual web application. These can be split across two machines, but for now, lets assume they both get dumped under Tomcat.



    如果您只是将 Tomcat 目录结构添加到您的分发树中,您可以预先部署这些 WAR 文件。否则,您可以使用“复制文件”操作将 WAR 文件放置在任何位置。

    Start Tomcat so that it deploys the WARs



    这是通过“启动服务”操作完成的。

    关于nsis - 根据我的要求,我应该使用 NSIS 还是 jprofiler/install4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528932/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com