<winConfig>
<!-- general properties -->
<icoFile>path/to/icon.ico</icoFile>
<generateSetup>true|false</generateSetup>
<generateMsi>true|false</generateMsi>
<generateMsm>true|false</generateMsm>
<!-- exe creation properties -->
<headerType>gui</headerType>
<wrapJar>true|false</wrapJar>
<companyName>${organizationName}</companyName>
<fileVersion>1.0.0.0</fileVersion>
<txtFileVersion>${version}</txtFileVersion>
<productVersion>1.0.0.0</productVersion>
<txtProductVersion>${version}</txtProductVersion>
<fileDescription>${description}</fileDescription>
<copyright>${organizationName}</copyright>
<productName>${name}</productName>
<internalName>${name}</internalName>
<originalFilename>${name}.exe</originalFilename>
<!-- choose EXE creation tool -->
<exeCreationTool>launch4j|winrun4j</exeCreationTool>
<vmLocation>relative/path/to/jvm.dll</vmLocation>
<!-- setup generation properties -->
<setupMode>installForAllUsers|installForCurrentUser|askTheUser</setupMode>
<setupLanguages>
<english>compiler:Default.isl</english>
<german>compiler:Languages\German.isl</german>
<spanish>compiler:Languages\Spanish.isl,${project.basedir}\languages\Custom_es.isl</english>
[...]
</setupLanguages>
<disableDirPage>true|false</disableDirPage>
<disableProgramGroupPage>true|false</disableProgramGroupPage>
<disableFinishedPage>true|false</disableFinishedPage>
<disableRunAfterInstall>true|false</disableRunAfterInstall>
<disableWelcomePage>true|false</disableWelcomePage>
<createDesktopIconTask>true|false</createDesktopIconTask>
<removeOldLibs>true|false</removeOldLibs>
<!-- signing properties -->
<signing>
<keystore>path/to/keystore</keystore>
<storepass>password</storepass>
<alias>cert_alias</alias>
[...]
</signing>
<!-- windows registry entries added during installation -->
<registry>
<entries>
<entry>
<key>root:path/to/my/key</key>
<valueName>name</valueName>
<valueType>type</valueType>
<valueData>data</valueData>
</entry>
[...]
</entries>
</registry>
</winConfig>
Property | Mandatory | Default value | Description |
---|---|---|---|
icoFile |
❌ | null |
Icon file. If null , takes the default one. |
generateSetup |
❌ | true |
Generates Setup installer. |
generateMsi |
❌ | true |
Generates MSI installer. |
generateMsm |
❌ | false |
Generates MSI merge module. |
Property | Mandatory | Default value | Description |
---|---|---|---|
headerType |
❌ | "gui" |
EXE header type: console or gui . |
wrapJar |
❌ | true |
Wrap JAR file in native EXE. |
companyName |
❌ | ${organizationName} |
EXE company name. |
fileVersion |
❌ | "1.0.0.0" |
EXE file version. |
txtFileVersion |
❌ | ${version} |
EXE txt file version. |
productVersion |
❌ | "1.0.0.0" |
EXE product version. |
txtProductVersion |
❌ | ${version} |
EXE txt product version. |
fileDescription |
❌ | ${description} |
EXE file description. |
copyright |
❌ | ${organizationName} |
EXE copyright. |
productName |
❌ | ${name} |
EXE product name. |
internalName |
❌ | ${name} |
EXE internal name. |
originalFilename |
❌ | ${name}.exe |
EXE original filename. |
trademark |
❌ | EXE trademark. | |
language |
❌ | EXE language. | |
exeCreationTool |
❌ | launch4j |
EXE creation tool: launch4j or winrun4j . |
vmLocation |
❌ | jvm.dll path relative to the bundled JRE. Only for WinRun4J. *1 |
*1: If a JRE is bundled and
vmLocation
is not specified, it usesbin\client\jvm.dll
orbin\server\jvm.dll
as VM location by default.
Property | Mandatory | Default value | Description |
---|---|---|---|
setupMode |
❌ | installForAllUsers |
Setup installation mode: require administrative privileges or not. * |
setupLanguages |
❌ | <english>compiler:Default.isl</english><spanish>compiler:Languages\Spanish.isl</spanish> |
Map with setup languages. |
disableDirPage |
❌ | true |
If this is set to true , Setup will not show the Select Destination Location wizard page. |
disableProgramGroupPage |
❌ | true |
If this is set to true , Setup will not show the Select Start Menu Folder wizard page. |
disableFinishedPage |
❌ | true |
If this is set to true , Setup will not show the Setup Completed wizard page. |
disableRunAfterInstall |
❌ | true |
If this is set to true , Setup will not launch the application after install. |
disableWelcomePage |
❌ | true |
If this is set to true , Setup will not show Welcome Page. |
createDesktopIconTask |
❌ | true |
If this is set to true , Setup will ask for desktop icon creation. |
removeOldLibs |
❌ | false |
If there's a previous installation, removes old libs folder before install. |
Property winConfig.setupMode
can be set with 3 possible values:
- installForAllUsers (default value): installs the app for the all users in
%ProgramFiles%
folder (behaviour can be changed when running setup installer from command-line with/currentuser
argument). - installForCurrentUser: installs the app for the current user in
%USERPROFILE%\AppData\Local\Programs
folder (behaviour can be changed when running setup installer from command-line with/allusers
argument). - askTheUser: asks to the final user if the app has to be installed for all users or only for the current user.
Mandatory | Default value | Description | |
---|---|---|---|
storetype |
❌ | JKS |
The type of the keystore: JKS (Java keystore), PKCS12 (.p12 or .pfx files), PKCS11. |
keystore |
✔️, unless certfile and keyfile are specified. |
The keystore file, or the SunPKCS11 configuration file. | |
certfile |
✔️, unless keystore is specified. |
The file containing the PKCS#7 certificate chain (.p7b or .spc files). |
|
keyfile |
✔️, unless keystore is specified. |
The file containing the private key. PEM and PVK files are supported. |
|
storepass |
❌ | The password to open the keystore. | |
alias |
✔️, if keystore is specified and more than one alias exist. |
The alias of the certificate used for signing in the keystore. Java code signing certificates can be used for Authenticode signatures. | |
keypass |
❌ | The password of the private key. When using a keystore, this parameter can be omitted if the keystore shares the same password. | |
alg |
❌ | SHA-256 |
The digest algorithm (SHA-1 , SHA-256 , SHA-384 or SHA-512 ). |
<signing>
<keystore>c:\Users\fvarrui\keystore.jks</keystore>
<storepass>123456</storepass>
<alias>fvarrui</alias>
</signing>
This property allows to specify Windows Registry values to be added during installation. These values will be removed during uninstallation.
Structure of an entry:
Mandatory | Default value | Description | |
---|---|---|---|
key |
✔️ | Key path, composed by root (HKCU , HKLM , HKU , HKCC , HKCR ), ":" and subkey. |
|
valueName |
✔️ | Value name. | |
valueType |
❌ | REG_SZ |
Value type: REG_SZ , REG_EXPAND_SZ , REG_MULTI_SZ , REG_DWORD , REG_QWORD , REG_BINARY . |
valueData |
❌ | "" |
Data to be stored. |
Next configuration will add a value named greeting
in MyApp
key, under HKEY_CURRENT_USER (HKCU)
root, of type REG_SZ (string)
, with value hello
:
<registry>
<entries>
<entry>
<key>HKCU:MyApp</key>
<valueName>greeting</valueName>
<valueType>REG_SZ</valueType>
<valueData>hello</valueData>
</entry>
</entries>
</registry>