Statistics
| Revision:

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>