【问题标题】:How to install third party msi or exe or bin first and then when its done, start the main application?如何先安装第三方 msi 或 exe 或 bin,然后在完成后启动主应用程序?
【发布时间】:2011-01-19 17:41:05
【问题描述】:

这是问题所在,myapp.jar 可以正常运行。但它还有其他原生依赖项。

  • 有其他第三方库依赖,根据用户平台需要先安装在windows和linux/mac中。

  • 如何 第三方_第三方_will_it_install_or_just_download_only.exe 或者 第三方_第三方_will_it_install_or_just_download_only.bin

可以自动安装吗?它们本身也是独立的装置。

>     <?xml version="1.0" encoding="utf-8"?>
>     <jnlp spec="1.0+" codebase="http://localhost:8080/" 
> href="advance.jnlp" >
>     
>     
>       <information>
>         <title>Test</title>
>         <vendor>Testing</vendor>
>         <homepage href="http://localhost:8080/"/>
>         <description>Demo</description>
>         <offline-allowed/>
>       </information>
>       
>     
>       <security>
>         <all-permissions/>
>       </security>
>       
>     
>       <resources>
>         <property name="jnlp.packEnabled" value="true"/>
>         <jar href="myapp.jar" />
>       </resources>
>     
>       <resources os="Windows" arch="x86"> 
>     
>         <j2se version="1.5+"/>
>     
>         <jar href="third___party___will_it_install_or_just_download_only.exe"/>
>     
>       </resources>
>     
>       <resources os="Linux" arch="i386">
>         <j2se version="1.5+"/>
>         <jar href="third___party___will_it_install_or_just_download_only.bin"/>
>       </resources>
>       
>       <application-desc main-class="web.Application" />
>       
>     </jnlp>

【问题讨论】:

    标签: java installation jnlp izpack


    【解决方案1】:

    有一个演示here

    注意:安装程序的入口点必须是 .jar,因此如果要启动 .exe 或 .msi,必须在 .jar 中创建另一个进程

    【讨论】:

    • Ic,你的意思是第一次点击我可以检测到哪个操作系统,然后基于操作系统我必须提供我自己的包,它可以安装那些其他类型的 msi/exe 或 bin,然后最后启动我的应用。你的意思是另一个进程 izpack 吗?
    • 我见过的一些应用程序像 zip 文件一样使用,那么它只是一个下载吗?例如:
    • @Stackfan,要为您的操作系统选择合适的安装程序,您可以在扩展 JNLP 文件中使用 OS-specific resources。我不明白你说的 izpack 是什么意思。
    • 1) 如果它是 Windows,我需要先安装它:ylatuya.es/gstreamer-winbuild/doku.php?id=download 2) 如果它是 Mac,那么我需要先安装它:archive.itee.uq.edu.au/~davel/gstreamer 3) 当这些库完全完成时安装然后我的应用程序只能运行。所以要结合它们我应该使用 izPack 打包软件还是我已经可以使用任何其他 jnlp 方法?
    • @Stackfan,您可以将 exe 打包到一个 jar 中,然后当安装程序运行时,它可以将 exe 解压到 temp 目录并从那里启动它。您不需要任何第三方工具。
    【解决方案2】:

    如果安装程序只是简单地将本机添加到运行时类路径中,则不需要 ExtensionInstallerService。

    在这种情况下,只需将本机本身添加到每个操作系统的 Jar 文件的根目录中,并将对这些 Jar 的引用添加到资源部分(适合每个操作系统的分区)作为 nativelib 元素。


    @finnw 顺便说一句:EIS 演示的链接很好。不过我可能有偏见——我写的。 ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 2017-10-20
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      相关资源
      最近更新 更多