2011-01-19 64 views
0

这是问题所在,myapp.jar工程和运行。但它有其他本地依赖项。如何安装第三方MSI或EXE或箱,然后再对其做时,启动主应用程序?

  • 它还有其他第三方库的依赖关系,它们需要首先安装在windows和linux/mac中,具体取决于用户平台。

  • 如何 third_ _will_it_install_or_just_download_only.exe OR third_ _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> 

回答

2

有一个演示here

注:入口点安装者必须是一个.jar,所以如果你想启动一个.exe或.msi程序必须从内部的.jar

+0

IC,你的意思是先点击我可以检测到操作系统,然后基于OS我必须提供自己的包,它可以安装这些其他类型的MSI/EXE或箱,然后开始最后我的应用程序上。你的意思是另一个过程izpack? – YumYumYum 2011-01-19 19:55:10

1

创建另一个进程如果安装简单,做将本机添加到运行时类路径的效果,则不需要ExtensionInstallerService。

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


@finnw BTW:很好的链接到EIS演示。我可能会有偏见 - 我写了。 ;)

相关问题