如何制作izpack安装程序.jar文件的.exe文件

问题描述

|| 我使用izpack进行安装。它在.jar文件中。我想在.exe文件中进行分发。我如何轻松地做到这一点?     

解决方法

Andrew总是喜欢从一开始就推广Java Web Start技术:)这是一个很好的技术。但是,您还需要先学习技术部分,然后才能开始进行修改。 否则,您将剩下旧式EXE分发模型,如下所示... 我还是不熟悉Izpack。但是,有类似的单独工具可以实现izPack可以完成的合并结果。我最喜欢的EXE创建和安装程序工具是从Eclipse IDE运行的Launch4J + InnoSetup + Ant任务。 Launch4J是Java应用启动器。 InnoSetup是安装创建者 Ant任务可帮助开发人员进行构建和集成步骤。 如何使用Launch4J + InnoSetup + Ant构建任务+ Eclipse IDE: http://www.eteks.com/tips/tipCreationExe.html(法语)-使用Google翻译 当您考虑为Java应用程序分发基于桌面的Windows EXE文件时,还需要考虑目标环境。以Windows XP或更低版本为目标时很好。但是,当您想使其在Windows Vista和Windows 7下正常运行时,它将成为一个主要的挫败感。 最好不要存储需要保存到Windows Vista / Windows 7下的“ 0”中的应用程序配置,临时文件等,因为它现在变成了只读文件夹。为此,请使用用户的配置文件文件夹。 当然,您可以通过使用“以管理员身份运行”运行应用程序来绕过它,但是它涉及以下设置:   Windows Vista和Windows 7具有   引入了严格的用户访问策略   通过用户访问控制(UAC)   提示功能。该软件   安装必须由用户完成   管理员组下的帐户。   默认Windows”下的所有文件夹   系统
Program Files
被设置为   只读,可能会导致问题   到非管理员用户帐户   尝试在其中保存某些内容时。要使用   非管理员用户帐户,   应用程序属性必须设置为   使能
Run as administrator
。一种   快捷方式应在   桌面,并设置为启用
Run as
  administrator
。 如何解决以下问题: (1)Windows Vista / Windows 7中的“ 4” Java支持问题需要以下解决方案: Launch4j,NSIS和重复的固定Windows 7任务栏图标 (2)Java应用程序中的“ 5”问题需要以下解决方案: 请求Windows Vista上Java应用程序的管理员特权 除此之外,在64位Windows版本下运行时,您还需要选中ѭ0。 32位Windows和64位Windows之间的路径不同。在64位Windows下,所有32位应用程序都将进入ѭ7。 因此,在将硬编码的文件路径值用于安装在
%ProgramFiles%
中的Java应用程序的文件夹和子文件夹时,请务必小心。最好在下面的ISS文件片段中设置一个可由InnoSetup生成的ѭ9。使用Java
System.getenv(\"MYAPP_HOME\")
检索变量:
[Registry]
Root: HKLM; Subkey: \"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\"; Flags: uninsdeletevalue; ValueType: string; ValueName: \"MYAPP_HOME\"; ValueData: \"{app}\\\"

[Tasks]
Name: modifypath; Description:\"Add application directory to your environmental path\"; Flags: unchecked

[Run]
Filename: \"{app}\\MyApp.EXE\"; Parameters: \"\"\"{app}\"\"\\\"; WorkingDir: \"{app}\\\"; Description: \"Run MyApp\"; Flags: postinstall nowait skipifsilent

[Code]

const
    ModPathName = \'modifypath\';
    ModPathType = \'system\';

function ModPathDir(): TArrayOfString;
begin
    setArrayLength(Result,1)
    Result[0] := ExpandConstant(\'{app}\');
end;
#include \"modpath.iss\"
尝试并享受!     ,如果是app。有一个GUI,您可以从网站上分发它,Java Web Start提供了最佳的解决方案。 JWS适用于所有支持Java的平台,并且受Oracle支持。 (我听说.Net适用于“仅Windows”解决方案。)     ,winrun4j非常易于使用,它的唯一问题是,除非您使用嵌入式JVM进行分发,否则可能必须同时提供64位和32位下载。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...