svn-gvsig-desktop / tags / tmp_build / build / distribution / izpack_4.2.0 / doc / izpack / html / izpack-utils.html @ 26384
History | View | Annotate | Download (8.91 KB)
1 |
<?xml version="1.0" encoding="utf-8" ?>
|
---|---|
2 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
4 |
<head>
|
5 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
6 |
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> |
7 |
<title>IzPack utilities</title> |
8 |
<link rel="stylesheet" href="izpack.css" type="text/css" /> |
9 |
</head>
|
10 |
<body>
|
11 |
<div class="document" id="izpack-utilities"> |
12 |
<h1 class="title">IzPack utilities</h1> |
13 |
<p><a class="reference" href="index.html">Go back to the documentation index</a></p> |
14 |
<div class="contents topic"> |
15 |
<p class="topic-title first"><a id="contents" name="contents">Contents</a></p> |
16 |
<ul class="simple"> |
17 |
<li><a class="reference" href="#windows-executable-wrapper-izpack2exe" id="id8" name="id8">Windows executable wrapper (izpack2exe)</a><ul> |
18 |
<li><a class="reference" href="#description" id="id9" name="id9">Description</a></li> |
19 |
<li><a class="reference" href="#requirements" id="id10" name="id10">Requirements</a></li> |
20 |
<li><a class="reference" href="#usage" id="id11" name="id11">Usage</a></li> |
21 |
</ul>
|
22 |
</li>
|
23 |
<li><a class="reference" href="#mac-os-x-application-bundle-wrapper-izpack2app" id="id12" name="id12">Mac OS X Application bundle wrapper (izpack2app)</a><ul> |
24 |
<li><a class="reference" href="#id1" id="id13" name="id13">Description</a></li> |
25 |
<li><a class="reference" href="#id2" id="id14" name="id14">Requirements</a></li> |
26 |
<li><a class="reference" href="#id3" id="id15" name="id15">Usage</a></li> |
27 |
</ul>
|
28 |
</li>
|
29 |
<li><a class="reference" href="#java-web-start-jnlp-file-generator-izpack2jnlp" id="id16" name="id16">Java Web Start JNLP file generator (izpack2jnlp)</a><ul> |
30 |
<li><a class="reference" href="#id4" id="id17" name="id17">Description</a></li> |
31 |
<li><a class="reference" href="#id5" id="id18" name="id18">Requirements</a></li> |
32 |
<li><a class="reference" href="#id6" id="id19" name="id19">Usage</a></li> |
33 |
</ul>
|
34 |
</li>
|
35 |
</ul>
|
36 |
</div>
|
37 |
<p>The IzPack project includes a set of utilities that you may find useful.</p> |
38 |
<p>These projects live outside the regular IzPack installer Subversion repository. You can access it from <a class="reference" href="http://svn.berlios.de/svnroot/repos/izpack/izpack-utils/">http://svn.berlios.de/svnroot/repos/izpack/izpack-utils/</a> instead of <a class="reference" href="http://svn.berlios.de/svnroot/repos/izpack/izpack-src/">http://svn.berlios.de/svnroot/repos/izpack/izpack-src/</a> for IzPack itself.</p> |
39 |
<p>They will be shipped in the official IzPack releases under their own pack.</p> |
40 |
<div class="section"> |
41 |
<h1><a class="toc-backref" href="#id8" id="windows-executable-wrapper-izpack2exe" name="windows-executable-wrapper-izpack2exe">Windows executable wrapper (izpack2exe)</a></h1> |
42 |
<div class="section"> |
43 |
<h2><a class="toc-backref" href="#id9" id="description" name="description">Description</a></h2> |
44 |
<p>The 7-Zip project (see <a class="reference" href="http://www.7-zip.org/">http://www.7-zip.org/</a>) provides a so-called SFX for installers, i.e., an image that can be use to create self-extracting Windows executables. Once its content has been extracted, such a self-extracting executable can launch an executable or a file. In the later case, it is assumed that there exists an association between a file extension and a software component.</p> |
45 |
<p>7-Zip SFX for installers works as follows:</p> |
46 |
<ol class="arabic simple"> |
47 |
<li>an executable image is provided</li> |
48 |
<li>a configuration file has to be written, specifying among other things the executable or the file to be launched after the extraction phase</li> |
49 |
<li>a 7-Zip archive containing the files (including the executable of file to be launched)</li> |
50 |
<li>these files simply need to be concatenated to form a SFX Windows executable.</li> |
51 |
</ol>
|
52 |
<p>The IzPack Windows executable wrapper takes an IzPack-generated installer JAR file, and wraps it inside a Windows SFX executable. This has several advantages, among these two ones:</p> |
53 |
<ol class="arabic simple"> |
54 |
<li>some users may find it strange to have a JAR and not an executable</li> |
55 |
<li>by naming it with <em>setup</em> or <em>install</em>, Windows VISTA will perform a rights elevation whereas IzPack cannot enforce it when launched as a regular JAR.</li> |
56 |
</ol>
|
57 |
<p>And of course, you can ship a JAR and a Windows executable from the very same IzPack installer descriptor!</p> |
58 |
<p>We have customized the SFX image from the 7-Zip project as follows:</p> |
59 |
<ul class="simple"> |
60 |
<li>we have changed the icon</li> |
61 |
<li>we have customized some strings to mention that this is a customized version.</li> |
62 |
</ul>
|
63 |
<p>While the rest of the work is licensed under the Apache License version 2, the sole SFX module is licensed under the Lesser GNU General Public License version 2 or later as required by the 7-Zip project.</p> |
64 |
</div>
|
65 |
<div class="section"> |
66 |
<h2><a class="toc-backref" href="#id10" id="requirements" name="requirements">Requirements</a></h2> |
67 |
<p><strong>izpack2exe</strong> is written in Python. It depends on 7-Zip and optionnaly UPX, a tool that can compresses executables.</p> |
68 |
<p>In official IzPack releases, we provide this tool <em>batteries-included</em> on Windows, i.e., we will provide:</p> |
69 |
<ul class="simple"> |
70 |
<li><strong>izpack2exe</strong> as a Windows executable, so that you don't need to install Python, and</li> |
71 |
<li>7-Zip and UPX executables, so you don't have to download them.</li> |
72 |
</ul>
|
73 |
</div>
|
74 |
<div class="section"> |
75 |
<h2><a class="toc-backref" href="#id11" id="usage" name="usage">Usage</a></h2> |
76 |
<p>The usage is quite easy:</p> |
77 |
<pre class="literal-block"> |
78 |
usage: izpack2exe.py [options] |
79 |
|
80 |
options: |
81 |
-h, --help show this help message and exit |
82 |
--file=FILE The installer JAR file |
83 |
--output=OUTPUT The executable file |
84 |
--with-7z=P7Z Path to the 7-Zip executable |
85 |
--with-upx=UPX Path to the UPX executable |
86 |
--no-upx Do not use UPX to further compress the output |
87 |
</pre>
|
88 |
<p>A typical wrapping will be done like:</p> |
89 |
<pre class="literal-block"> |
90 |
izpack2exe --file=installer.jar |
91 |
</pre>
|
92 |
</div>
|
93 |
</div>
|
94 |
<div class="section"> |
95 |
<h1><a class="toc-backref" href="#id12" id="mac-os-x-application-bundle-wrapper-izpack2app" name="mac-os-x-application-bundle-wrapper-izpack2app">Mac OS X Application bundle wrapper (izpack2app)</a></h1> |
96 |
<div class="section"> |
97 |
<h2><a class="toc-backref" href="#id13" id="id1" name="id1">Description</a></h2> |
98 |
<p><strong>izpack2app</strong> is the Mac OS X brother of <strong>izpack2exe</strong>. It bundles a JAR installer inside an application bundle, so that your installer will look like a regular Mac OS X application.</p> |
99 |
<p>To do that, we started from the Mac OS X <em>Jar Bundler</em> tool that you can find under <em>/Developer/Java</em>. We bundled a Jar installer, then stripped it. Indeed, an application bundle is nothing else but a structured set of files and directories.</p> |
100 |
<p>What <strong>izpack2app</strong> does is simply:</p> |
101 |
<ol class="arabic simple"> |
102 |
<li>copy the bundle files structure,</li> |
103 |
<li>put your Jar at the good place, and</li> |
104 |
<li>edit the <em>Info.plist</em> to reference your Jar.</li> |
105 |
</ol>
|
106 |
</div>
|
107 |
<div class="section"> |
108 |
<h2><a class="toc-backref" href="#id14" id="id2" name="id2">Requirements</a></h2> |
109 |
<p><strong>izpack2app</strong> is written in Python. It does not require any third-party module to work. Python is bundled with Mac OS X and is mainstream on Linux and other Unix variants. We ship it as a Windows executable in the official IzPack releases (and of course also as a Python application!).</p> |
110 |
</div>
|
111 |
<div class="section"> |
112 |
<h2><a class="toc-backref" href="#id15" id="id3" name="id3">Usage</a></h2> |
113 |
<p>The usage is straightforward:</p> |
114 |
<pre class="literal-block"> |
115 |
izpack2app.py installer.jar Installer.app |
116 |
</pre>
|
117 |
<p>wraps <em>installer.jar</em> as <em>Installer.app</em></p> |
118 |
</div>
|
119 |
</div>
|
120 |
<div class="section"> |
121 |
<h1><a class="toc-backref" href="#id16" id="java-web-start-jnlp-file-generator-izpack2jnlp" name="java-web-start-jnlp-file-generator-izpack2jnlp">Java Web Start JNLP file generator (izpack2jnlp)</a></h1> |
122 |
<div class="section"> |
123 |
<h2><a class="toc-backref" href="#id17" id="id4" name="id4">Description</a></h2> |
124 |
<p><strong>izpack2jnlp</strong> is able to generate Java Web Start JNLP files so that IzPack-based installers can also be shipped via Java Web Start.</p> |
125 |
</div>
|
126 |
<div class="section"> |
127 |
<h2><a class="toc-backref" href="#id18" id="id5" name="id5">Requirements</a></h2> |
128 |
<p><strong>izpack2jnlp</strong> is written in Python and does not need third-party modules to work.</p> |
129 |
<p>Please note that it only generates JNLP files: <strong>you must sign your installer JAR</strong> before you actually upload them to a web server as <strong>Java Web Start refuses to launch unsigned JARs</strong>.</p> |
130 |
</div>
|
131 |
<div class="section"> |
132 |
<h2><a class="toc-backref" href="#id19" id="id6" name="id6">Usage</a></h2> |
133 |
<p>You need to pass a few arguments on the command-line, run:</p> |
134 |
<pre class="literal-block"> |
135 |
izpack2jnlp.py --help |
136 |
</pre>
|
137 |
<p>to see them.</p> |
138 |
<p><a class="reference" href="index.html">Go back to the documentation index</a></p> |
139 |
</div>
|
140 |
</div>
|
141 |
</div>
|
142 |
</body>
|
143 |
</html>
|