, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/NOTICE b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/NOTICE
new file mode 100644
index 00000000..c0c494d6
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/NOTICE
@@ -0,0 +1,7 @@
+IzPack notice
+-------------
+
+ This product includes software developed by Julien Ponge and others
+ for the IzPack project:
+ - http://izpack.org/
+ - http://izpack.codehaus.org/
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/app.ico b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/app.ico
new file mode 100644
index 00000000..38ab95af
Binary files /dev/null and b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/app.ico differ
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/exe.ico b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/exe.ico
new file mode 100644
index 00000000..0ab0ce35
Binary files /dev/null and b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/exe.ico differ
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/izpack2exe.py b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/izpack2exe.py
new file mode 100644
index 00000000..1bf86da1
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/izpack2exe.py
@@ -0,0 +1,136 @@
+#!/usr/bin/env python
+# ........................................................................... #
+#
+# IzPack - Copyright 2007, 2010 Julien Ponge, All Rights Reserved.
+#
+# http://izpack.org/
+# http://izpack.codehaus.org/
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ........................................................................... #
+
+import os
+import sys
+import subprocess
+import shutil
+import optparse
+
+def parse_options():
+ parser = optparse.OptionParser()
+ parser.add_option("--file", action="append", dest="file",
+ help="The installer JAR file / files")
+ parser.add_option("--output", action="store", dest="output",
+ default="setup.exe",
+ help="The executable file")
+ parser.add_option("--with-jdk", action="store", dest="with_jre", default="",
+ help="The bundled JRE to run the exe independently of the system resources. ") # choosen JDK that may came with the package
+ parser.add_option("--with-7z", action="store", dest="p7z",
+ default="7za",
+ help="Path to the 7-Zip executable")
+ parser.add_option("--with-upx", action="store", dest="upx",
+ default="upx",
+ help="Path to the UPX executable")
+ parser.add_option("--no-upx", action="store_true", dest="no_upx",
+ default=False,
+ help="Do not use UPX to further compress the output")
+ parser.add_option("--launch-file", action="store", dest="launch",
+ default="",
+ help="File to launch after extract")
+ parser.add_option("--launch-args", action="store", dest="launchargs",
+ default="",
+ help="Arguments for file to launch after extract")
+ parser.add_option("--name", action="store", dest="name",
+ default="IzPack",
+ help="Name of package for title bar and prompts")
+ parser.add_option("--prompt", action="store_true", dest="prompt",
+ default=False,
+ help="Prompt the user before extraction?")
+ (options, args) = parser.parse_args()
+ if (options.file is None):
+ parser.error("no installer file has been given")
+ return options
+
+def create_exe(settings):
+ if len(settings.file) > 0:
+ filename = os.path.basename(settings.file[0])
+ else:
+ filename = ''
+
+ if len(settings.with_jre) > 0:
+ jdk = os.path.basename(settings.with_jre) #inside the jdk/jre that was given, there must be a bin/java.exe file
+ jdk = jdk + "\\bin\\javaw.exe"
+ print(jdk)
+ settings.file.append(settings.with_jre) #jdk/jre is going in the package
+ else:
+ jdk = 'javaw' #java is added somehow to the PATH
+
+ if settings.p7z == '7za':
+ p7z = os.path.join(os.path.dirname(sys.argv[0]), '7za')
+ else:
+ p7z = settings.p7z
+
+ use_shell = sys.platform != 'win32'
+
+ if (os.access('installer.7z', os.F_OK)):
+ os.remove('installer.7z')
+ files = '" "'.join(settings.file)
+ p7zcmd = '"%s" a -mmt -t7z -mx=9 installer.7z "%s"' % (p7z, files)
+ subprocess.call(p7zcmd, shell=use_shell)
+
+ config = open('config.txt', 'w')
+ config.write(';!@Install@!UTF-8!\n')
+ config.write('Title="%s"\n' % settings.name)
+ if settings.prompt:
+ config.write('BeginPrompt="Install %s?"\n' % settings.name)
+ config.write('Progress="yes"\n')
+
+ if settings.launch == '':
+ config.write('ExecuteFile="' + jdk +'"\n') # who is going to run my installer.jar?
+ config.write('ExecuteParameters="-jar \\\"%s\\\"' % filename)
+ if settings.launchargs != '':
+ config.write(' %s"\n' % settings.launchargs)
+ else:
+ config.write('"\n')
+ else:
+ config.write('ExecuteFile="%s"\n' % settings.launch)
+ if settings.launchargs != '':
+ config.write('ExecuteParameters="%s"\n' % settings.launchargs)
+
+ config.write(';!@InstallEnd@!\n')
+ config.close()
+
+ sfx = os.path.join(os.path.dirname(p7z), '7zS.sfx')
+ files = [sfx, 'config.txt', 'installer.7z']
+
+ output = open(settings.output, 'wb')
+ for f in files:
+ in_file = open(f, 'rb')
+ shutil.copyfileobj(in_file, output, 2048)
+ in_file.close()
+ output.close()
+
+ if (not settings.no_upx):
+ if settings.upx == 'upx':
+ upx = os.path.join(os.path.dirname(sys.argv[0]), 'upx')
+ else:
+ upx = settings.upx
+ upx = '"%s" --ultra-brute "%s"' % (upx, settings.output)
+ subprocess.call(upx, shell=use_shell)
+
+ os.remove('config.txt')
+ os.remove('installer.7z')
+
+def main():
+ create_exe(parse_options())
+
+if __name__ == "__main__":
+ main()
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/setup.py b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/setup.py
new file mode 100644
index 00000000..a2a5035f
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/setup.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# ........................................................................... #
+#
+# IzPack - Copyright 2007, 2008 Julien Ponge, All Rights Reserved.
+#
+# http://izpack.org/
+# http://izpack.codehaus.org/
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ........................................................................... #
+
+from distutils.core import setup
+import py2exe
+
+setup(
+ console = [{
+ 'script': 'izpack2exe.py',
+ 'icon_resources': [(0, 'app.ico')]
+ }],
+ script_args=['py2exe', '--bundle-files', '1']
+)
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/upx b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/upx
new file mode 100644
index 00000000..2a0b3185
Binary files /dev/null and b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/upx differ
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/upx.exe b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/upx.exe
new file mode 100644
index 00000000..6266213c
Binary files /dev/null and b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2exe/upx.exe differ
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/LICENSE.txt b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/NOTICE b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/NOTICE
new file mode 100644
index 00000000..c0c494d6
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/NOTICE
@@ -0,0 +1,7 @@
+IzPack notice
+-------------
+
+ This product includes software developed by Julien Ponge and others
+ for the IzPack project:
+ - http://izpack.org/
+ - http://izpack.codehaus.org/
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/app.ico b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/app.ico
new file mode 100644
index 00000000..38ab95af
Binary files /dev/null and b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/app.ico differ
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/izpack2jnlp.py b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/izpack2jnlp.py
new file mode 100644
index 00000000..81e89653
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/izpack2jnlp.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python
+# ........................................................................... #
+#
+# IzPack - Copyright 2008 Julien Ponge, All Rights Reserved.
+#
+# http://izpack.org/
+# http://izpack.codehaus.org/
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ........................................................................... #
+
+JNLP_TEMPLATE = """
+
+
+
+ $title
+ $vendor
+
+ $description
+
+
+
+
+
+
+
+
+
+
+
+"""
+
+def parse_options():
+ from optparse import OptionParser
+ parser = OptionParser()
+
+ parser.add_option("--codebase",
+ action="store",
+ dest="codebase",
+ help="URL to the downloads")
+ parser.add_option("--jnlp",
+ action="store",
+ dest="jnlp",
+ help="Name of the JNLP file, relative to --codebase")
+ parser.add_option("--title",
+ action="store",
+ dest="title",
+ help="Title of the application to install")
+ parser.add_option("--vendor",
+ action="store",
+ dest="vendor",
+ help="Name of the application vendor")
+ parser.add_option("--homepage",
+ action="store",
+ dest="homepage",
+ help="URL to the application homepage")
+ parser.add_option("--description",
+ action="store",
+ dest="description",
+ help="A short description of the application")
+ parser.add_option("--installer",
+ action="store",
+ dest="installer",
+ help="Name of the installer JAR file, relative to --codebase")
+
+ (options, args) = parser.parse_args()
+
+ to_check = (options.codebase,
+ options.jnlp,
+ options.title,
+ options.vendor,
+ options.homepage,
+ options.description,
+ options.installer)
+ for item in to_check:
+ if item is None:
+ parser.error("Some arguments were missing, please run again with --help")
+
+ return options
+
+def main():
+ from string import Template
+ opts = parse_options()
+ jnlp = Template(JNLP_TEMPLATE)
+ jnlp_file = open(opts.jnlp, "w")
+ jnlp_file.write(jnlp.substitute(codebase=opts.codebase,
+ jnlp=opts.jnlp,
+ title=opts.title,
+ vendor=opts.vendor,
+ homepage=opts.homepage,
+ description=opts.description,
+ installer=opts.installer))
+ jnlp_file.close()
+
+if __name__ == "__main__":
+ main()
\ No newline at end of file
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/setup.py b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/setup.py
new file mode 100644
index 00000000..c44e1c94
--- /dev/null
+++ b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/setup.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+# ........................................................................... #
+#
+# IzPack - Copyright 2008 Julien Ponge, All Rights Reserved.
+#
+# http://izpack.org/
+# http://izpack.codehaus.org/
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ........................................................................... #
+
+from distutils.core import setup
+import py2exe
+
+setup(
+ console = [{
+ 'script': 'izpack2jnlp.py',
+ 'icon_resources': [(0, 'app.ico')]
+ }],
+ script_args=['py2exe', '--bundle-files', '1']
+)
diff --git a/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/webstart.png b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/webstart.png
new file mode 100644
index 00000000..87d1cf7b
Binary files /dev/null and b/diylc/diylc-swing/tools/IzPack/utils/wrappers/izpack2jnlp/webstart.png differ
diff --git a/diylc/diylc-swing/innosetup/Compil32.exe b/diylc/diylc-swing/tools/innosetup/Compil32.exe
similarity index 100%
rename from diylc/diylc-swing/innosetup/Compil32.exe
rename to diylc/diylc-swing/tools/innosetup/Compil32.exe
diff --git a/diylc/diylc-swing/innosetup/Default.isl b/diylc/diylc-swing/tools/innosetup/Default.isl
similarity index 98%
rename from diylc/diylc-swing/innosetup/Default.isl
rename to diylc/diylc-swing/tools/innosetup/Default.isl
index 96727c57..a2711fec 100644
--- a/diylc/diylc-swing/innosetup/Default.isl
+++ b/diylc/diylc-swing/tools/innosetup/Default.isl
@@ -1,336 +1,336 @@
-; *** Inno Setup version 5.5.3+ English messages ***
-;
-; To download user-contributed translations of this file, go to:
-; http://www.jrsoftware.org/files/istrans/
-;
-; Note: When translating this text, do not add periods (.) to the end of
-; messages that didn't have them already, because on those messages Inno
-; Setup adds the periods automatically (appending a period would result in
-; two periods being displayed).
-
-[LangOptions]
-; The following three entries are very important. Be sure to read and
-; understand the '[LangOptions] section' topic in the help file.
-LanguageName=English
-LanguageID=$0409
-LanguageCodePage=0
-; If the language you are translating to requires special font faces or
-; sizes, uncomment any of the following entries and change them accordingly.
-;DialogFontName=
-;DialogFontSize=8
-;WelcomeFontName=Verdana
-;WelcomeFontSize=12
-;TitleFontName=Arial
-;TitleFontSize=29
-;CopyrightFontName=Arial
-;CopyrightFontSize=8
-
-[Messages]
-
-; *** Application titles
-SetupAppTitle=Setup
-SetupWindowTitle=Setup - %1
-UninstallAppTitle=Uninstall
-UninstallAppFullTitle=%1 Uninstall
-
-; *** Misc. common
-InformationTitle=Information
-ConfirmTitle=Confirm
-ErrorTitle=Error
-
-; *** SetupLdr messages
-SetupLdrStartupMessage=This will install %1. Do you wish to continue?
-LdrCannotCreateTemp=Unable to create a temporary file. Setup aborted
-LdrCannotExecTemp=Unable to execute file in the temporary directory. Setup aborted
-
-; *** Startup error messages
-LastErrorMessage=%1.%n%nError %2: %3
-SetupFileMissing=The file %1 is missing from the installation directory. Please correct the problem or obtain a new copy of the program.
-SetupFileCorrupt=The setup files are corrupted. Please obtain a new copy of the program.
-SetupFileCorruptOrWrongVer=The setup files are corrupted, or are incompatible with this version of Setup. Please correct the problem or obtain a new copy of the program.
-InvalidParameter=An invalid parameter was passed on the command line:%n%n%1
-SetupAlreadyRunning=Setup is already running.
-WindowsVersionNotSupported=This program does not support the version of Windows your computer is running.
-WindowsServicePackRequired=This program requires %1 Service Pack %2 or later.
-NotOnThisPlatform=This program will not run on %1.
-OnlyOnThisPlatform=This program must be run on %1.
-OnlyOnTheseArchitectures=This program can only be installed on versions of Windows designed for the following processor architectures:%n%n%1
-MissingWOW64APIs=The version of Windows you are running does not include functionality required by Setup to perform a 64-bit installation. To correct this problem, please install Service Pack %1.
-WinVersionTooLowError=This program requires %1 version %2 or later.
-WinVersionTooHighError=This program cannot be installed on %1 version %2 or later.
-AdminPrivilegesRequired=You must be logged in as an administrator when installing this program.
-PowerUserPrivilegesRequired=You must be logged in as an administrator or as a member of the Power Users group when installing this program.
-SetupAppRunningError=Setup has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit.
-UninstallAppRunningError=Uninstall has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit.
-
-; *** Misc. errors
-ErrorCreatingDir=Setup was unable to create the directory "%1"
-ErrorTooManyFilesInDir=Unable to create a file in the directory "%1" because it contains too many files
-
-; *** Setup common messages
-ExitSetupTitle=Exit Setup
-ExitSetupMessage=Setup is not complete. If you exit now, the program will not be installed.%n%nYou may run Setup again at another time to complete the installation.%n%nExit Setup?
-AboutSetupMenuItem=&About Setup...
-AboutSetupTitle=About Setup
-AboutSetupMessage=%1 version %2%n%3%n%n%1 home page:%n%4
-AboutSetupNote=
-TranslatorNote=
-
-; *** Buttons
-ButtonBack=< &Back
-ButtonNext=&Next >
-ButtonInstall=&Install
-ButtonOK=OK
-ButtonCancel=Cancel
-ButtonYes=&Yes
-ButtonYesToAll=Yes to &All
-ButtonNo=&No
-ButtonNoToAll=N&o to All
-ButtonFinish=&Finish
-ButtonBrowse=&Browse...
-ButtonWizardBrowse=B&rowse...
-ButtonNewFolder=&Make New Folder
-
-; *** "Select Language" dialog messages
-SelectLanguageTitle=Select Setup Language
-SelectLanguageLabel=Select the language to use during the installation:
-
-; *** Common wizard text
-ClickNext=Click Next to continue, or Cancel to exit Setup.
-BeveledLabel=
-BrowseDialogTitle=Browse For Folder
-BrowseDialogLabel=Select a folder in the list below, then click OK.
-NewFolderName=New Folder
-
-; *** "Welcome" wizard page
-WelcomeLabel1=Welcome to the [name] Setup Wizard
-WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications before continuing.
-
-; *** "Password" wizard page
-WizardPassword=Password
-PasswordLabel1=This installation is password protected.
-PasswordLabel3=Please provide the password, then click Next to continue. Passwords are case-sensitive.
-PasswordEditLabel=&Password:
-IncorrectPassword=The password you entered is not correct. Please try again.
-
-; *** "License Agreement" wizard page
-WizardLicense=License Agreement
-LicenseLabel=Please read the following important information before continuing.
-LicenseLabel3=Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.
-LicenseAccepted=I &accept the agreement
-LicenseNotAccepted=I &do not accept the agreement
-
-; *** "Information" wizard pages
-WizardInfoBefore=Information
-InfoBeforeLabel=Please read the following important information before continuing.
-InfoBeforeClickLabel=When you are ready to continue with Setup, click Next.
-WizardInfoAfter=Information
-InfoAfterLabel=Please read the following important information before continuing.
-InfoAfterClickLabel=When you are ready to continue with Setup, click Next.
-
-; *** "User Information" wizard page
-WizardUserInfo=User Information
-UserInfoDesc=Please enter your information.
-UserInfoName=&User Name:
-UserInfoOrg=&Organization:
-UserInfoSerial=&Serial Number:
-UserInfoNameRequired=You must enter a name.
-
-; *** "Select Destination Location" wizard page
-WizardSelectDir=Select Destination Location
-SelectDirDesc=Where should [name] be installed?
-SelectDirLabel3=Setup will install [name] into the following folder.
-SelectDirBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse.
-DiskSpaceMBLabel=At least [mb] MB of free disk space is required.
-CannotInstallToNetworkDrive=Setup cannot install to a network drive.
-CannotInstallToUNCPath=Setup cannot install to a UNC path.
-InvalidPath=You must enter a full path with drive letter; for example:%n%nC:\APP%n%nor a UNC path in the form:%n%n\\server\share
-InvalidDrive=The drive or UNC share you selected does not exist or is not accessible. Please select another.
-DiskSpaceWarningTitle=Not Enough Disk Space
-DiskSpaceWarning=Setup requires at least %1 KB of free space to install, but the selected drive only has %2 KB available.%n%nDo you want to continue anyway?
-DirNameTooLong=The folder name or path is too long.
-InvalidDirName=The folder name is not valid.
-BadDirName32=Folder names cannot include any of the following characters:%n%n%1
-DirExistsTitle=Folder Exists
-DirExists=The folder:%n%n%1%n%nalready exists. Would you like to install to that folder anyway?
-DirDoesntExistTitle=Folder Does Not Exist
-DirDoesntExist=The folder:%n%n%1%n%ndoes not exist. Would you like the folder to be created?
-
-; *** "Select Components" wizard page
-WizardSelectComponents=Select Components
-SelectComponentsDesc=Which components should be installed?
-SelectComponentsLabel2=Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue.
-FullInstallation=Full installation
-; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
-CompactInstallation=Compact installation
-CustomInstallation=Custom installation
-NoUninstallWarningTitle=Components Exist
-NoUninstallWarning=Setup has detected that the following components are already installed on your computer:%n%n%1%n%nDeselecting these components will not uninstall them.%n%nWould you like to continue anyway?
-ComponentSize1=%1 KB
-ComponentSize2=%1 MB
-ComponentsDiskSpaceMBLabel=Current selection requires at least [mb] MB of disk space.
-
-; *** "Select Additional Tasks" wizard page
-WizardSelectTasks=Select Additional Tasks
-SelectTasksDesc=Which additional tasks should be performed?
-SelectTasksLabel2=Select the additional tasks you would like Setup to perform while installing [name], then click Next.
-
-; *** "Select Start Menu Folder" wizard page
-WizardSelectProgramGroup=Select Start Menu Folder
-SelectStartMenuFolderDesc=Where should Setup place the program's shortcuts?
-SelectStartMenuFolderLabel3=Setup will create the program's shortcuts in the following Start Menu folder.
-SelectStartMenuFolderBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse.
-MustEnterGroupName=You must enter a folder name.
-GroupNameTooLong=The folder name or path is too long.
-InvalidGroupName=The folder name is not valid.
-BadGroupName=The folder name cannot include any of the following characters:%n%n%1
-NoProgramGroupCheck2=&Don't create a Start Menu folder
-
-; *** "Ready to Install" wizard page
-WizardReady=Ready to Install
-ReadyLabel1=Setup is now ready to begin installing [name] on your computer.
-ReadyLabel2a=Click Install to continue with the installation, or click Back if you want to review or change any settings.
-ReadyLabel2b=Click Install to continue with the installation.
-ReadyMemoUserInfo=User information:
-ReadyMemoDir=Destination location:
-ReadyMemoType=Setup type:
-ReadyMemoComponents=Selected components:
-ReadyMemoGroup=Start Menu folder:
-ReadyMemoTasks=Additional tasks:
-
-; *** "Preparing to Install" wizard page
-WizardPreparing=Preparing to Install
-PreparingDesc=Setup is preparing to install [name] on your computer.
-PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name].
-CannotContinue=Setup cannot continue. Please click Cancel to exit.
-ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications.
-ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications.
-CloseApplications=&Automatically close the applications
-DontCloseApplications=&Do not close the applications
-ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing.
-
-; *** "Installing" wizard page
-WizardInstalling=Installing
-InstallingLabel=Please wait while Setup installs [name] on your computer.
-
-; *** "Setup Completed" wizard page
-FinishedHeadingLabel=Completing the [name] Setup Wizard
-FinishedLabelNoIcons=Setup has finished installing [name] on your computer.
-FinishedLabel=Setup has finished installing [name] on your computer. The application may be launched by selecting the installed shortcuts.
-ClickFinish=Click Finish to exit Setup.
-FinishedRestartLabel=To complete the installation of [name], Setup must restart your computer. Would you like to restart now?
-FinishedRestartMessage=To complete the installation of [name], Setup must restart your computer.%n%nWould you like to restart now?
-ShowReadmeCheck=Yes, I would like to view the README file
-YesRadio=&Yes, restart the computer now
-NoRadio=&No, I will restart the computer later
-; used for example as 'Run MyProg.exe'
-RunEntryExec=Run %1
-; used for example as 'View Readme.txt'
-RunEntryShellExec=View %1
-
-; *** "Setup Needs the Next Disk" stuff
-ChangeDiskTitle=Setup Needs the Next Disk
-SelectDiskLabel2=Please insert Disk %1 and click OK.%n%nIf the files on this disk can be found in a folder other than the one displayed below, enter the correct path or click Browse.
-PathLabel=&Path:
-FileNotInDir2=The file "%1" could not be located in "%2". Please insert the correct disk or select another folder.
-SelectDirectoryLabel=Please specify the location of the next disk.
-
-; *** Installation phase messages
-SetupAborted=Setup was not completed.%n%nPlease correct the problem and run Setup again.
-EntryAbortRetryIgnore=Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation.
-
-; *** Installation status messages
-StatusClosingApplications=Closing applications...
-StatusCreateDirs=Creating directories...
-StatusExtractFiles=Extracting files...
-StatusCreateIcons=Creating shortcuts...
-StatusCreateIniEntries=Creating INI entries...
-StatusCreateRegistryEntries=Creating registry entries...
-StatusRegisterFiles=Registering files...
-StatusSavingUninstall=Saving uninstall information...
-StatusRunProgram=Finishing installation...
-StatusRestartingApplications=Restarting applications...
-StatusRollback=Rolling back changes...
-
-; *** Misc. errors
-ErrorInternal2=Internal error: %1
-ErrorFunctionFailedNoCode=%1 failed
-ErrorFunctionFailed=%1 failed; code %2
-ErrorFunctionFailedWithMessage=%1 failed; code %2.%n%3
-ErrorExecutingProgram=Unable to execute file:%n%1
-
-; *** Registry errors
-ErrorRegOpenKey=Error opening registry key:%n%1\%2
-ErrorRegCreateKey=Error creating registry key:%n%1\%2
-ErrorRegWriteKey=Error writing to registry key:%n%1\%2
-
-; *** INI errors
-ErrorIniEntry=Error creating INI entry in file "%1".
-
-; *** File copying errors
-FileAbortRetryIgnore=Click Retry to try again, Ignore to skip this file (not recommended), or Abort to cancel installation.
-FileAbortRetryIgnore2=Click Retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation.
-SourceIsCorrupted=The source file is corrupted
-SourceDoesntExist=The source file "%1" does not exist
-ExistingFileReadOnly=The existing file is marked as read-only.%n%nClick Retry to remove the read-only attribute and try again, Ignore to skip this file, or Abort to cancel installation.
-ErrorReadingExistingDest=An error occurred while trying to read the existing file:
-FileExists=The file already exists.%n%nWould you like Setup to overwrite it?
-ExistingFileNewer=The existing file is newer than the one Setup is trying to install. It is recommended that you keep the existing file.%n%nDo you want to keep the existing file?
-ErrorChangingAttr=An error occurred while trying to change the attributes of the existing file:
-ErrorCreatingTemp=An error occurred while trying to create a file in the destination directory:
-ErrorReadingSource=An error occurred while trying to read the source file:
-ErrorCopying=An error occurred while trying to copy a file:
-ErrorReplacingExistingFile=An error occurred while trying to replace the existing file:
-ErrorRestartReplace=RestartReplace failed:
-ErrorRenamingTemp=An error occurred while trying to rename a file in the destination directory:
-ErrorRegisterServer=Unable to register the DLL/OCX: %1
-ErrorRegSvr32Failed=RegSvr32 failed with exit code %1
-ErrorRegisterTypeLib=Unable to register the type library: %1
-
-; *** Post-installation errors
-ErrorOpeningReadme=An error occurred while trying to open the README file.
-ErrorRestartingComputer=Setup was unable to restart the computer. Please do this manually.
-
-; *** Uninstaller messages
-UninstallNotFound=File "%1" does not exist. Cannot uninstall.
-UninstallOpenError=File "%1" could not be opened. Cannot uninstall
-UninstallUnsupportedVer=The uninstall log file "%1" is in a format not recognized by this version of the uninstaller. Cannot uninstall
-UninstallUnknownEntry=An unknown entry (%1) was encountered in the uninstall log
-ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components?
-UninstallOnlyOnWin64=This installation can only be uninstalled on 64-bit Windows.
-OnlyAdminCanUninstall=This installation can only be uninstalled by a user with administrative privileges.
-UninstallStatusLabel=Please wait while %1 is removed from your computer.
-UninstalledAll=%1 was successfully removed from your computer.
-UninstalledMost=%1 uninstall complete.%n%nSome elements could not be removed. These can be removed manually.
-UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now?
-UninstallDataCorrupted="%1" file is corrupted. Cannot uninstall
-
-; *** Uninstallation phase messages
-ConfirmDeleteSharedFileTitle=Remove Shared File?
-ConfirmDeleteSharedFile2=The system indicates that the following shared file is no longer in use by any programs. Would you like for Uninstall to remove this shared file?%n%nIf any programs are still using this file and it is removed, those programs may not function properly. If you are unsure, choose No. Leaving the file on your system will not cause any harm.
-SharedFileNameLabel=File name:
-SharedFileLocationLabel=Location:
-WizardUninstalling=Uninstall Status
-StatusUninstalling=Uninstalling %1...
-
-; *** Shutdown block reasons
-ShutdownBlockReasonInstallingApp=Installing %1.
-ShutdownBlockReasonUninstallingApp=Uninstalling %1.
-
-; The custom messages below aren't used by Setup itself, but if you make
-; use of them in your scripts, you'll want to translate them.
-
-[CustomMessages]
-
-NameAndVersion=%1 version %2
-AdditionalIcons=Additional shortcuts:
-CreateDesktopIcon=Create a &desktop shortcut
-CreateQuickLaunchIcon=Create a &Quick Launch shortcut
-ProgramOnTheWeb=%1 on the Web
-UninstallProgram=Uninstall %1
-LaunchProgram=Launch %1
-AssocFileExtension=&Associate %1 with the %2 file extension
-AssocingFileExtension=Associating %1 with the %2 file extension...
-AutoStartProgramGroupDescription=Startup:
-AutoStartProgram=Automatically start %1
-AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway?
+; *** Inno Setup version 5.5.3+ English messages ***
+;
+; To download user-contributed translations of this file, go to:
+; http://www.jrsoftware.org/files/istrans/
+;
+; Note: When translating this text, do not add periods (.) to the end of
+; messages that didn't have them already, because on those messages Inno
+; Setup adds the periods automatically (appending a period would result in
+; two periods being displayed).
+
+[LangOptions]
+; The following three entries are very important. Be sure to read and
+; understand the '[LangOptions] section' topic in the help file.
+LanguageName=English
+LanguageID=$0409
+LanguageCodePage=0
+; If the language you are translating to requires special font faces or
+; sizes, uncomment any of the following entries and change them accordingly.
+;DialogFontName=
+;DialogFontSize=8
+;WelcomeFontName=Verdana
+;WelcomeFontSize=12
+;TitleFontName=Arial
+;TitleFontSize=29
+;CopyrightFontName=Arial
+;CopyrightFontSize=8
+
+[Messages]
+
+; *** Application titles
+SetupAppTitle=Setup
+SetupWindowTitle=Setup - %1
+UninstallAppTitle=Uninstall
+UninstallAppFullTitle=%1 Uninstall
+
+; *** Misc. common
+InformationTitle=Information
+ConfirmTitle=Confirm
+ErrorTitle=Error
+
+; *** SetupLdr messages
+SetupLdrStartupMessage=This will install %1. Do you wish to continue?
+LdrCannotCreateTemp=Unable to create a temporary file. Setup aborted
+LdrCannotExecTemp=Unable to execute file in the temporary directory. Setup aborted
+
+; *** Startup error messages
+LastErrorMessage=%1.%n%nError %2: %3
+SetupFileMissing=The file %1 is missing from the installation directory. Please correct the problem or obtain a new copy of the program.
+SetupFileCorrupt=The setup files are corrupted. Please obtain a new copy of the program.
+SetupFileCorruptOrWrongVer=The setup files are corrupted, or are incompatible with this version of Setup. Please correct the problem or obtain a new copy of the program.
+InvalidParameter=An invalid parameter was passed on the command line:%n%n%1
+SetupAlreadyRunning=Setup is already running.
+WindowsVersionNotSupported=This program does not support the version of Windows your computer is running.
+WindowsServicePackRequired=This program requires %1 Service Pack %2 or later.
+NotOnThisPlatform=This program will not run on %1.
+OnlyOnThisPlatform=This program must be run on %1.
+OnlyOnTheseArchitectures=This program can only be installed on versions of Windows designed for the following processor architectures:%n%n%1
+MissingWOW64APIs=The version of Windows you are running does not include functionality required by Setup to perform a 64-bit installation. To correct this problem, please install Service Pack %1.
+WinVersionTooLowError=This program requires %1 version %2 or later.
+WinVersionTooHighError=This program cannot be installed on %1 version %2 or later.
+AdminPrivilegesRequired=You must be logged in as an administrator when installing this program.
+PowerUserPrivilegesRequired=You must be logged in as an administrator or as a member of the Power Users group when installing this program.
+SetupAppRunningError=Setup has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit.
+UninstallAppRunningError=Uninstall has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit.
+
+; *** Misc. errors
+ErrorCreatingDir=Setup was unable to create the directory "%1"
+ErrorTooManyFilesInDir=Unable to create a file in the directory "%1" because it contains too many files
+
+; *** Setup common messages
+ExitSetupTitle=Exit Setup
+ExitSetupMessage=Setup is not complete. If you exit now, the program will not be installed.%n%nYou may run Setup again at another time to complete the installation.%n%nExit Setup?
+AboutSetupMenuItem=&About Setup...
+AboutSetupTitle=About Setup
+AboutSetupMessage=%1 version %2%n%3%n%n%1 home page:%n%4
+AboutSetupNote=
+TranslatorNote=
+
+; *** Buttons
+ButtonBack=< &Back
+ButtonNext=&Next >
+ButtonInstall=&Install
+ButtonOK=OK
+ButtonCancel=Cancel
+ButtonYes=&Yes
+ButtonYesToAll=Yes to &All
+ButtonNo=&No
+ButtonNoToAll=N&o to All
+ButtonFinish=&Finish
+ButtonBrowse=&Browse...
+ButtonWizardBrowse=B&rowse...
+ButtonNewFolder=&Make New Folder
+
+; *** "Select Language" dialog messages
+SelectLanguageTitle=Select Setup Language
+SelectLanguageLabel=Select the language to use during the installation:
+
+; *** Common wizard text
+ClickNext=Click Next to continue, or Cancel to exit Setup.
+BeveledLabel=
+BrowseDialogTitle=Browse For Folder
+BrowseDialogLabel=Select a folder in the list below, then click OK.
+NewFolderName=New Folder
+
+; *** "Welcome" wizard page
+WelcomeLabel1=Welcome to the [name] Setup Wizard
+WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications before continuing.
+
+; *** "Password" wizard page
+WizardPassword=Password
+PasswordLabel1=This installation is password protected.
+PasswordLabel3=Please provide the password, then click Next to continue. Passwords are case-sensitive.
+PasswordEditLabel=&Password:
+IncorrectPassword=The password you entered is not correct. Please try again.
+
+; *** "License Agreement" wizard page
+WizardLicense=License Agreement
+LicenseLabel=Please read the following important information before continuing.
+LicenseLabel3=Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.
+LicenseAccepted=I &accept the agreement
+LicenseNotAccepted=I &do not accept the agreement
+
+; *** "Information" wizard pages
+WizardInfoBefore=Information
+InfoBeforeLabel=Please read the following important information before continuing.
+InfoBeforeClickLabel=When you are ready to continue with Setup, click Next.
+WizardInfoAfter=Information
+InfoAfterLabel=Please read the following important information before continuing.
+InfoAfterClickLabel=When you are ready to continue with Setup, click Next.
+
+; *** "User Information" wizard page
+WizardUserInfo=User Information
+UserInfoDesc=Please enter your information.
+UserInfoName=&User Name:
+UserInfoOrg=&Organization:
+UserInfoSerial=&Serial Number:
+UserInfoNameRequired=You must enter a name.
+
+; *** "Select Destination Location" wizard page
+WizardSelectDir=Select Destination Location
+SelectDirDesc=Where should [name] be installed?
+SelectDirLabel3=Setup will install [name] into the following folder.
+SelectDirBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse.
+DiskSpaceMBLabel=At least [mb] MB of free disk space is required.
+CannotInstallToNetworkDrive=Setup cannot install to a network drive.
+CannotInstallToUNCPath=Setup cannot install to a UNC path.
+InvalidPath=You must enter a full path with drive letter; for example:%n%nC:\APP%n%nor a UNC path in the form:%n%n\\server\share
+InvalidDrive=The drive or UNC share you selected does not exist or is not accessible. Please select another.
+DiskSpaceWarningTitle=Not Enough Disk Space
+DiskSpaceWarning=Setup requires at least %1 KB of free space to install, but the selected drive only has %2 KB available.%n%nDo you want to continue anyway?
+DirNameTooLong=The folder name or path is too long.
+InvalidDirName=The folder name is not valid.
+BadDirName32=Folder names cannot include any of the following characters:%n%n%1
+DirExistsTitle=Folder Exists
+DirExists=The folder:%n%n%1%n%nalready exists. Would you like to install to that folder anyway?
+DirDoesntExistTitle=Folder Does Not Exist
+DirDoesntExist=The folder:%n%n%1%n%ndoes not exist. Would you like the folder to be created?
+
+; *** "Select Components" wizard page
+WizardSelectComponents=Select Components
+SelectComponentsDesc=Which components should be installed?
+SelectComponentsLabel2=Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue.
+FullInstallation=Full installation
+; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
+CompactInstallation=Compact installation
+CustomInstallation=Custom installation
+NoUninstallWarningTitle=Components Exist
+NoUninstallWarning=Setup has detected that the following components are already installed on your computer:%n%n%1%n%nDeselecting these components will not uninstall them.%n%nWould you like to continue anyway?
+ComponentSize1=%1 KB
+ComponentSize2=%1 MB
+ComponentsDiskSpaceMBLabel=Current selection requires at least [mb] MB of disk space.
+
+; *** "Select Additional Tasks" wizard page
+WizardSelectTasks=Select Additional Tasks
+SelectTasksDesc=Which additional tasks should be performed?
+SelectTasksLabel2=Select the additional tasks you would like Setup to perform while installing [name], then click Next.
+
+; *** "Select Start Menu Folder" wizard page
+WizardSelectProgramGroup=Select Start Menu Folder
+SelectStartMenuFolderDesc=Where should Setup place the program's shortcuts?
+SelectStartMenuFolderLabel3=Setup will create the program's shortcuts in the following Start Menu folder.
+SelectStartMenuFolderBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse.
+MustEnterGroupName=You must enter a folder name.
+GroupNameTooLong=The folder name or path is too long.
+InvalidGroupName=The folder name is not valid.
+BadGroupName=The folder name cannot include any of the following characters:%n%n%1
+NoProgramGroupCheck2=&Don't create a Start Menu folder
+
+; *** "Ready to Install" wizard page
+WizardReady=Ready to Install
+ReadyLabel1=Setup is now ready to begin installing [name] on your computer.
+ReadyLabel2a=Click Install to continue with the installation, or click Back if you want to review or change any settings.
+ReadyLabel2b=Click Install to continue with the installation.
+ReadyMemoUserInfo=User information:
+ReadyMemoDir=Destination location:
+ReadyMemoType=Setup type:
+ReadyMemoComponents=Selected components:
+ReadyMemoGroup=Start Menu folder:
+ReadyMemoTasks=Additional tasks:
+
+; *** "Preparing to Install" wizard page
+WizardPreparing=Preparing to Install
+PreparingDesc=Setup is preparing to install [name] on your computer.
+PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name].
+CannotContinue=Setup cannot continue. Please click Cancel to exit.
+ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications.
+ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications.
+CloseApplications=&Automatically close the applications
+DontCloseApplications=&Do not close the applications
+ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing.
+
+; *** "Installing" wizard page
+WizardInstalling=Installing
+InstallingLabel=Please wait while Setup installs [name] on your computer.
+
+; *** "Setup Completed" wizard page
+FinishedHeadingLabel=Completing the [name] Setup Wizard
+FinishedLabelNoIcons=Setup has finished installing [name] on your computer.
+FinishedLabel=Setup has finished installing [name] on your computer. The application may be launched by selecting the installed shortcuts.
+ClickFinish=Click Finish to exit Setup.
+FinishedRestartLabel=To complete the installation of [name], Setup must restart your computer. Would you like to restart now?
+FinishedRestartMessage=To complete the installation of [name], Setup must restart your computer.%n%nWould you like to restart now?
+ShowReadmeCheck=Yes, I would like to view the README file
+YesRadio=&Yes, restart the computer now
+NoRadio=&No, I will restart the computer later
+; used for example as 'Run MyProg.exe'
+RunEntryExec=Run %1
+; used for example as 'View Readme.txt'
+RunEntryShellExec=View %1
+
+; *** "Setup Needs the Next Disk" stuff
+ChangeDiskTitle=Setup Needs the Next Disk
+SelectDiskLabel2=Please insert Disk %1 and click OK.%n%nIf the files on this disk can be found in a folder other than the one displayed below, enter the correct path or click Browse.
+PathLabel=&Path:
+FileNotInDir2=The file "%1" could not be located in "%2". Please insert the correct disk or select another folder.
+SelectDirectoryLabel=Please specify the location of the next disk.
+
+; *** Installation phase messages
+SetupAborted=Setup was not completed.%n%nPlease correct the problem and run Setup again.
+EntryAbortRetryIgnore=Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation.
+
+; *** Installation status messages
+StatusClosingApplications=Closing applications...
+StatusCreateDirs=Creating directories...
+StatusExtractFiles=Extracting files...
+StatusCreateIcons=Creating shortcuts...
+StatusCreateIniEntries=Creating INI entries...
+StatusCreateRegistryEntries=Creating registry entries...
+StatusRegisterFiles=Registering files...
+StatusSavingUninstall=Saving uninstall information...
+StatusRunProgram=Finishing installation...
+StatusRestartingApplications=Restarting applications...
+StatusRollback=Rolling back changes...
+
+; *** Misc. errors
+ErrorInternal2=Internal error: %1
+ErrorFunctionFailedNoCode=%1 failed
+ErrorFunctionFailed=%1 failed; code %2
+ErrorFunctionFailedWithMessage=%1 failed; code %2.%n%3
+ErrorExecutingProgram=Unable to execute file:%n%1
+
+; *** Registry errors
+ErrorRegOpenKey=Error opening registry key:%n%1\%2
+ErrorRegCreateKey=Error creating registry key:%n%1\%2
+ErrorRegWriteKey=Error writing to registry key:%n%1\%2
+
+; *** INI errors
+ErrorIniEntry=Error creating INI entry in file "%1".
+
+; *** File copying errors
+FileAbortRetryIgnore=Click Retry to try again, Ignore to skip this file (not recommended), or Abort to cancel installation.
+FileAbortRetryIgnore2=Click Retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation.
+SourceIsCorrupted=The source file is corrupted
+SourceDoesntExist=The source file "%1" does not exist
+ExistingFileReadOnly=The existing file is marked as read-only.%n%nClick Retry to remove the read-only attribute and try again, Ignore to skip this file, or Abort to cancel installation.
+ErrorReadingExistingDest=An error occurred while trying to read the existing file:
+FileExists=The file already exists.%n%nWould you like Setup to overwrite it?
+ExistingFileNewer=The existing file is newer than the one Setup is trying to install. It is recommended that you keep the existing file.%n%nDo you want to keep the existing file?
+ErrorChangingAttr=An error occurred while trying to change the attributes of the existing file:
+ErrorCreatingTemp=An error occurred while trying to create a file in the destination directory:
+ErrorReadingSource=An error occurred while trying to read the source file:
+ErrorCopying=An error occurred while trying to copy a file:
+ErrorReplacingExistingFile=An error occurred while trying to replace the existing file:
+ErrorRestartReplace=RestartReplace failed:
+ErrorRenamingTemp=An error occurred while trying to rename a file in the destination directory:
+ErrorRegisterServer=Unable to register the DLL/OCX: %1
+ErrorRegSvr32Failed=RegSvr32 failed with exit code %1
+ErrorRegisterTypeLib=Unable to register the type library: %1
+
+; *** Post-installation errors
+ErrorOpeningReadme=An error occurred while trying to open the README file.
+ErrorRestartingComputer=Setup was unable to restart the computer. Please do this manually.
+
+; *** Uninstaller messages
+UninstallNotFound=File "%1" does not exist. Cannot uninstall.
+UninstallOpenError=File "%1" could not be opened. Cannot uninstall
+UninstallUnsupportedVer=The uninstall log file "%1" is in a format not recognized by this version of the uninstaller. Cannot uninstall
+UninstallUnknownEntry=An unknown entry (%1) was encountered in the uninstall log
+ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components?
+UninstallOnlyOnWin64=This installation can only be uninstalled on 64-bit Windows.
+OnlyAdminCanUninstall=This installation can only be uninstalled by a user with administrative privileges.
+UninstallStatusLabel=Please wait while %1 is removed from your computer.
+UninstalledAll=%1 was successfully removed from your computer.
+UninstalledMost=%1 uninstall complete.%n%nSome elements could not be removed. These can be removed manually.
+UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now?
+UninstallDataCorrupted="%1" file is corrupted. Cannot uninstall
+
+; *** Uninstallation phase messages
+ConfirmDeleteSharedFileTitle=Remove Shared File?
+ConfirmDeleteSharedFile2=The system indicates that the following shared file is no longer in use by any programs. Would you like for Uninstall to remove this shared file?%n%nIf any programs are still using this file and it is removed, those programs may not function properly. If you are unsure, choose No. Leaving the file on your system will not cause any harm.
+SharedFileNameLabel=File name:
+SharedFileLocationLabel=Location:
+WizardUninstalling=Uninstall Status
+StatusUninstalling=Uninstalling %1...
+
+; *** Shutdown block reasons
+ShutdownBlockReasonInstallingApp=Installing %1.
+ShutdownBlockReasonUninstallingApp=Uninstalling %1.
+
+; The custom messages below aren't used by Setup itself, but if you make
+; use of them in your scripts, you'll want to translate them.
+
+[CustomMessages]
+
+NameAndVersion=%1 version %2
+AdditionalIcons=Additional shortcuts:
+CreateDesktopIcon=Create a &desktop shortcut
+CreateQuickLaunchIcon=Create a &Quick Launch shortcut
+ProgramOnTheWeb=%1 on the Web
+UninstallProgram=Uninstall %1
+LaunchProgram=Launch %1
+AssocFileExtension=&Associate %1 with the %2 file extension
+AssocingFileExtension=Associating %1 with the %2 file extension...
+AutoStartProgramGroupDescription=Startup:
+AutoStartProgram=Automatically start %1
+AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway?
diff --git a/diylc/diylc-swing/innosetup/ISCC.exe b/diylc/diylc-swing/tools/innosetup/ISCC.exe
similarity index 100%
rename from diylc/diylc-swing/innosetup/ISCC.exe
rename to diylc/diylc-swing/tools/innosetup/ISCC.exe
diff --git a/diylc/diylc-swing/innosetup/ISCmplr.dll b/diylc/diylc-swing/tools/innosetup/ISCmplr.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/ISCmplr.dll
rename to diylc/diylc-swing/tools/innosetup/ISCmplr.dll
diff --git a/diylc/diylc-swing/innosetup/ISPP.dll b/diylc/diylc-swing/tools/innosetup/ISPP.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/ISPP.dll
rename to diylc/diylc-swing/tools/innosetup/ISPP.dll
diff --git a/diylc/diylc-swing/innosetup/ISPPBuiltins.iss b/diylc/diylc-swing/tools/innosetup/ISPPBuiltins.iss
similarity index 96%
rename from diylc/diylc-swing/innosetup/ISPPBuiltins.iss
rename to diylc/diylc-swing/tools/innosetup/ISPPBuiltins.iss
index 8c371c36..d233fb40 100644
--- a/diylc/diylc-swing/innosetup/ISPPBuiltins.iss
+++ b/diylc/diylc-swing/tools/innosetup/ISPPBuiltins.iss
@@ -1,366 +1,366 @@
-; BEGIN ISPPBUILTINS.ISS
-//
-// Inno Setup Preprocessor 5
-//
-// Copyright (C) 2001-2004 Alex Yackimoff. All Rights Reserved.
-// Portions by Martijn Laan.
-// http://ispp.sourceforge.net
-//
-// Inno Setup (C) 1997-2009 Jordan Russell. All Rights Reserved.
-// Portions by Martijn Laan.
-//
-// $Id: ISPPBuiltins.iss,v 1.3 2010/12/29 15:20:26 mlaan Exp $
-//
-#if defined(ISPP_INVOKED) && !defined(_BUILTINS_ISS_)
-//
-#if PREPROCVER < 0x01000000
-# error Inno Setup Preprocessor version is outdated
-#endif
-//
-#define _BUILTINS_ISS_
-//
-// ===========================================================================
-//
-// Default states for options.
-//
-//#pragma parseroption -b+ ; short circuit boolean evaluation: on
-//#pragma parseroption -m- ; short circuit multiplication evaluation (0 * A will not eval A): off
-//#pragma parseroption -p+ ; string literals without escape sequences: on
-//#pragma parseroption -u- ; allow undeclared identifiers: off
-//#pragma option -c+ ; pass script to the compiler: on
-//#pragma option -e- ; emit empty lines to translation: off
-//#pragma option -v- ; verbose mode: off
-//
-// ---------------------------------------------------------------------------
-//
-// Verbose levels:
-// 0 - #include and #file acknowledgements
-// 1 - information about any temp files created by #file
-// 2 - #insert and #append acknowledgements
-// 3 - reserved
-// 4 - #dim, #define and #undef acknowledgements
-// 5 - reserved
-// 6 - conditional inclusion acknowledgements
-// 7 - reserved
-// 8 - show strings emitted with #emit directive
-// 9 - macro and functions successfull call acknowledgements
-//10 - Local macro array allocation acknowledgements
-//
-//#pragma verboselevel 0
-//
-#ifndef __POPT_P__
-# define private CStrings
-# pragma parseroption -p+
-#endif
-//
-#pragma spansymbol "\"
-//
-#define True 1
-#define False 0
-#define Yes True
-#define No False
-//
-#define MaxInt 0x7FFFFFFFL
-#define MinInt 0x80000000L
-//
-#define NULL
-#define void
-//
-// TypeOf constants
-//
-#define TYPE_ERROR 0
-#define TYPE_NULL 1
-#define TYPE_INTEGER 2
-#define TYPE_STRING 3
-#define TYPE_MACRO 4
-#define TYPE_FUNC 5
-#define TYPE_ARRAY 6
-//
-// Helper macro to find out the type of an array element or expression. TypeOf
-// standard function only allows identifier as its parameter. Use this macro
-// to convert an expression to identifier.
-//
-#define TypeOf2(any Expr) TypeOf(Expr)
-//
-// ReadReg constants
-//
-#define HKEY_CLASSES_ROOT 0x80000000UL
-#define HKEY_CURRENT_USER 0x80000001UL
-#define HKEY_LOCAL_MACHINE 0x80000002UL
-#define HKEY_USERS 0x80000003UL
-#define HKEY_CURRENT_CONFIG 0x80000005UL
-#define HKEY_CLASSES_ROOT_64 0x82000000UL
-#define HKEY_CURRENT_USER_64 0x82000001UL
-#define HKEY_LOCAL_MACHINE_64 0x82000002UL
-#define HKEY_USERS_64 0x82000003UL
-#define HKEY_CURRENT_CONFIG_64 0x82000005UL
-//
-#define HKCR HKEY_CLASSES_ROOT
-#define HKCU HKEY_CURRENT_USER
-#define HKLM HKEY_LOCAL_MACHINE
-#define HKU HKEY_USERS
-#define HKCC HKEY_CURRENT_CONFIG
-#define HKCR64 HKEY_CLASSES_ROOT_64
-#define HKCU64 HKEY_CURRENT_USER_64
-#define HKLM64 HKEY_LOCAL_MACHINE_64
-#define HKU64 HKEY_USERS_64
-#define HKCC64 HKEY_CURRENT_CONFIG_64
-//
-// Exec constants
-//
-#define SW_HIDE 0
-#define SW_SHOWNORMAL 1
-#define SW_NORMAL 1
-#define SW_SHOWMINIMIZED 2
-#define SW_SHOWMAXIMIZED 3
-#define SW_MAXIMIZE 3
-#define SW_SHOWNOACTIVATE 4
-#define SW_SHOW 5
-#define SW_MINIMIZE 6
-#define SW_SHOWMINNOACTIVE 7
-#define SW_SHOWNA 8
-#define SW_RESTORE 9
-#define SW_SHOWDEFAULT 10
-#define SW_MAX 10
-//
-// Find constants
-//
-#define FIND_MATCH 0x00
-#define FIND_BEGINS 0x01
-#define FIND_ENDS 0x02
-#define FIND_CONTAINS 0x03
-#define FIND_CASESENSITIVE 0x04
-#define FIND_SENSITIVE FIND_CASESENSITIVE
-#define FIND_AND 0x00
-#define FIND_OR 0x08
-#define FIND_NOT 0x10
-#define FIND_TRIM 0x20
-//
-// FindFirst constants
-//
-#define faReadOnly 0x00000001
-#define faHidden 0x00000002
-#define faSysFile 0x00000004
-#define faVolumeID 0x00000008
-#define faDirectory 0x00000010
-#define faArchive 0x00000020
-#define faSymLink 0x00000040
-#define faAnyFile 0x0000003F
-//
-// GetStringFileInfo standard names
-//
-#define COMPANY_NAME "CompanyName"
-#define FILE_DESCRIPTION "FileDescription"
-#define FILE_VERSION "FileVersion"
-#define INTERNAL_NAME "InternalName"
-#define LEGAL_COPYRIGHT "LegalCopyright"
-#define ORIGINAL_FILENAME "OriginalFilename"
-#define PRODUCT_NAME "ProductName"
-#define PRODUCT_VERSION "ProductVersion"
-//
-// GetStringFileInfo helpers
-//
-#define GetFileCompany(str FileName) GetStringFileInfo(FileName, COMPANY_NAME)
-#define GetFileCopyright(str FileName) GetStringFileInfo(FileName, LEGAL_COPYRIGHT)
-#define GetFileDescription(str FileName) GetStringFileInfo(FileName, FILE_DESCRIPTION)
-#define GetFileProductVersion(str FileName) GetStringFileInfo(FileName, PRODUCT_VERSION)
-#define GetFileVersionString(str FileName) GetStringFileInfo(FileName, FILE_VERSION)
-//
-// ParseVersion
-//
-// Macro internally calls GetFileVersion function and parses string returned
-// by that function (in form "0.0.0.0"). All four version elements are stored
-// in by-reference parameters Major, Minor, Rev, and Build. Macro returns
-// string returned by GetFileVersion.
-//
-#define DeleteToFirstPeriod(str *S) \
- Local[1] = Copy(S, 1, (Local[0] = Pos(".", S)) - 1), \
- S = Copy(S, Local[0] + 1), \
- Local[1]
-//
-#define ParseVersion(str FileName, *Major, *Minor, *Rev, *Build) \
- Local[1] = Local[0] = GetFileVersion(FileName), \
- Local[1] == "" ? "" : ( \
- Major = Int(DeleteToFirstPeriod(Local[1])), \
- Minor = Int(DeleteToFirstPeriod(Local[1])), \
- Rev = Int(DeleteToFirstPeriod(Local[1])), \
- Build = Int(Local[1]), \
- Local[0])
-//
-// EncodeVer
-//
-// Encodes given four version elements to a 32 bit integer number (8 bits for
-// each element, i.e. elements must be within 0...255 range).
-//
-#define EncodeVer(int Major, int Minor, int Revision = 0, int Build = -1) \
- Major << 24 | (Minor & 0xFF) << 16 | (Revision & 0xFF) << 8 | (Build >= 0 ? Build & 0xFF : 0)
-//
-// DecodeVer
-//
-// Decodes given 32 bit integer encoded version to its string representation,
-// Digits parameter indicates how many elements to show (if the fourth element
-// is 0, it won't be shown anyway).
-//
-#define DecodeVer(int Ver, int Digits = 3) \
- Str(Ver >> 0x18 & 0xFF) + (Digits > 1 ? "." : "") + \
- (Digits > 1 ? \
- Str(Ver >> 0x10 & 0xFF) + (Digits > 2 ? "." : "") : "") + \
- (Digits > 2 ? \
- Str(Ver >> 0x08 & 0xFF) + (Digits > 3 && (Local = Ver & 0xFF) ? "." : "") : "") + \
- (Digits > 3 && Local ? \
- Str(Ver & 0xFF) : "")
-//
-// FindSection
-//
-// Returns index of the line following the header of the section. This macro
-// is intended to be used with #insert directive.
-//
-#define FindSection(str Section = "Files") \
- Find(0, "[" + Section + "]", FIND_MATCH | FIND_TRIM) + 1
-//
-// FindSectionEnd
-//
-// Returns index of the line following last entry of the section. This macro
-// is intended to be used with #insert directive.
-//
-#if VER >= 0x03000000
-# define FindNextSection(int Line) \
- Find(Line, "[", FIND_BEGINS | FIND_TRIM, "]", FIND_ENDS | FIND_AND)
-# define FindSectionEnd(str Section = "Files") \
- FindNextSection(FindSection(Section))
-#else
-# define FindSectionEnd(str Section = "Files") \
- FindSection(Section) + EntryCount(Section)
-#endif
-//
-// FindCode
-//
-// Returns index of the line (of translation) following either [Code] section
-// header, or "program" keyword, if any.
-//
-#define FindCode() \
- Local[1] = FindSection("Code"), \
- Local[0] = Find(Local[1] - 1, "program", FIND_BEGINS, ";", FIND_ENDS | FIND_AND), \
- (Local[0] < 0 ? Local[1] : Local[0] + 1)
-//
-// ExtractFilePath
-//
-// Returns directory portion of the given filename without backslash (unless
-// it is a root directory). If PathName doesn't contain directory portion,
-// the result is an empty string.
-//
-#define ExtractFilePath(str PathName) \
- (Local[0] = \
- !(Local[1] = RPos("\", PathName)) ? \
- "" : \
- Copy(PathName, 1, Local[1] - 1)), \
- Local[0] + \
- ((Local[2] = Len(Local[0])) == 2 && Copy(Local[0], Local[2]) == ":" ? \
- "\" : \
- "")
-#define ExtractFileDir(str PathName) \
- RemoveBackslash(ExtractFilePath(PathName))
-
-#define ExtractFileExt(str PathName) \
- Local[0] = RPos(".", PathName), \
- Copy(PathName, Local[0] + 1)
-//
-// ExtractFileName
-//
-// Returns name portion of the given filename. If PathName ends with
-// a backslash, the result is an empty string.
-//
-#define ExtractFileName(str PathName) \
- !(Local[0] = RPos("\", PathName)) ? \
- PathName : \
- Copy(PathName, Local[0] + 1)
-//
-// ChangeFileExt
-//
-// Changes extension in FileName with NewExt. NewExt must not contain
-// period.
-//
-#define ChangeFileExt(str FileName, str NewExt) \
- !(Local[0] = RPos(".", FileName)) ? \
- FileName + "." + NewExt : \
- Copy(FileName, 1, Local[0]) + NewExt
-//
-// RemoveFileExt
-//
-// Removes extension in FileName.
-//
-#define RemoveFileExt(str FileName) \
- !(Local[0] = RPos(".", FileName)) ? \
- FileName : \
- Copy(FileName, 1, Local[0] - 1)
-//
-// AddBackslash
-//
-// Adds a backslash to the string, if it's not already there.
-//
-#define AddBackslash(str S) \
- Copy(S, Len(S)) == "\" ? S : S + "\"
-//
-// RemoveBackslash
-//
-// Removes trailing backslash from the string unless the string points to
-// a root directory.
-//
-#define RemoveBackslash(str S) \
- Local[0] = Len(S), \
- Local[0] > 0 ? \
- Copy(S, Local[0]) == "\" ? \
- (Local[0] == 3 && Copy(S, 2, 1) == ":" ? \
- S : \
- Copy(S, 1, Local[0] - 1)) : \
- S : \
- ""
-//
-// Delete
-//
-// Deletes specified number of characters beginning with Index from S. S is
-// passed by reference (therefore is modified). Acts like Delete function in
-// Delphi (from System unit).
-//
-#define Delete(str *S, int Index, int Count = MaxInt) \
- S = Copy(S, 1, Index - 1) + Copy(S, Index + Count)
-//
-// Insert
-//
-// Inserts specified Substr at Index'th character into S. S is passed by
-// reference (therefore is modified).
-//
-#define Insert(str *S, int Index, str Substr) \
- Index > Len(S) + 1 ? \
- S : \
- S = Copy(S, 1, Index - 1) + SubStr + Copy(S, Index)
-//
-// YesNo, IsDirSet
-//
-// Returns nonzero value if given string is "yes", "true" or "1". Intended to
-// be used with SetupSetting function. This macro replaces YesNo function
-// available in previous releases.
-//
-#define YesNo(str S) \
- (S = LowerCase(S)) == "yes" || S == "true" || S == "1"
-//
-#define IsDirSet(str SetupDirective) \
- YesNo(SetupSetting(SetupDirective))
-//
-//
-#define Power(int X, int P = 2) \
- !P ? 1 : X * Power(X, P - 1)
-//
-#define Min(int A, int B, int C = MaxInt) \
- A < B ? A < C ? Int(A) : Int(C) : Int(B)
-//
-#define Max(int A, int B, int C = MinInt) \
- A > B ? A > C ? Int(A) : Int(C) : Int(B)
-//
-
-#ifdef CStrings
-# pragma parseroption -p-
-#endif
-#endif
-; END ISPPBUILTINS.ISS
-
+; BEGIN ISPPBUILTINS.ISS
+//
+// Inno Setup Preprocessor 5
+//
+// Copyright (C) 2001-2004 Alex Yackimoff. All Rights Reserved.
+// Portions by Martijn Laan.
+// http://ispp.sourceforge.net
+//
+// Inno Setup (C) 1997-2009 Jordan Russell. All Rights Reserved.
+// Portions by Martijn Laan.
+//
+// $Id: ISPPBuiltins.iss,v 1.3 2010/12/29 15:20:26 mlaan Exp $
+//
+#if defined(ISPP_INVOKED) && !defined(_BUILTINS_ISS_)
+//
+#if PREPROCVER < 0x01000000
+# error Inno Setup Preprocessor version is outdated
+#endif
+//
+#define _BUILTINS_ISS_
+//
+// ===========================================================================
+//
+// Default states for options.
+//
+//#pragma parseroption -b+ ; short circuit boolean evaluation: on
+//#pragma parseroption -m- ; short circuit multiplication evaluation (0 * A will not eval A): off
+//#pragma parseroption -p+ ; string literals without escape sequences: on
+//#pragma parseroption -u- ; allow undeclared identifiers: off
+//#pragma option -c+ ; pass script to the compiler: on
+//#pragma option -e- ; emit empty lines to translation: off
+//#pragma option -v- ; verbose mode: off
+//
+// ---------------------------------------------------------------------------
+//
+// Verbose levels:
+// 0 - #include and #file acknowledgements
+// 1 - information about any temp files created by #file
+// 2 - #insert and #append acknowledgements
+// 3 - reserved
+// 4 - #dim, #define and #undef acknowledgements
+// 5 - reserved
+// 6 - conditional inclusion acknowledgements
+// 7 - reserved
+// 8 - show strings emitted with #emit directive
+// 9 - macro and functions successfull call acknowledgements
+//10 - Local macro array allocation acknowledgements
+//
+//#pragma verboselevel 0
+//
+#ifndef __POPT_P__
+# define private CStrings
+# pragma parseroption -p+
+#endif
+//
+#pragma spansymbol "\"
+//
+#define True 1
+#define False 0
+#define Yes True
+#define No False
+//
+#define MaxInt 0x7FFFFFFFL
+#define MinInt 0x80000000L
+//
+#define NULL
+#define void
+//
+// TypeOf constants
+//
+#define TYPE_ERROR 0
+#define TYPE_NULL 1
+#define TYPE_INTEGER 2
+#define TYPE_STRING 3
+#define TYPE_MACRO 4
+#define TYPE_FUNC 5
+#define TYPE_ARRAY 6
+//
+// Helper macro to find out the type of an array element or expression. TypeOf
+// standard function only allows identifier as its parameter. Use this macro
+// to convert an expression to identifier.
+//
+#define TypeOf2(any Expr) TypeOf(Expr)
+//
+// ReadReg constants
+//
+#define HKEY_CLASSES_ROOT 0x80000000UL
+#define HKEY_CURRENT_USER 0x80000001UL
+#define HKEY_LOCAL_MACHINE 0x80000002UL
+#define HKEY_USERS 0x80000003UL
+#define HKEY_CURRENT_CONFIG 0x80000005UL
+#define HKEY_CLASSES_ROOT_64 0x82000000UL
+#define HKEY_CURRENT_USER_64 0x82000001UL
+#define HKEY_LOCAL_MACHINE_64 0x82000002UL
+#define HKEY_USERS_64 0x82000003UL
+#define HKEY_CURRENT_CONFIG_64 0x82000005UL
+//
+#define HKCR HKEY_CLASSES_ROOT
+#define HKCU HKEY_CURRENT_USER
+#define HKLM HKEY_LOCAL_MACHINE
+#define HKU HKEY_USERS
+#define HKCC HKEY_CURRENT_CONFIG
+#define HKCR64 HKEY_CLASSES_ROOT_64
+#define HKCU64 HKEY_CURRENT_USER_64
+#define HKLM64 HKEY_LOCAL_MACHINE_64
+#define HKU64 HKEY_USERS_64
+#define HKCC64 HKEY_CURRENT_CONFIG_64
+//
+// Exec constants
+//
+#define SW_HIDE 0
+#define SW_SHOWNORMAL 1
+#define SW_NORMAL 1
+#define SW_SHOWMINIMIZED 2
+#define SW_SHOWMAXIMIZED 3
+#define SW_MAXIMIZE 3
+#define SW_SHOWNOACTIVATE 4
+#define SW_SHOW 5
+#define SW_MINIMIZE 6
+#define SW_SHOWMINNOACTIVE 7
+#define SW_SHOWNA 8
+#define SW_RESTORE 9
+#define SW_SHOWDEFAULT 10
+#define SW_MAX 10
+//
+// Find constants
+//
+#define FIND_MATCH 0x00
+#define FIND_BEGINS 0x01
+#define FIND_ENDS 0x02
+#define FIND_CONTAINS 0x03
+#define FIND_CASESENSITIVE 0x04
+#define FIND_SENSITIVE FIND_CASESENSITIVE
+#define FIND_AND 0x00
+#define FIND_OR 0x08
+#define FIND_NOT 0x10
+#define FIND_TRIM 0x20
+//
+// FindFirst constants
+//
+#define faReadOnly 0x00000001
+#define faHidden 0x00000002
+#define faSysFile 0x00000004
+#define faVolumeID 0x00000008
+#define faDirectory 0x00000010
+#define faArchive 0x00000020
+#define faSymLink 0x00000040
+#define faAnyFile 0x0000003F
+//
+// GetStringFileInfo standard names
+//
+#define COMPANY_NAME "CompanyName"
+#define FILE_DESCRIPTION "FileDescription"
+#define FILE_VERSION "FileVersion"
+#define INTERNAL_NAME "InternalName"
+#define LEGAL_COPYRIGHT "LegalCopyright"
+#define ORIGINAL_FILENAME "OriginalFilename"
+#define PRODUCT_NAME "ProductName"
+#define PRODUCT_VERSION "ProductVersion"
+//
+// GetStringFileInfo helpers
+//
+#define GetFileCompany(str FileName) GetStringFileInfo(FileName, COMPANY_NAME)
+#define GetFileCopyright(str FileName) GetStringFileInfo(FileName, LEGAL_COPYRIGHT)
+#define GetFileDescription(str FileName) GetStringFileInfo(FileName, FILE_DESCRIPTION)
+#define GetFileProductVersion(str FileName) GetStringFileInfo(FileName, PRODUCT_VERSION)
+#define GetFileVersionString(str FileName) GetStringFileInfo(FileName, FILE_VERSION)
+//
+// ParseVersion
+//
+// Macro internally calls GetFileVersion function and parses string returned
+// by that function (in form "0.0.0.0"). All four version elements are stored
+// in by-reference parameters Major, Minor, Rev, and Build. Macro returns
+// string returned by GetFileVersion.
+//
+#define DeleteToFirstPeriod(str *S) \
+ Local[1] = Copy(S, 1, (Local[0] = Pos(".", S)) - 1), \
+ S = Copy(S, Local[0] + 1), \
+ Local[1]
+//
+#define ParseVersion(str FileName, *Major, *Minor, *Rev, *Build) \
+ Local[1] = Local[0] = GetFileVersion(FileName), \
+ Local[1] == "" ? "" : ( \
+ Major = Int(DeleteToFirstPeriod(Local[1])), \
+ Minor = Int(DeleteToFirstPeriod(Local[1])), \
+ Rev = Int(DeleteToFirstPeriod(Local[1])), \
+ Build = Int(Local[1]), \
+ Local[0])
+//
+// EncodeVer
+//
+// Encodes given four version elements to a 32 bit integer number (8 bits for
+// each element, i.e. elements must be within 0...255 range).
+//
+#define EncodeVer(int Major, int Minor, int Revision = 0, int Build = -1) \
+ Major << 24 | (Minor & 0xFF) << 16 | (Revision & 0xFF) << 8 | (Build >= 0 ? Build & 0xFF : 0)
+//
+// DecodeVer
+//
+// Decodes given 32 bit integer encoded version to its string representation,
+// Digits parameter indicates how many elements to show (if the fourth element
+// is 0, it won't be shown anyway).
+//
+#define DecodeVer(int Ver, int Digits = 3) \
+ Str(Ver >> 0x18 & 0xFF) + (Digits > 1 ? "." : "") + \
+ (Digits > 1 ? \
+ Str(Ver >> 0x10 & 0xFF) + (Digits > 2 ? "." : "") : "") + \
+ (Digits > 2 ? \
+ Str(Ver >> 0x08 & 0xFF) + (Digits > 3 && (Local = Ver & 0xFF) ? "." : "") : "") + \
+ (Digits > 3 && Local ? \
+ Str(Ver & 0xFF) : "")
+//
+// FindSection
+//
+// Returns index of the line following the header of the section. This macro
+// is intended to be used with #insert directive.
+//
+#define FindSection(str Section = "Files") \
+ Find(0, "[" + Section + "]", FIND_MATCH | FIND_TRIM) + 1
+//
+// FindSectionEnd
+//
+// Returns index of the line following last entry of the section. This macro
+// is intended to be used with #insert directive.
+//
+#if VER >= 0x03000000
+# define FindNextSection(int Line) \
+ Find(Line, "[", FIND_BEGINS | FIND_TRIM, "]", FIND_ENDS | FIND_AND)
+# define FindSectionEnd(str Section = "Files") \
+ FindNextSection(FindSection(Section))
+#else
+# define FindSectionEnd(str Section = "Files") \
+ FindSection(Section) + EntryCount(Section)
+#endif
+//
+// FindCode
+//
+// Returns index of the line (of translation) following either [Code] section
+// header, or "program" keyword, if any.
+//
+#define FindCode() \
+ Local[1] = FindSection("Code"), \
+ Local[0] = Find(Local[1] - 1, "program", FIND_BEGINS, ";", FIND_ENDS | FIND_AND), \
+ (Local[0] < 0 ? Local[1] : Local[0] + 1)
+//
+// ExtractFilePath
+//
+// Returns directory portion of the given filename without backslash (unless
+// it is a root directory). If PathName doesn't contain directory portion,
+// the result is an empty string.
+//
+#define ExtractFilePath(str PathName) \
+ (Local[0] = \
+ !(Local[1] = RPos("\", PathName)) ? \
+ "" : \
+ Copy(PathName, 1, Local[1] - 1)), \
+ Local[0] + \
+ ((Local[2] = Len(Local[0])) == 2 && Copy(Local[0], Local[2]) == ":" ? \
+ "\" : \
+ "")
+#define ExtractFileDir(str PathName) \
+ RemoveBackslash(ExtractFilePath(PathName))
+
+#define ExtractFileExt(str PathName) \
+ Local[0] = RPos(".", PathName), \
+ Copy(PathName, Local[0] + 1)
+//
+// ExtractFileName
+//
+// Returns name portion of the given filename. If PathName ends with
+// a backslash, the result is an empty string.
+//
+#define ExtractFileName(str PathName) \
+ !(Local[0] = RPos("\", PathName)) ? \
+ PathName : \
+ Copy(PathName, Local[0] + 1)
+//
+// ChangeFileExt
+//
+// Changes extension in FileName with NewExt. NewExt must not contain
+// period.
+//
+#define ChangeFileExt(str FileName, str NewExt) \
+ !(Local[0] = RPos(".", FileName)) ? \
+ FileName + "." + NewExt : \
+ Copy(FileName, 1, Local[0]) + NewExt
+//
+// RemoveFileExt
+//
+// Removes extension in FileName.
+//
+#define RemoveFileExt(str FileName) \
+ !(Local[0] = RPos(".", FileName)) ? \
+ FileName : \
+ Copy(FileName, 1, Local[0] - 1)
+//
+// AddBackslash
+//
+// Adds a backslash to the string, if it's not already there.
+//
+#define AddBackslash(str S) \
+ Copy(S, Len(S)) == "\" ? S : S + "\"
+//
+// RemoveBackslash
+//
+// Removes trailing backslash from the string unless the string points to
+// a root directory.
+//
+#define RemoveBackslash(str S) \
+ Local[0] = Len(S), \
+ Local[0] > 0 ? \
+ Copy(S, Local[0]) == "\" ? \
+ (Local[0] == 3 && Copy(S, 2, 1) == ":" ? \
+ S : \
+ Copy(S, 1, Local[0] - 1)) : \
+ S : \
+ ""
+//
+// Delete
+//
+// Deletes specified number of characters beginning with Index from S. S is
+// passed by reference (therefore is modified). Acts like Delete function in
+// Delphi (from System unit).
+//
+#define Delete(str *S, int Index, int Count = MaxInt) \
+ S = Copy(S, 1, Index - 1) + Copy(S, Index + Count)
+//
+// Insert
+//
+// Inserts specified Substr at Index'th character into S. S is passed by
+// reference (therefore is modified).
+//
+#define Insert(str *S, int Index, str Substr) \
+ Index > Len(S) + 1 ? \
+ S : \
+ S = Copy(S, 1, Index - 1) + SubStr + Copy(S, Index)
+//
+// YesNo, IsDirSet
+//
+// Returns nonzero value if given string is "yes", "true" or "1". Intended to
+// be used with SetupSetting function. This macro replaces YesNo function
+// available in previous releases.
+//
+#define YesNo(str S) \
+ (S = LowerCase(S)) == "yes" || S == "true" || S == "1"
+//
+#define IsDirSet(str SetupDirective) \
+ YesNo(SetupSetting(SetupDirective))
+//
+//
+#define Power(int X, int P = 2) \
+ !P ? 1 : X * Power(X, P - 1)
+//
+#define Min(int A, int B, int C = MaxInt) \
+ A < B ? A < C ? Int(A) : Int(C) : Int(B)
+//
+#define Max(int A, int B, int C = MinInt) \
+ A > B ? A > C ? Int(A) : Int(C) : Int(B)
+//
+
+#ifdef CStrings
+# pragma parseroption -p-
+#endif
+#endif
+; END ISPPBUILTINS.ISS
+
diff --git a/diylc/diylc-swing/innosetup/Setup.e32 b/diylc/diylc-swing/tools/innosetup/Setup.e32
similarity index 100%
rename from diylc/diylc-swing/innosetup/Setup.e32
rename to diylc/diylc-swing/tools/innosetup/Setup.e32
diff --git a/diylc/diylc-swing/innosetup/SetupLdr.e32 b/diylc/diylc-swing/tools/innosetup/SetupLdr.e32
similarity index 100%
rename from diylc/diylc-swing/innosetup/SetupLdr.e32
rename to diylc/diylc-swing/tools/innosetup/SetupLdr.e32
diff --git a/diylc/diylc-swing/innosetup/WizModernImage-IS.bmp b/diylc/diylc-swing/tools/innosetup/WizModernImage-IS.bmp
similarity index 100%
rename from diylc/diylc-swing/innosetup/WizModernImage-IS.bmp
rename to diylc/diylc-swing/tools/innosetup/WizModernImage-IS.bmp
diff --git a/diylc/diylc-swing/innosetup/WizModernImage.bmp b/diylc/diylc-swing/tools/innosetup/WizModernImage.bmp
similarity index 100%
rename from diylc/diylc-swing/innosetup/WizModernImage.bmp
rename to diylc/diylc-swing/tools/innosetup/WizModernImage.bmp
diff --git a/diylc/diylc-swing/innosetup/WizModernSmallImage-IS.bmp b/diylc/diylc-swing/tools/innosetup/WizModernSmallImage-IS.bmp
similarity index 100%
rename from diylc/diylc-swing/innosetup/WizModernSmallImage-IS.bmp
rename to diylc/diylc-swing/tools/innosetup/WizModernSmallImage-IS.bmp
diff --git a/diylc/diylc-swing/innosetup/WizModernSmallImage.bmp b/diylc/diylc-swing/tools/innosetup/WizModernSmallImage.bmp
similarity index 100%
rename from diylc/diylc-swing/innosetup/WizModernSmallImage.bmp
rename to diylc/diylc-swing/tools/innosetup/WizModernSmallImage.bmp
diff --git a/diylc/diylc-swing/innosetup/donate.bmp b/diylc/diylc-swing/tools/innosetup/donate.bmp
similarity index 100%
rename from diylc/diylc-swing/innosetup/donate.bmp
rename to diylc/diylc-swing/tools/innosetup/donate.bmp
diff --git a/diylc/diylc-swing/innosetup/isbunzip.dll b/diylc/diylc-swing/tools/innosetup/isbunzip.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/isbunzip.dll
rename to diylc/diylc-swing/tools/innosetup/isbunzip.dll
diff --git a/diylc/diylc-swing/innosetup/isbzip.dll b/diylc/diylc-swing/tools/innosetup/isbzip.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/isbzip.dll
rename to diylc/diylc-swing/tools/innosetup/isbzip.dll
diff --git a/diylc/diylc-swing/innosetup/isfaq.htm b/diylc/diylc-swing/tools/innosetup/isfaq.htm
similarity index 98%
rename from diylc/diylc-swing/innosetup/isfaq.htm
rename to diylc/diylc-swing/tools/innosetup/isfaq.htm
index 9ce717f0..a16adf3f 100644
--- a/diylc/diylc-swing/innosetup/isfaq.htm
+++ b/diylc/diylc-swing/tools/innosetup/isfaq.htm
@@ -1,474 +1,474 @@
-
-
-
-Inno Setup FAQ
-
-
-
-
-
-
- Inno Setup
-Frequently Asked Questions |
-
-
-
-
-The Inno Setup Frequently Asked Questions contains supplemental information not found in the documentation or the Knowledge Base.
-
-Functionality
-
-
-Problems
-
-
-Installation Tasks
-
-
-How Do I Install...?
-
-
-Compatibility
-
-
-Miscellaneous
-
-
-
-
-
Functionality
-
-
-
-Translating Inno Setup's text into another language does not require modifying the source code. Simply make a copy of the Default.isl file (included with Inno Setup) and start editing the text in it. (Do not directly edit the Default.isl file, otherwise your changes will be lost when you install a new Inno Setup version.) See the "[Messages] Section" topic in the Inno Setup help file for some important tips.
-Once you have finished creating the new .isl file, create a [Languages] section to tell the compiler to use it:
-
-[Languages]
-Name: mytrans; MessagesFile: "compiler:MyTranslation.isl"
-
-If you're using a version of Inno Setup prior to 4.0, use this instead:
-
-[Setup]
-MessagesFile=compiler:MyTranslation.isl
-
-There are many contributed translations available for download on the Inno Setup Third-Party Files page, as well as a program to assist in editing the .isl file.
-
-
-
-
-Inno Setup 2.0.6 adds complete support for MBCS. It does lead byte checking on all filename and constant parsing, so it should no longer mistake trail bytes for backslashes ("\") or braces ("{").
-Versions prior to 2.0.6 did not include any special support for MBCS.
-
-
-
-
-At the present time, there are no plans for a Windows Installer edition of Inno Setup. "Supporting" Windows Installer would likely involve a near-complete rewrite of the program.
-
-
-
-
-The installer's icon may be changed by setting the SetupIconFile [Setup] section directive. To set the uninstaller's icon, set UninstallIconFile.
-
-
-
-
-Inno Setup 4 adds support for this through the new Pascal Scripting feature.
-Note: with earlier Inno Setup versions it was already possible to install different files depending on the Windows version.
-
-
-
-
-
-No, nor is such a feature planned (it would be abused). If it is your intention to keep user interaction to a minimum, use the Disable* [Setup] section directives.
-
-
-
-
-Yes. Use a {reg:...} constant in DefaultDirName. For example:
-[Setup]
-DefaultDirName={reg:HKLM\Software\My Program,Path|{pf}\My Program}
-
-See the "Constants" topic in the Inno Setup help file for more information on {reg:...} constants.
-
-
-
-
-
Problems
-
-
-
-This message is typically displayed if you try to embed a quote (") character in a parameter's data, but do not double it as required. Read the "Parameters in Sections" topic in the Inno Setup help file for more information.
-
-
-
-
-Your application is most likely not specifying pathnames on the files it is trying to open, so it is expecting to find them in the current directory. Inno Setup by default does not set the "Start In" field on shortcuts its creates; this causes Windows to pick a directory itself, which usually won't be the directory containing your application.
-In virtually all cases, this is something that should be corrected at the application level. Properly designed GUI applications should not expect to be started from a particular directory; they should always specify full pathnames on files they open. In Delphi or C++Builder, for example, it's possible to get the full pathname of the directory containing the application EXE by calling: ExtractFilePath(ParamStr(0)). To get the full path of a file named "File.txt" in the application directory, use: ExtractFilePath(ParamStr(0)) + 'File.txt'.
-If for some reason you cannot fix this at the application level, you can tell Inno Setup to set the "Start In" field by adding "WorkingDir: {app}" to your [Icons] entries.
-
-
-
-
-This error message is displayed when a file pertaining to the installation (e.g., setup.exe, setup.1) has the wrong size, or part of a file fails a CRC check. It is not displayed for any other reason.
-If your installation is distributed over the internet and you're getting a lot of reports of this error, it could be that your web server is delivering partial files by dropping connections prematurely. Have the affected users check the size in the bytes of the file(s) they downloaded.
-If your installation is distributed via CD-ROM or floppy disk, it could be that the CD-ROM or floppy disk is bad, or possibly the drive is defective.
-
-
-
-
-This happens when you change AppId between versions, or if AppId is not specified, AppName. If you do that, Setup has no way of knowing that the two versions are of the same application, and thus will create a new entry in Add/Remove Programs. Additionally, a new uninstall log file (unins???.dat) will be created. The obvious solution for this is to not change AppId or AppName.
-If you must change AppName in a new version, set AppId to the value of AppId or AppName from the previous version.
-
-
-
-
-This message normally means that you specified the "regserver" flag on a file that doesn't possess the ability to be registered. Remove the "regserver" flag from the [Files] entry and the message will go away.
-
-
-
-
-There are several reasons why a directory may not be removed:
-
-- It already existed prior to installation. By default, the uninstaller plays it safe and doesn't remove directories that the installer didn't create.
-- It contains files or subdirectories. Use [UninstallDelete] if you need the uninstaller to delete additional files/directories.
-- A running process has the directory as its current directory.
-
-Note: In Inno Setup versions prior to 2.0.1, directories must be specified in either the [Dirs] or [UninstallDelete] sections for them to be deleted by the uninstaller. In newer Inno Setup versions, directories created by [Files] section entries will be deleted automatically by the uninstaller if they didn't exist prior to installation.
-
-
-
-
-From Tim Rude:
-The simplest way to get a batch file to automatically close on exit is to clear the screen at the end of it using the CLS command.
---- batch file 1 ---
-
-@echo off
-echo Hello World
-echo This batch file does NOT close on exit
-
---- batch file 2 ---
-
-@echo off
-echo Hello World
-echo This batch file DOES close on exit
-cls
-
-
-
-
-
-At startup Setup looks in the registry to see if the same application was already installed previously, and if so, it will use the directory of the previous installation as the default directory presented to the user in the wizard. If you uninstall the application and run Setup again, it will use the new DefaultDirName setting. If you wish to disable this feature, set UsePreviousAppDir to "no".
-
-
-
-
-Two files can't have the same name, and since shortcuts are files, two shortcuts therefore can't have the same name.
-
-
-
-
-First, make sure that you are not using the "nowait" or "waituntilidle" flags on the [Run] entry. These flags prevent Setup from waiting until the process completely terminates.
-If you aren't using those flags and it still doesn't seem to be waiting for the program to finish, then likely what is happening is that the EXE you're running is spawning some other process and then terminating itself immediately, causing Setup to think the program has finished. This is known to happen with older InstallShield-based installers (to work around it, try using the /SMS switch).
-A simple way to check if a program does that is to run "START /WAIT ProgramName.exe" from the command line, and see if you are returned to the command prompt before the program exits.
-
-
-
-
-You are using Non Unicode Inno Setup:
-
Beginning with Inno Setup 4.2.2, languages specified in the [Languages] section that cannot be displayed under the active Windows ANSI code page are not listed in the Select Setup Language dialog. For example, Russian text can only be displayed properly if the active code page is 1251; if the user isn't running code page 1251 they will not see Russian as an option.
-On Windows XP, the active code page may be changed by going to Regional and Language Options in Control Panel, and setting Language for non-Unicode programs on the Advanced tab. On Windows 2000, the active code page may be changed by going to Regional Options in Control Panel, and clicking Set default....
-If you are sure you're running in the correct code page and a language still isn't being listed, then most likely LanguageCodePage is set incorrectly inside the language's .isl file.
-If you would like to force all languages to be visible regardless of whether they can be displayed properly under the active code page, set the ShowUndisplayableLanguages [Setup] section directive (new in Inno Setup 5.1.7).
-
-
-
-
-
Installation Tasks
-
-
-
-First create a file named, for example, "website.url", and place these lines inside it:
-[InternetShortcut]
-URL=http://web.site.address/
-
-Then add these lines to your script:
-[Files]
-Source: "website.url"; DestDir: "{app}"
-
-[Icons]
-Name: "{group}\Visit My Web Site"; Filename: "{app}\website.url"
-
-
-
-
-
-
-Use a WorkingDir parameter on the [Icons] section entry.
-
-
-
-
-First set the [Setup] section directive "ChangesAssociations" to "yes". Then create [Registry] entries as shown below.
-
-
-[Registry]
-Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue
-
-
-".myp" is the extension we're associating. "MyProgramFile" is the internal name for the file type as stored in the registry. Make sure you use a unique name for this so you don't inadvertently overwrite another application's registry key.
-
-
-
-Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
-
-
-"My Program File" above is the name for the file type as shown in Explorer.
-
-
-
-Root: HKCR; Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MYPROG.EXE,0"
-
-
-"DefaultIcon" is the registry key that specifies the filename containing the icon to associate with the file type. ",0" tells Explorer to use the first icon from MYPROG.EXE. (",1" would mean the second icon.)
-
-
-
-Root: HKCR; Subkey: "MyProgramFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYPROG.EXE"" ""%1"""
-
-
-"shell\open\command" is the registry key that specifies the program to execute when a file of the type is double-clicked in Explorer. The surrounding quotes are in the command line so it handles long filenames correctly.
-
-
-
-
-
-Environment variables are stored as string values in the registry, so it is possible to manipulate them using the [Registry] section. System-wide environment variables are located at:
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
-User-specific environment variables are located at:
-HKEY_CURRENT_USER\Environment
-
-
-
-
-Inno Setup version 1.3.15 and later includes support for "closeonexit" and "dontcloseonexit" flags in the [Icons] section.
-
-
-
-
-Inno Setup does not currently have a specific feature for doing that, but you can make a copy of a file before it is replaced by using a [Files] section entry similar to this:
-Source: "{app}\MyProg.exe"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
-
-
-
-
-That can be done via MinVersion and/or OnlyBelowVersion parameters on an entry. See the Common Parameters topic in the documentation for details.
-
-
-
-
-Beginning with Inno Setup 4.1.0, the [Dirs], [Files], and [Registry] sections support Permissions parameters for setting permissions on directories, files, and registry keys respectively.
-If you have more advanced needs, take a look at SetACL.
-
-
-
-
-See the Knowledge Base article Implementing Custom Functionality.
-
-
-
-
-
How Do I Install...?
-
-
-
-The recommended way to install an OCX file is as follows.
-
-[Files]
-Source: "ComCtl32.ocx";
- DestDir: "{sys}";
- CopyMode: alwaysskipifsameorolder;
- Flags: restartreplace sharedfile regserver
-
-
-
-
-
-See this Knowledge Base article.
-
-
-
-
-See this Knowledge Base article.
-
-
-
-
-If your application requires an updated version of COMCTL32.DLL, you can direct your users to
-download
-the COMCTL32 update from Microsoft, or call the COMCTL32 update from your installation by using the following lines:
-
-[Files]
-Source: "50comupd.exe"; DestDir: "{tmp}"
-
-[Code]
-function ShouldInstallComCtlUpdate: Boolean;
-var
- MS, LS: Cardinal;
-begin
- // Only install if the existing comctl32.dll is < 5.80
- Result := False;
- if GetVersionNumbers(ExpandConstant('{sys}\comctl32.dll'), MS, LS) then
- if MS < $00050050 then
- Result := True;
-end;
-
-[Run]
-Filename: "{tmp}\50comupd.exe"; Parameters: "/r:n /q:1"; Check: ShouldInstallComCtlUpdate
-
-Don't try to install COMCTL32.DLL directly using the [Files] section; Microsoft does not allow this, and it's dangerous.
-
-
-
-
-See the Knowledge Base article Installing BDE for details on deploying the 32-bit version of BDE using Inno Setup.
-
-
-
-
-See this Knowledge Base article.
-
-
-
-
-
Compatibility
-
-
-
-Currently supported platforms include every Windows release since 2000. No service packs or other OS updates are required on any of the supported platforms.
-The 16-bit version of Inno Setup was discontinued starting with version 1.3. Support for Windows NT 3.51 was discontinued starting with version 3.0. Support for Windows 95, 98, Me, and NT 4.0 was discontinued starting with version 5.5.
-
-
-
-
-A typical Inno Setup installation does not require administrative or "power user" privileges. However, there are exceptions as noted below.
-Things that require administrative privileges:
-
-- Using "PrivilegesRequired=admin" in the script's [Setup] section. This causes Setup to abort with an error message if the user lacks administrative privileges.
-- Using the "restartreplace" flag in the [Files] section. This flag causes Inno Setup to call the MoveFileEx function, which attempts to write to "HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Session Manager". Write access to this key is restricted to Administrators.
-- Writing to any key under HKEY_USERS\.DEFAULT using the [Registry] section. Write access to this key is restricted to Administrators.
-
-Things that require either administrative or "power user" privileges:
-
-- Using "PrivilegesRequired=poweruser" in the script's [Setup] section. This causes Setup to abort with an error message if the user lacks either administrative or "power user" privileges.
-- Using the "regserver" flag in the [Files] section. In most cases registering a DLL involves writing to HKEY_CLASSES_ROOT, a privilege not granted to ordinary users.
-- Using the "sharedfile" flag is the [Files] section. This flag causes Inno Setup to create/update a value in "HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ SharedDLLs". Ordinary users are not allowed to write to that key.
-- Using the FontInstall parameter in the [Files] section.
-- Writing to any key under HKEY_LOCAL_MACHINE or HKEY_CLASSES_ROOT using the [Registry] section. Ordinary users are not allowed to write to those keys.
-
-Inno Setup itself does not require write access to the WINNT directory, or any other registry keys not mentioned above.
-What is different when an installation is run by a user without administrative privileges?
-
-- The registry key for the Add/Remove Programs Control Panel entry is created under HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE. Thus, only the user who installed the program will see an Add/Remove Programs entry for it.
-- The "{group}" constant always points to the current user's profile, as opposed to the All Users profile.
-- All "{common...}" constants are equivalent to the "{user...}" constants.
-- The program may be uninstalled by any user. (When an administrator installs a program, only an administrator is allowed to uninstall it.)
-
-
-
-
-
-
Miscellaneous
-
-
-
-Inno Setup places no arbitrary limits on how many files, shortcuts, registry entries, etc. that you may include in an installation. However, keep in mind that Setup does need memory for each entry in a script. For example, roughly 120 bytes of memory is needed for each [Files] entry.
-In Inno Setup 3.x and earlier, installations and individual files cannot exceed 2 GB, because it does not use 64-bit arithmetic in most places. This has been addressed in Inno Setup 4.
-
-
-
-
-When Cancel is clicked, Setup will begin reverting changes it's made so far in the very same manner as the Uninstall program. Thus, a partially installed application isn't left over.
-
-
-
-
-
+
+
+
+Inno Setup FAQ
+
+
+
+
+
+
+ Inno Setup
+Frequently Asked Questions |
+
+
+
+
+The Inno Setup Frequently Asked Questions contains supplemental information not found in the documentation or the Knowledge Base.
+
+Functionality
+
+
+Problems
+
+
+Installation Tasks
+
+
+How Do I Install...?
+
+
+Compatibility
+
+
+Miscellaneous
+
+
+
+
+
Functionality
+
+
+
+Translating Inno Setup's text into another language does not require modifying the source code. Simply make a copy of the Default.isl file (included with Inno Setup) and start editing the text in it. (Do not directly edit the Default.isl file, otherwise your changes will be lost when you install a new Inno Setup version.) See the "[Messages] Section" topic in the Inno Setup help file for some important tips.
+Once you have finished creating the new .isl file, create a [Languages] section to tell the compiler to use it:
+
+[Languages]
+Name: mytrans; MessagesFile: "compiler:MyTranslation.isl"
+
+If you're using a version of Inno Setup prior to 4.0, use this instead:
+
+[Setup]
+MessagesFile=compiler:MyTranslation.isl
+
+There are many contributed translations available for download on the Inno Setup Third-Party Files page, as well as a program to assist in editing the .isl file.
+
+
+
+
+Inno Setup 2.0.6 adds complete support for MBCS. It does lead byte checking on all filename and constant parsing, so it should no longer mistake trail bytes for backslashes ("\") or braces ("{").
+Versions prior to 2.0.6 did not include any special support for MBCS.
+
+
+
+
+At the present time, there are no plans for a Windows Installer edition of Inno Setup. "Supporting" Windows Installer would likely involve a near-complete rewrite of the program.
+
+
+
+
+The installer's icon may be changed by setting the SetupIconFile [Setup] section directive. To set the uninstaller's icon, set UninstallIconFile.
+
+
+
+
+Inno Setup 4 adds support for this through the new Pascal Scripting feature.
+Note: with earlier Inno Setup versions it was already possible to install different files depending on the Windows version.
+
+
+
+
+
+No, nor is such a feature planned (it would be abused). If it is your intention to keep user interaction to a minimum, use the Disable* [Setup] section directives.
+
+
+
+
+Yes. Use a {reg:...} constant in DefaultDirName. For example:
+[Setup]
+DefaultDirName={reg:HKLM\Software\My Program,Path|{pf}\My Program}
+
+See the "Constants" topic in the Inno Setup help file for more information on {reg:...} constants.
+
+
+
+
+
Problems
+
+
+
+This message is typically displayed if you try to embed a quote (") character in a parameter's data, but do not double it as required. Read the "Parameters in Sections" topic in the Inno Setup help file for more information.
+
+
+
+
+Your application is most likely not specifying pathnames on the files it is trying to open, so it is expecting to find them in the current directory. Inno Setup by default does not set the "Start In" field on shortcuts its creates; this causes Windows to pick a directory itself, which usually won't be the directory containing your application.
+In virtually all cases, this is something that should be corrected at the application level. Properly designed GUI applications should not expect to be started from a particular directory; they should always specify full pathnames on files they open. In Delphi or C++Builder, for example, it's possible to get the full pathname of the directory containing the application EXE by calling: ExtractFilePath(ParamStr(0)). To get the full path of a file named "File.txt" in the application directory, use: ExtractFilePath(ParamStr(0)) + 'File.txt'.
+If for some reason you cannot fix this at the application level, you can tell Inno Setup to set the "Start In" field by adding "WorkingDir: {app}" to your [Icons] entries.
+
+
+
+
+This error message is displayed when a file pertaining to the installation (e.g., setup.exe, setup.1) has the wrong size, or part of a file fails a CRC check. It is not displayed for any other reason.
+If your installation is distributed over the internet and you're getting a lot of reports of this error, it could be that your web server is delivering partial files by dropping connections prematurely. Have the affected users check the size in the bytes of the file(s) they downloaded.
+If your installation is distributed via CD-ROM or floppy disk, it could be that the CD-ROM or floppy disk is bad, or possibly the drive is defective.
+
+
+
+
+This happens when you change AppId between versions, or if AppId is not specified, AppName. If you do that, Setup has no way of knowing that the two versions are of the same application, and thus will create a new entry in Add/Remove Programs. Additionally, a new uninstall log file (unins???.dat) will be created. The obvious solution for this is to not change AppId or AppName.
+If you must change AppName in a new version, set AppId to the value of AppId or AppName from the previous version.
+
+
+
+
+This message normally means that you specified the "regserver" flag on a file that doesn't possess the ability to be registered. Remove the "regserver" flag from the [Files] entry and the message will go away.
+
+
+
+
+There are several reasons why a directory may not be removed:
+
+- It already existed prior to installation. By default, the uninstaller plays it safe and doesn't remove directories that the installer didn't create.
+- It contains files or subdirectories. Use [UninstallDelete] if you need the uninstaller to delete additional files/directories.
+- A running process has the directory as its current directory.
+
+Note: In Inno Setup versions prior to 2.0.1, directories must be specified in either the [Dirs] or [UninstallDelete] sections for them to be deleted by the uninstaller. In newer Inno Setup versions, directories created by [Files] section entries will be deleted automatically by the uninstaller if they didn't exist prior to installation.
+
+
+
+
+From Tim Rude:
+The simplest way to get a batch file to automatically close on exit is to clear the screen at the end of it using the CLS command.
+--- batch file 1 ---
+
+@echo off
+echo Hello World
+echo This batch file does NOT close on exit
+
+--- batch file 2 ---
+
+@echo off
+echo Hello World
+echo This batch file DOES close on exit
+cls
+
+
+
+
+
+At startup Setup looks in the registry to see if the same application was already installed previously, and if so, it will use the directory of the previous installation as the default directory presented to the user in the wizard. If you uninstall the application and run Setup again, it will use the new DefaultDirName setting. If you wish to disable this feature, set UsePreviousAppDir to "no".
+
+
+
+
+Two files can't have the same name, and since shortcuts are files, two shortcuts therefore can't have the same name.
+
+
+
+
+First, make sure that you are not using the "nowait" or "waituntilidle" flags on the [Run] entry. These flags prevent Setup from waiting until the process completely terminates.
+If you aren't using those flags and it still doesn't seem to be waiting for the program to finish, then likely what is happening is that the EXE you're running is spawning some other process and then terminating itself immediately, causing Setup to think the program has finished. This is known to happen with older InstallShield-based installers (to work around it, try using the /SMS switch).
+A simple way to check if a program does that is to run "START /WAIT ProgramName.exe" from the command line, and see if you are returned to the command prompt before the program exits.
+
+
+
+
+You are using Non Unicode Inno Setup:
+
Beginning with Inno Setup 4.2.2, languages specified in the [Languages] section that cannot be displayed under the active Windows ANSI code page are not listed in the Select Setup Language dialog. For example, Russian text can only be displayed properly if the active code page is 1251; if the user isn't running code page 1251 they will not see Russian as an option.
+On Windows XP, the active code page may be changed by going to Regional and Language Options in Control Panel, and setting Language for non-Unicode programs on the Advanced tab. On Windows 2000, the active code page may be changed by going to Regional Options in Control Panel, and clicking Set default....
+If you are sure you're running in the correct code page and a language still isn't being listed, then most likely LanguageCodePage is set incorrectly inside the language's .isl file.
+If you would like to force all languages to be visible regardless of whether they can be displayed properly under the active code page, set the ShowUndisplayableLanguages [Setup] section directive (new in Inno Setup 5.1.7).
+
+
+
+
+
Installation Tasks
+
+
+
+First create a file named, for example, "website.url", and place these lines inside it:
+[InternetShortcut]
+URL=http://web.site.address/
+
+Then add these lines to your script:
+[Files]
+Source: "website.url"; DestDir: "{app}"
+
+[Icons]
+Name: "{group}\Visit My Web Site"; Filename: "{app}\website.url"
+
+
+
+
+
+
+Use a WorkingDir parameter on the [Icons] section entry.
+
+
+
+
+First set the [Setup] section directive "ChangesAssociations" to "yes". Then create [Registry] entries as shown below.
+
+
+[Registry]
+Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue
+
+
+".myp" is the extension we're associating. "MyProgramFile" is the internal name for the file type as stored in the registry. Make sure you use a unique name for this so you don't inadvertently overwrite another application's registry key.
+
+
+
+Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
+
+
+"My Program File" above is the name for the file type as shown in Explorer.
+
+
+
+Root: HKCR; Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MYPROG.EXE,0"
+
+
+"DefaultIcon" is the registry key that specifies the filename containing the icon to associate with the file type. ",0" tells Explorer to use the first icon from MYPROG.EXE. (",1" would mean the second icon.)
+
+
+
+Root: HKCR; Subkey: "MyProgramFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYPROG.EXE"" ""%1"""
+
+
+"shell\open\command" is the registry key that specifies the program to execute when a file of the type is double-clicked in Explorer. The surrounding quotes are in the command line so it handles long filenames correctly.
+
+
+
+
+
+Environment variables are stored as string values in the registry, so it is possible to manipulate them using the [Registry] section. System-wide environment variables are located at:
+HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
+User-specific environment variables are located at:
+HKEY_CURRENT_USER\Environment
+
+
+
+
+Inno Setup version 1.3.15 and later includes support for "closeonexit" and "dontcloseonexit" flags in the [Icons] section.
+
+
+
+
+Inno Setup does not currently have a specific feature for doing that, but you can make a copy of a file before it is replaced by using a [Files] section entry similar to this:
+Source: "{app}\MyProg.exe"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
+
+
+
+
+That can be done via MinVersion and/or OnlyBelowVersion parameters on an entry. See the Common Parameters topic in the documentation for details.
+
+
+
+
+Beginning with Inno Setup 4.1.0, the [Dirs], [Files], and [Registry] sections support Permissions parameters for setting permissions on directories, files, and registry keys respectively.
+If you have more advanced needs, take a look at SetACL.
+
+
+
+
+See the Knowledge Base article Implementing Custom Functionality.
+
+
+
+
+
How Do I Install...?
+
+
+
+The recommended way to install an OCX file is as follows.
+
+[Files]
+Source: "ComCtl32.ocx";
+ DestDir: "{sys}";
+ CopyMode: alwaysskipifsameorolder;
+ Flags: restartreplace sharedfile regserver
+
+
+
+
+
+See this Knowledge Base article.
+
+
+
+
+See this Knowledge Base article.
+
+
+
+
+If your application requires an updated version of COMCTL32.DLL, you can direct your users to
+download
+the COMCTL32 update from Microsoft, or call the COMCTL32 update from your installation by using the following lines:
+
+[Files]
+Source: "50comupd.exe"; DestDir: "{tmp}"
+
+[Code]
+function ShouldInstallComCtlUpdate: Boolean;
+var
+ MS, LS: Cardinal;
+begin
+ // Only install if the existing comctl32.dll is < 5.80
+ Result := False;
+ if GetVersionNumbers(ExpandConstant('{sys}\comctl32.dll'), MS, LS) then
+ if MS < $00050050 then
+ Result := True;
+end;
+
+[Run]
+Filename: "{tmp}\50comupd.exe"; Parameters: "/r:n /q:1"; Check: ShouldInstallComCtlUpdate
+
+Don't try to install COMCTL32.DLL directly using the [Files] section; Microsoft does not allow this, and it's dangerous.
+
+
+
+
+See the Knowledge Base article Installing BDE for details on deploying the 32-bit version of BDE using Inno Setup.
+
+
+
+
+See this Knowledge Base article.
+
+
+
+
+
Compatibility
+
+
+
+Currently supported platforms include every Windows release since 2000. No service packs or other OS updates are required on any of the supported platforms.
+The 16-bit version of Inno Setup was discontinued starting with version 1.3. Support for Windows NT 3.51 was discontinued starting with version 3.0. Support for Windows 95, 98, Me, and NT 4.0 was discontinued starting with version 5.5.
+
+
+
+
+A typical Inno Setup installation does not require administrative or "power user" privileges. However, there are exceptions as noted below.
+Things that require administrative privileges:
+
+- Using "PrivilegesRequired=admin" in the script's [Setup] section. This causes Setup to abort with an error message if the user lacks administrative privileges.
+- Using the "restartreplace" flag in the [Files] section. This flag causes Inno Setup to call the MoveFileEx function, which attempts to write to "HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Session Manager". Write access to this key is restricted to Administrators.
+- Writing to any key under HKEY_USERS\.DEFAULT using the [Registry] section. Write access to this key is restricted to Administrators.
+
+Things that require either administrative or "power user" privileges:
+
+- Using "PrivilegesRequired=poweruser" in the script's [Setup] section. This causes Setup to abort with an error message if the user lacks either administrative or "power user" privileges.
+- Using the "regserver" flag in the [Files] section. In most cases registering a DLL involves writing to HKEY_CLASSES_ROOT, a privilege not granted to ordinary users.
+- Using the "sharedfile" flag is the [Files] section. This flag causes Inno Setup to create/update a value in "HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ SharedDLLs". Ordinary users are not allowed to write to that key.
+- Using the FontInstall parameter in the [Files] section.
+- Writing to any key under HKEY_LOCAL_MACHINE or HKEY_CLASSES_ROOT using the [Registry] section. Ordinary users are not allowed to write to those keys.
+
+Inno Setup itself does not require write access to the WINNT directory, or any other registry keys not mentioned above.
+What is different when an installation is run by a user without administrative privileges?
+
+- The registry key for the Add/Remove Programs Control Panel entry is created under HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE. Thus, only the user who installed the program will see an Add/Remove Programs entry for it.
+- The "{group}" constant always points to the current user's profile, as opposed to the All Users profile.
+- All "{common...}" constants are equivalent to the "{user...}" constants.
+- The program may be uninstalled by any user. (When an administrator installs a program, only an administrator is allowed to uninstall it.)
+
+
+
+
+
+
Miscellaneous
+
+
+
+Inno Setup places no arbitrary limits on how many files, shortcuts, registry entries, etc. that you may include in an installation. However, keep in mind that Setup does need memory for each entry in a script. For example, roughly 120 bytes of memory is needed for each [Files] entry.
+In Inno Setup 3.x and earlier, installations and individual files cannot exceed 2 GB, because it does not use 64-bit arithmetic in most places. This has been addressed in Inno Setup 4.
+
+
+
+
+When Cancel is clicked, Setup will begin reverting changes it's made so far in the very same manner as the Uninstall program. Thus, a partially installed application isn't left over.
+
+
+
+
+
diff --git a/diylc/diylc-swing/innosetup/islzma.dll b/diylc/diylc-swing/tools/innosetup/islzma.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/islzma.dll
rename to diylc/diylc-swing/tools/innosetup/islzma.dll
diff --git a/diylc/diylc-swing/innosetup/islzma32.exe b/diylc/diylc-swing/tools/innosetup/islzma32.exe
similarity index 100%
rename from diylc/diylc-swing/innosetup/islzma32.exe
rename to diylc/diylc-swing/tools/innosetup/islzma32.exe
diff --git a/diylc/diylc-swing/innosetup/islzma64.exe b/diylc/diylc-swing/tools/innosetup/islzma64.exe
similarity index 100%
rename from diylc/diylc-swing/innosetup/islzma64.exe
rename to diylc/diylc-swing/tools/innosetup/islzma64.exe
diff --git a/diylc/diylc-swing/innosetup/isscint.dll b/diylc/diylc-swing/tools/innosetup/isscint.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/isscint.dll
rename to diylc/diylc-swing/tools/innosetup/isscint.dll
diff --git a/diylc/diylc-swing/innosetup/isunzlib.dll b/diylc/diylc-swing/tools/innosetup/isunzlib.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/isunzlib.dll
rename to diylc/diylc-swing/tools/innosetup/isunzlib.dll
diff --git a/diylc/diylc-swing/innosetup/iszlib.dll b/diylc/diylc-swing/tools/innosetup/iszlib.dll
similarity index 100%
rename from diylc/diylc-swing/innosetup/iszlib.dll
rename to diylc/diylc-swing/tools/innosetup/iszlib.dll
diff --git a/diylc/diylc-swing/innosetup/license.txt b/diylc/diylc-swing/tools/innosetup/license.txt
similarity index 97%
rename from diylc/diylc-swing/innosetup/license.txt
rename to diylc/diylc-swing/tools/innosetup/license.txt
index 6ed538e9..c4e1b773 100644
--- a/diylc/diylc-swing/innosetup/license.txt
+++ b/diylc/diylc-swing/tools/innosetup/license.txt
@@ -1,37 +1,37 @@
-Inno Setup License
-==================
-
-Except where otherwise noted, all of the documentation and software included
-in the Inno Setup package is copyrighted by Jordan Russell.
-
-Copyright (C) 1997-2016 Jordan Russell. All rights reserved.
-Portions Copyright (C) 2000-2016 Martijn Laan. All rights reserved.
-
-This software is provided "as-is," without any express or implied warranty.
-In no event shall the author be held liable for any damages arising from the
-use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter and redistribute it,
-provided that the following conditions are met:
-
-1. All redistributions of source code files must retain all copyright
- notices that are currently in place, and this list of conditions without
- modification.
-
-2. All redistributions in binary form must retain all occurrences of the
- above copyright notice and web site addresses that are currently in
- place (for example, in the About boxes).
-
-3. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software to
- distribute a product, an acknowledgment in the product documentation
- would be appreciated but is not required.
-
-4. Modified versions in source or binary form must be plainly marked as
- such, and must not be misrepresented as being the original software.
-
-
-Jordan Russell
-jr-2010 AT jrsoftware.org
-http://www.jrsoftware.org/
+Inno Setup License
+==================
+
+Except where otherwise noted, all of the documentation and software included
+in the Inno Setup package is copyrighted by Jordan Russell.
+
+Copyright (C) 1997-2016 Jordan Russell. All rights reserved.
+Portions Copyright (C) 2000-2016 Martijn Laan. All rights reserved.
+
+This software is provided "as-is," without any express or implied warranty.
+In no event shall the author be held liable for any damages arising from the
+use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter and redistribute it,
+provided that the following conditions are met:
+
+1. All redistributions of source code files must retain all copyright
+ notices that are currently in place, and this list of conditions without
+ modification.
+
+2. All redistributions in binary form must retain all occurrences of the
+ above copyright notice and web site addresses that are currently in
+ place (for example, in the About boxes).
+
+3. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software to
+ distribute a product, an acknowledgment in the product documentation
+ would be appreciated but is not required.
+
+4. Modified versions in source or binary form must be plainly marked as
+ such, and must not be misrepresented as being the original software.
+
+
+Jordan Russell
+jr-2010 AT jrsoftware.org
+http://www.jrsoftware.org/