remove NSIS support

This commit is contained in:
Andras Timar 2011-12-06 19:28:21 +01:00
parent 48c5739700
commit 2ba4a4bf63
21 changed files with 5 additions and 2088 deletions

View File

@ -1516,17 +1516,6 @@ AC_ARG_WITH(csc-path,
],
,)
AC_ARG_WITH(nsis-path,
AS_HELP_STRING([--with-nsis-path],
[For Windows builds, please supply the directory where makensis
is located. If makensis is found in PATH or this option is
properly supplied a self-contained executable installer for
LibreOffice will be created.])
[
Usage: --with-nsis-path=<path to directory containing makensis>
],
,)
AC_ARG_WITH(dotnet-framework-home,
AS_HELP_STRING([--with-dotnet-framework-home],
[For Microsoft compiler users, please supply the path pointing to
@ -6797,48 +6786,6 @@ fi
AC_SUBST(DIRECTXSDK_HOME)
AC_SUBST(DIRECTXSDK_LIB)
dnl ============================================
dnl Check for Nullsoft Scriptable Install System
dnl ============================================
NSIS_PATH=""
if test "$_os" = "WINNT" ; then
if test -z "$with_nsis_path"; then
AC_PATH_PROG(NSIS_PATH, makensis)
if test -n "$NSIS_PATH"; then
NSIS_PATH=`dirname "$NSIS_PATH"`
elif test "$build_os" = "cygwin"; then
AC_MSG_CHECKING([for NSIS])
nsistest=`./oowintool --nsis-dir`;
nsistest=`cygpath -d -m "$nsistest"`
nsistest=`cygpath -u "$nsistest"`
if test -x "$nsistest/nsis.exe"; then
NSIS_PATH="$nsistest"
AC_MSG_RESULT([found ($NSIS_PATH)])
else
AC_MSG_RESULT([no, no self-contained installer will be built.])
fi
fi
else
AC_MSG_CHECKING([for NSIS])
if test "$build_os" = "cygwin"; then
with_nsis_path=`cygpath -u "$with_nsis_path"`
fi
if test -e "$with_nsis_path/makensis$EXEEXT_FOR_BUILD"; then
NSIS_PATH="$with_nsis_path"
fi
if test -z "$NSIS_PATH"; then
AC_MSG_RESULT([no, no self-contained installer will be built.])
else
if test "$build_os" = "cygwin"; then
NSIS_PATH=`cygpath -d "$NSIS_PATH"`
NSIS_PATH=`cygpath -u "$NSIS_PATH"`
fi
AC_MSG_RESULT([found ($NSIS_PATH)])
fi
fi
fi
AC_SUBST(NSIS_PATH)
dnl ***************************************
dnl Checking for bison and flex
dnl ***************************************

View File

@ -1,41 +0,0 @@
[SetupCaption]
en-US = "%PRODUCTNAME %PRODUCTVERSION Installation Preparation"
[MUI_TEXT_WELCOME_INFO_TITLE]
en-US = "Thank you for downloading %PRODUCTNAME %PRODUCTVERSION."
[MUI_TEXT_WELCOME_INFO_TEXT]
en-US = "The installation files must be unpacked and copied to your hard disk in preparation for the installation. After that, the %PRODUCTNAME installation will start automatically.\n\nClick \'Next\' to continue."
[MUI_TEXT_DIRECTORY_TITLE]
en-US = "Select Folder"
[MUI_TEXT_DIRECTORY_SUBTITLE]
en-US = "Select the folder in which to save the unpacked files."
[InstallBtn]
en-US = "&Unpack"
[DirText]
en-US = "The %PRODUCTNAME %PRODUCTVERSION installation files will be unpacked and saved in the folder shown below. If you would like to save %PRODUCTNAME to a different folder, click \'Browse\' to select another folder."
[DirSubText]
en-US = "Destination Folder"
[SpaceRequired]
en-US = "Space required: "
[SpaceAvailable]
en-US = "Space available: "
[MUI_TEXT_INSTALLING_TITLE]
en-US = "Unpacking"
[MUI_TEXT_INSTALLING_SUBTITLE]
en-US = "Please wait while the installation files are being unpacked."
[Extract]
en-US = "Extract: "
[MUI_TEXT_ABORTWARNING]
en-US = "Are you sure you want to quit the %PRODUCTNAME %PRODUCTVERSION Installation Preparation"

View File

@ -45,12 +45,10 @@ ULFFILES = \
LaunchCo.ulf \
Property.ulf \
RadioBut.ulf \
Nsis.ulf \
SIS.ulf \
UIText.ulf
MLFFILES = $(foreach,i,$(ULFFILES) $(MISC)$/$(TARGET)$/$(i:b).mlf)
UULFFILES = $(MISC)$/$(TARGET)$/Nsis.uulf
# --- Targets ------------------------------------------------------
@ -58,6 +56,6 @@ UULFFILES = $(MISC)$/$(TARGET)$/Nsis.uulf
.IF "$(GUI)"=="WNT"
ALLTAR : $(MLFFILES) $(UULFFILES)
ALLTAR : $(MLFFILES)
.ENDIF

View File

@ -84,9 +84,6 @@ LibreOffice
USE_FILEVERSION 1
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooo_patchcodes.txt
DOWNLOADBANNER ooobanner.bmp
DOWNLOADBITMAP ooobitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
STARTCENTER_INFO_URL http://www.libreoffice.org/
@ -146,9 +143,6 @@ LibreOffice_wJRE
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooo_patchcodes.txt
JAVAPRODUCT 1
DOWNLOADBANNER ooobanner.bmp
DOWNLOADBITMAP ooobitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
STARTCENTER_INFO_URL http://www.libreoffice.org/
@ -211,9 +205,6 @@ LibreOffice_Dev
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooodev_patchcodes.txt
CODEFILENAME codes_ooodev.txt
DOWNLOADBANNER ooobanner.bmp
DOWNLOADBITMAP ooobitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
LOCALUSERDIR $ORIGIN/..
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
@ -253,9 +244,6 @@ URE
PCPFILENAME ure.pcp
POOLPRODUCT 0
GLOBALFILEGID gid_File_Dl_Cppu
DOWNLOADBANNER urebanner.bmp
DOWNLOADBITMAP urebitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
DONTUSESTARTMENUFOLDER 1
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
@ -301,9 +289,6 @@ LibreOffice_SDK
NOSPACEINDIRECTORYNAME 1
NOSHORTDIRECTORYNAMES 1
CHANGETARGETDIR 1
DOWNLOADBANNER ooosdkbanner.bmp
DOWNLOADBITMAP ooosdkbitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
DONTUSESTARTMENUFOLDER 1
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
@ -353,9 +338,6 @@ LibreOffice_Dev_SDK
NOSPACEINDIRECTORYNAME 1
NOSHORTDIRECTORYNAMES 1
CHANGETARGETDIR 1
DOWNLOADBANNER ooosdkbanner.bmp
DOWNLOADBITMAP ooosdkbitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
DONTUSESTARTMENUFOLDER 1
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
@ -399,9 +381,6 @@ LibreOffice_Test
NOSPACEINDIRECTORYNAME 1
NOSHORTDIRECTORYNAMES 1
CHANGETARGETDIR 1
DOWNLOADBANNER ooobanner.bmp
DOWNLOADBITMAP ooobitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
DONTUSESTARTMENUFOLDER 1
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
@ -451,9 +430,6 @@ LibreOffice_Dev_Test
NOSPACEINDIRECTORYNAME 1
NOSHORTDIRECTORYNAMES 1
CHANGETARGETDIR 1
DOWNLOADBANNER ooobanner.bmp
DOWNLOADBITMAP ooobitmap.bmp
DOWNLOADSETUPICO ooosetup.ico
DONTUSESTARTMENUFOLDER 1
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
@ -511,13 +487,10 @@ OxygenOffice
USE_FILEVERSION 1
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooo_patchcodes.txt
DOWNLOADBANNER ooobanner_ooop.bmp
DOWNLOADBITMAP ooobitmap_ooop.bmp
PROGRESSBARCOLOR 126,170,23
PROGRESSSIZE 430,5
PROGRESSPOSITION 5,230
PROGRESSFRAMECOLOR 207,208,211
DOWNLOADSETUPICO ooosetup.ico
RELATIVE_PATHES_IN_DDF 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
STARTCENTER_INFO_URL http://www.libreoffice.org/
@ -578,9 +551,6 @@ OxygenOffice_wJRE
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooo_patchcodes.txt
JAVAPRODUCT 1
DOWNLOADBANNER ooobanner_ooop.bmp
DOWNLOADBITMAP ooobitmap_ooop.bmp
DOWNLOADSETUPICO ooosetup.ico
PROGRESSBARCOLOR 126,170,23
PROGRESSSIZE 430,5
PROGRESSPOSITION 5,230

View File

@ -54,7 +54,6 @@ sub print_syntax()
print " --csc-compilerdir - print .NET SDK compiler path\n";
print " --windows-sdk-home - print Windows SDK install dir\n";
print " --jdk-home - print the jdk install dir\n";
print " --nsis-dir - print NSIS path\n";
print " --help - print this message\n";
}
@ -235,12 +234,6 @@ sub print_jdk_dir()
print cygpath($dir, 'w', $output_format);
}
sub print_nsis_dir()
{
my $dir = reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/NSIS/@");
print cygpath ($dir, 'w', $output_format) if defined $dir;
}
sub copy_dll($$$)
{
my ($src, $fname, $dest) = @_;
@ -354,8 +347,6 @@ while (@commands) {
print_windows_sdk_home();
} elsif ($opt eq '--jdk-home') {
print_jdk_dir();
} elsif ($opt eq '--nsis-dir') {
print_nsis_dir();
} elsif ($opt eq '--help' || $opt eq '/?') {
print_syntax();
} else {

View File

@ -4847,347 +4847,6 @@ advertising or publicity pertaining to the software without specific,
written prior permission. Title to copyright in this software and any
associated documentation will at all times remain with copyright
holders.</P>
<H2 LANG="en-US" CLASS="western">NSIS</H2>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The following software may be included in this product: NSIS
(Nullsoft Scriptable Install System). Use of any of this software is
governed by the terms of the license below:</P>
<H3 LANG="en-US" CLASS="western"><A NAME="Copyright"></A>Copyright</H3>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Copyright (C) 1995-2009 Contributors</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
More detailed copyright information can be found in the individual
source code files.</P>
<H3 LANG="en-US" CLASS="western"><A NAME="Applicable_licenses"></A>Applicable
licenses</H3>
<UL>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
All NSIS source code, plug-ins, documentation, examples, header
files and graphics, with the exception of the compression modules
and where otherwise noted, are licensed under the zlib/libpng
license.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The zlib compression module for NSIS is licensed under the
zlib/libpng license.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The bzip2 compression module for NSIS is licensed under the bzip2
license.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The lzma compression module for NSIS is licensed under the Common
Public License version 1.0.</P>
</UL>
<H3 LANG="en-US" CLASS="western"><A NAME="zlib.2Flibpng_license"></A>zlib/libpng
license</H3>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute
it freely, subject to the following restrictions:</P>
<OL>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would
be appreciated but is not required.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
This notice may not be removed or altered from any source
distribution.</P>
</OL>
<H3 LANG="en-US" CLASS="western"><A NAME="bzip2_license"></A>bzip2
license</H3>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:</P>
<OL>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Redistribution of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would
be appreciated but is not required.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.</P>
<LI><P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.</P>
</OL>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm; font-style: normal">
THIS SOFTWARE IS PROVIDED BY THE AUTHOR &ldquo;AS IS&rdquo; AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Julian Seward, Cambridge, UK.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
jseward@acm.org</P>
<H3 LANG="en-US" CLASS="western"><A NAME="Common_Public_License_version_1.0"></A>
Common Public License version 1.0</H3>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
THIS AGREEMENT.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
1. DEFINITIONS</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
&quot;Contribution&quot; means:</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
a) in the case of the initial Contributor, the initial code and
documentation distributed under this Agreement, and b) in the case of
each subsequent Contributor:</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
i) changes to the Program, and</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
ii) additions to the Program;</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
where such changes and/or additions to the Program originate from and
are distributed by that particular Contributor. A Contribution
'originates' from a Contributor if it was added to the Program by
such Contributor itself or anyone acting on such Contributor's
behalf. Contributions do not include additions to the Program which:
(i) are separate modules of software distributed in conjunction with
the Program under their own license agreement, and (ii) are not
derivative works of the Program.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
&quot;Contributor&quot; means any person or entity that distributes
the Program.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
&quot;Licensed Patents &quot; mean patent claims licensable by a
Contributor which are necessarily infringed by the use or sale of its
Contribution alone or when combined with the Program.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
&quot;Program&quot; means the Contributions distributed in accordance
with this Agreement.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
&quot;Recipient&quot; means anyone who receives the Program under
this Agreement, including all Contributors.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
2. GRANT OF RIGHTS</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
a) Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free copyright
license to reproduce, prepare derivative works of, publicly display,
publicly perform, distribute and sublicense the Contribution of such
Contributor, if any, and such derivative works, in source code and
object code form.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
b) Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free patent
license under Licensed Patents to make, use, sell, offer to sell,
import and otherwise transfer the Contribution of such Contributor,
if any, in source code and object code form. This patent license
shall apply to the combination of the Contribution and the Program
if, at the time the Contribution is added by the Contributor, such
addition of the Contribution causes such combination to be covered by
the Licensed Patents. The patent license shall not apply to any other
combinations which include the Contribution. No hardware per se is
licensed hereunder.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
c) Recipient understands that although each Contributor grants the
licenses to its Contributions set forth herein, no assurances are
provided by any Contributor that the Program does not infringe the
patent or other intellectual property rights of any other entity.
Each Contributor disclaims any liability to Recipient for claims
brought by any other entity based on infringement of intellectual
property rights or otherwise. As a condition to exercising the rights
and licenses granted hereunder, each Recipient hereby assumes sole
responsibility to secure any other intellectual property rights
needed, if any. For example, if a third party patent license is
required to allow Recipient to distribute the Program, it is
Recipient's responsibility to acquire that license before
distributing the Program.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
d) Each Contributor represents that to its knowledge it has
sufficient copyright rights in its Contribution, if any, to grant the
copyright license set forth in this Agreement.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
3. REQUIREMENTS</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
A Contributor may choose to distribute the Program in object code
form under its own license agreement, provided that:</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
a) it complies with the terms and conditions of this Agreement; and</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
b) its license agreement:</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
i) effectively disclaims on behalf of all Contributors all warranties
and conditions, express and implied, including warranties or
conditions of title and non-infringement, and implied warranties or
conditions of merchantability and fitness for a particular purpose;</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
ii) effectively excludes on behalf of all Contributors all liability
for damages, including direct, indirect, special, incidental and
consequential damages, such as lost profits;</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
iii) states that any provisions which differ from this Agreement are
offered by that Contributor alone and not by any other party; and</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable
manner on or through a medium customarily used for software exchange.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
When the Program is made available in source code form:</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
a) it must be made available under this Agreement; and</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
b) a copy of this Agreement must be included with each copy of the
Program.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Contributors may not remove or alter any copyright notices contained
within the Program.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Each Contributor must identify itself as the originator of its
Contribution, if any, in a manner that reasonably allows subsequent
Recipients to identify the originator of the Contribution.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
4. COMMERCIAL DISTRIBUTION</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Commercial distributors of software may accept certain
responsibilities with respect to end users, business partners and the
like. While this license is intended to facilitate the commercial use
of the Program, the Contributor who includes the Program in a
commercial product offering should do so in a manner which does not
create potential liability for other Contributors. Therefore, if a
Contributor includes the Program in a commercial product offering,
such Contributor (&quot;Commercial Contributor&quot;) hereby agrees
to defend and indemnify every other Contributor (&quot;Indemnified
Contributor&quot;) against any losses, damages and costs
(collectively &quot;Losses&quot;) arising from claims, lawsuits and
other legal actions brought by a third party against the Indemnified
Contributor to the extent caused by the acts or omissions of such
Commercial Contributor in connection with its distribution of the
Program in a commercial product offering. The obligations in this
section do not apply to any claims or Losses relating to any actual
or alleged intellectual property infringement. In order to qualify,
an Indemnified Contributor must: a) promptly notify the Commercial
Contributor in writing of such claim, and b) allow the Commercial
Contributor to control, and cooperate with the Commercial Contributor
in, the defense and any related settlement negotiations. The
Indemnified Contributor may participate in any such claim at its own
expense.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
For example, a Contributor might include the Program in a commercial
product offering, Product X. That Contributor is then a Commercial
Contributor. If that Commercial Contributor then makes performance
claims, or offers warranties related to Product X, those performance
claims and warranties are such Commercial Contributor's
responsibility alone. Under this section, the Commercial Contributor
would have to defend claims against the other Contributors related to
those performance claims and warranties, and if a court requires any
other Contributor to pay any damages as a result, the Commercial
Contributor must pay those damages.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
5. NO WARRANTY</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
PROVIDED ON AN &quot;AS IS&quot; 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. Each Recipient
is solely responsible for determining the appropriateness of using
and distributing the Program and assumes all risks associated with
its exercise of rights under this Agreement, including but not
limited to the risks and costs of program errors, compliance with
applicable laws, damage to or loss of data, programs or equipment,
and unavailability or interruption of operations.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
6. DISCLAIMER OF LIABILITY</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
7. GENERAL</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this Agreement, and without further
action by the parties hereto, such provision shall be reformed to the
minimum extent necessary to make such provision valid and
enforceable.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
If Recipient institutes patent litigation against a Contributor with
respect to a patent applicable to software (including a cross-claim
or counterclaim in a lawsuit), then any patent licenses granted by
that Contributor to such Recipient under this Agreement shall
terminate as of the date such litigation is filed. In addition, if
Recipient institutes patent litigation against any entity (including
a cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or
hardware) infringes such Recipient's patent(s), then such Recipient's
rights granted under Section 2(b) shall terminate as of the date such
litigation is filed.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
All Recipient's rights under this Agreement shall terminate if it
fails to comply with any of the material terms or conditions of this
Agreement and does not cure such failure in a reasonable period of
time after becoming aware of such noncompliance. If all Recipient's
rights under this Agreement terminate, Recipient agrees to cease use
and distribution of the Program as soon as reasonably practicable.
However, Recipient's obligations under this Agreement and any
licenses granted by Recipient relating to the Program shall continue
and survive.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Everyone is permitted to copy and distribute copies of this
Agreement, but in order to avoid inconsistency the Agreement is
copyrighted and may only be modified in the following manner. The
Agreement Steward reserves the right to publish new versions
(including revisions) of this Agreement from time to time. No one
other than the Agreement Steward has the right to modify this
Agreement. IBM is the initial Agreement Steward. IBM may assign the
responsibility to serve as the Agreement Steward to a suitable
separate entity. Each new version of the Agreement will be given a
distinguishing version number. The Program (including Contributions)
may always be distributed subject to the version of the Agreement
under which it was received. In addition, after a new version of the
Agreement is published, Contributor may elect to distribute the
Program (including its Contributions) under the new version. Except
as expressly stated in Sections 2(a) and 2(b) above, Recipient
receives no rights or licenses to the intellectual property of any
Contributor under this Agreement, whether expressly, by implication,
estoppel or otherwise. All rights in the Program not expressly
granted under this Agreement are reserved.</P>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
This Agreement is governed by the laws of the State of New York and
the intellectual property laws of the United States of America. No
party to this Agreement will bring a legal action under this
Agreement more than one year after the cause of action arose. Each
party waives its rights to a jury trial in any resulting litigation.</P>
<H3 LANG="en-US" CLASS="western"><A NAME="Special_exception_for_LZMA_compression_module"></A>
Special exception for LZMA compression module</H3>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
Igor Pavlov and Amir Szekely, the authors of the LZMA compression
module for NSIS, expressly permit you to statically or dynamically
link your code (or bind by name) to the files from the LZMA
compression module for NSIS without subjecting your linked code to
the terms of the Common Public license version 1.0. Any modifications
or additions to files from the LZMA compression module for NSIS,
however, are subject to the terms of the Common Public License
version 1.0.</P>
<H1 LANG="en-US" CLASS="western" STYLE="page-break-before: always"><A NAME="__RefHeading__12227_1300998327"></A><A NAME="2.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="4.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="1.GNU Lesser General Public License Version 3|outline"></A><A NAME="1.GNU Lesser General Public License Version 3|outline"></A>
GNU Lesser General Public License Version 3</H1>
<P LANG="en-US" CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">

Binary file not shown.

View File

@ -1,5 +1,5 @@
Licensing and Legal information
Licensing and Legal information
This product is made available subject to the terms of GNU Lesser
General Public License Version 3. A copy of the LGPL license can be
@ -4686,324 +4686,6 @@ MathML DTD
associated documentation will at all times remain with copyright
holders.
NSIS
The following software may be included in this product: NSIS (Nullsoft
Scriptable Install System). Use of any of this software is governed by
the terms of the license below:
Copyright
Copyright (C) 1995-2009 Contributors
More detailed copyright information can be found in the individual
source code files.
Applicable licenses
* All NSIS source code, plug-ins, documentation, examples, header
files and graphics, with the exception of the compression modules
and where otherwise noted, are licensed under the zlib/libpng
license.
* The zlib compression module for NSIS is licensed under the
zlib/libpng license.
* The bzip2 compression module for NSIS is licensed under the bzip2
license.
* The lzma compression module for NSIS is licensed under the Common
Public License version 1.0.
zlib/libpng license
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors 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 it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
bzip2 license
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistribution of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
3. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
4. The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Julian Seward, Cambridge, UK.
jseward@acm.org
Common Public License version 1.0
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and
documentation distributed under this Agreement, and b) in the case of
each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and
are distributed by that particular Contributor. A Contribution
'originates' from a Contributor if it was added to the Program by such
Contributor itself or anyone acting on such Contributor's behalf.
Contributions do not include additions to the Program which: (i) are
separate modules of software distributed in conjunction with the
Program under their own license agreement, and (ii) are not derivative
works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor
which are necessarily infringed by the use or sale of its Contribution
alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this
Agreement.
"Recipient" means anyone who receives the Program under this
Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free copyright
license to reproduce, prepare derivative works of, publicly display,
publicly perform, distribute and sublicense the Contribution of such
Contributor, if any, and such derivative works, in source code and
object code form.
b) Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free patent
license under Licensed Patents to make, use, sell, offer to sell,
import and otherwise transfer the Contribution of such Contributor, if
any, in source code and object code form. This patent license shall
apply to the combination of the Contribution and the Program if, at
the time the Contribution is added by the Contributor, such addition
of the Contribution causes such combination to be covered by the
Licensed Patents. The patent license shall not apply to any other
combinations which include the Contribution. No hardware per se is
licensed hereunder.
c) Recipient understands that although each Contributor grants the
licenses to its Contributions set forth herein, no assurances are
provided by any Contributor that the Program does not infringe the
patent or other intellectual property rights of any other entity. Each
Contributor disclaims any liability to Recipient for claims brought by
any other entity based on infringement of intellectual property rights
or otherwise. As a condition to exercising the rights and licenses
granted hereunder, each Recipient hereby assumes sole responsibility
to secure any other intellectual property rights needed, if any. For
example, if a third party patent license is required to allow
Recipient to distribute the Program, it is Recipient's responsibility
to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright
license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form
under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties
and conditions, express and implied, including warranties or
conditions of title and non-infringement, and implied warranties or
conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability
for damages, including direct, indirect, special, incidental and
consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are
offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable
manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the
Program.
Contributors may not remove or alter any copyright notices contained
within the Program.
Each Contributor must identify itself as the originator of its
Contribution, if any, in a manner that reasonably allows subsequent
Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain
responsibilities with respect to end users, business partners and the
like. While this license is intended to facilitate the commercial use
of the Program, the Contributor who includes the Program in a
commercial product offering should do so in a manner which does not
create potential liability for other Contributors. Therefore, if a
Contributor includes the Program in a commercial product offering,
such Contributor ("Commercial Contributor") hereby agrees to defend
and indemnify every other Contributor ("Indemnified Contributor")
against any losses, damages and costs (collectively "Losses") arising
from claims, lawsuits and other legal actions brought by a third party
against the Indemnified Contributor to the extent caused by the acts
or omissions of such Commercial Contributor in connection with its
distribution of the Program in a commercial product offering. The
obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement.
In order to qualify, an Indemnified Contributor must: a) promptly
notify the Commercial Contributor in writing of such claim, and b)
allow the Commercial Contributor to control, and cooperate with the
Commercial Contributor in, the defense and any related settlement
negotiations. The Indemnified Contributor may participate in any such
claim at its own expense.
For example, a Contributor might include the Program in a commercial
product offering, Product X. That Contributor is then a Commercial
Contributor. If that Commercial Contributor then makes performance
claims, or offers warranties related to Product X, those performance
claims and warranties are such Commercial Contributor's responsibility
alone. Under this section, the Commercial Contributor would have to
defend claims against the other Contributors related to those
performance claims and warranties, and if a court requires any other
Contributor to pay any damages as a result, the Commercial Contributor
must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
PROVIDED 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. Each Recipient is solely
responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its
exercise of rights under this Agreement, including but not limited to
the risks and costs of program errors, compliance with applicable
laws, damage to or loss of data, programs or equipment, and
unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this Agreement, and without further
action by the parties hereto, such provision shall be reformed to the
minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with
respect to a patent applicable to software (including a cross-claim or
counterclaim in a lawsuit), then any patent licenses granted by that
Contributor to such Recipient under this Agreement shall terminate as
of the date such litigation is filed. In addition, if Recipient
institutes patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or
hardware) infringes such Recipient's patent(s), then such Recipient's
rights granted under Section 2(b) shall terminate as of the date such
litigation is filed.
All Recipient's rights under this Agreement shall terminate if it
fails to comply with any of the material terms or conditions of this
Agreement and does not cure such failure in a reasonable period of
time after becoming aware of such noncompliance. If all Recipient's
rights under this Agreement terminate, Recipient agrees to cease use
and distribution of the Program as soon as reasonably practicable.
However, Recipient's obligations under this Agreement and any licenses
granted by Recipient relating to the Program shall continue and
survive.
Everyone is permitted to copy and distribute copies of this Agreement,
but in order to avoid inconsistency the Agreement is copyrighted and
may only be modified in the following manner. The Agreement Steward
reserves the right to publish new versions (including revisions) of
this Agreement from time to time. No one other than the Agreement
Steward has the right to modify this Agreement. IBM is the initial
Agreement Steward. IBM may assign the responsibility to serve as the
Agreement Steward to a suitable separate entity. Each new version of
the Agreement will be given a distinguishing version number. The
Program (including Contributions) may always be distributed subject to
the version of the Agreement under which it was received. In addition,
after a new version of the Agreement is published, Contributor may
elect to distribute the Program (including its Contributions) under
the new version. Except as expressly stated in Sections 2(a) and 2(b)
above, Recipient receives no rights or licenses to the intellectual
property of any Contributor under this Agreement, whether expressly,
by implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and
the intellectual property laws of the United States of America. No
party to this Agreement will bring a legal action under this Agreement
more than one year after the cause of action arose. Each party waives
its rights to a jury trial in any resulting litigation.
Special exception for LZMA compression module
Igor Pavlov and Amir Szekely, the authors of the LZMA compression
module for NSIS, expressly permit you to statically or dynamically
link your code (or bind by name) to the files from the LZMA
compression module for NSIS without subjecting your linked code to the
terms of the Common Public license version 1.0. Any modifications or
additions to files from the LZMA compression module for NSIS, however,
are subject to the terms of the Common Public License version 1.0.
GNU Lesser General Public License Version 3

View File

@ -65,7 +65,7 @@ my ( $COM, $ARCH, $CPU, $CPUNAME, $GUI, $GUIBASE,
my ( $USR, $ETC, $BIN, $LIB, $LIB64, $INC, $INCLUDE, $DEV, $OPT, $LOCAL, $SOLENV, $SOLVER, $CONFIG, $DEFIMGS,
$USR_BIN, $USR_LIB, $USR_LOCAL, $USR_CCS, $JAVA_BIN, $JAVA_LIB, $JAVA_INCLUDE,
$SOLARENVINC, $USR_DT, $USR_OPENWIN, $XLIB, $XINC,
$CYGWIN_PATH, $language, @languages, $ASM_PATH, $NSIS_PATH, $PERL_PATH, $CL_X64 );
$CYGWIN_PATH, $language, @languages, $ASM_PATH, $PERL_PATH, $CL_X64 );
# Environment variables.
my ( $oldPATH, $SRC_ROOT, $SO_HOME, $JAVA_HOME, $JDK, $JAVAFLAGS, $OOO_SHELL,
@ -1140,12 +1140,6 @@ elsif ($platform =~ m/cygwin/)
if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
$PATH .= $ps.$tmppath;
}
# makensis directory
$NSIS_PATH = PathFormat('@NSIS_PATH@');
$tmppath = CygFormat($NSIS_PATH);
if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
$PATH .= $ps.$tmppath;
}
# path to sn.exe (signing) for Windows users.
my $sn_path = PathFormat('@DOTNET_FRAMEWORK_HOME@/bin');
$tmppath = CygFormat($sn_path);
@ -1191,12 +1185,6 @@ elsif ($platform =~ m/mingw32/)
$ps.CygFormat($SOLARENV).$ds."bin".
$ps.CygFormat($SOLARENV).$ds.$OUTPATH.$BIN;
# makensis directory
$NSIS_PATH = PathFormat('@NSIS_PATH@');
$tmppath = CygFormat($NSIS_PATH);
if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
$PATH .= $ps.$tmppath;
}
$PATH .= $ps.$oldPATH;
}
elsif ($platform =~ m/darwin/)
@ -1620,7 +1608,6 @@ if ( $platform =~ m/cygwin/ )
ToFile( "ATL_INCLUDE", $ATL_INCLUDE, "e" );
ToFile( "MFC_LIB", $MFC_LIB, "e" );
ToFile( "MFC_INCLUDE", $MFC_INCLUDE, "e" );
ToFile( "NSIS_PATH", $NSIS_PATH, "e" );
ToFile( "DISABLE_ACTIVEX", "@DISABLE_ACTIVEX@","e" );
ToFile( "DISABLE_ATL", "@DISABLE_ATL@","e" );
ToFile( "INCLUDE", "", "e" );
@ -1647,8 +1634,7 @@ if ( $platform =~ m/cygwin/ )
}
}
elsif ( $platform =~ m/mingw32/ )
{ ToFile( "NSIS_PATH", $NSIS_PATH, "e" );
ToFile( "DISABLE_ACTIVEX", "@DISABLE_ACTIVEX@","e" );
{ ToFile( "DISABLE_ACTIVEX", "@DISABLE_ACTIVEX@","e" );
ToFile( "DISABLE_ATL", "@DISABLE_ATL@", "e" );
ToFile( "MINGW_CLIB_DIR", "@MINGW_CLIB_DIR@", "e" );
ToFile( "MINGW_SHARED_GCCLIB", "@MINGW_SHARED_GCCLIB@", "e" );

View File

@ -23,9 +23,6 @@ mkdir: %_DEST%\bin\osolsmf
..\source\win32\patchlist.txt %_DEST%\bin\patchlist.txt
..\source\win32\desktophelper.txt %_DEST%\bin\desktophelper.txt
..\source\win32\get_retval.bat %_DEST%\bin\get_retval.bat
..\source\win32\nsis\downloadtemplate.nsi %_DEST%\bin\downloadtemplate.nsi
..\source\win32\nsis\*.ico %_DEST%\bin\*.ico
..\source\win32\nsis\*.bmp %_DEST%\bin\*.bmp
..\source\linux\*.dat %_DEST%\bin\*.dat
..\source\mac\*.icns %_DEST%\bin\*.icns
..\source\mac\Info.plist.langpack %_DEST%\bin\Info.plist.langpack

View File

@ -1,443 +0,0 @@
!define PRODUCT_NAME "PRODUCTNAMEPLACEHOLDER"
!define PRODUCT_VERSION "PRODUCTVERSIONPLACEHOLDER"
!define PRODUCT_PUBLISHER "PUBLISHERPLACEHOLDER"
!define PRODUCT_WEB_SITE "WEBSITEPLACEHOLDER"
SetCompressor zlib
SetDatablockOptimize On
; Helpful for debugging, disable for products
; RequestExecutionLevel user
; MUI 1.67 compatible ------
!include "MUI.nsh"
Function .onInit
Call GetParameters
Pop $1
;MessageBox MB_OK "$1"
Push $1
Push "/HELP="
Call GetOptions
Pop $2
;MessageBox MB_OK "HELP: $2"
StrCmp $2 "ON" showhelp nohelp
showhelp:
MessageBox MB_OK|MB_ICONINFORMATION \
"DOWNLOADNAMEPLACEHOLDER options: $\n $\n \
/S : Silent installation $\n \
/D=<path> : NSIS installation directory (must be the last option!) $\n \
/EXTRACTONLY=ON : NSIS only extracts the PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation set $\n \
/INSTALLLOCATION=<path> : PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation directory $\n \
/POSTREMOVE=ON : Removes the unpacked installation set after PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation $\n \
/INSTALLJAVA=ON : Installs JRE located in sub directory java, if exists $\n \
/GUILEVEL=<guilevel> : Setting Windows Installer GUI level: qr, qb, qn, qf, ... $\n \
/PARAM1=$\"key=value$\" : Flexible parameter 1. Example: /PARAM1=$\"INSTALLLEVEL=70$\" $\n \
/PARAM2=$\"key=value$\" : Flexible parameter 2. $\n \
/PARAM3=$\"key=value$\" : Flexible parameter 3. $\n \
/HELP=ON : Shows this help $\n"
Quit
GoTo onInitDone
nohelp:
StrCmp $INSTDIR "" pathnotset pathset
pathnotset:
IfSilent onInitSilent onInitNoSilent
onInitSilent:
StrCpy $INSTDIR "$TEMP\PRODUCTPATHPLACEHOLDER Installation Files"
GoTo onInitDone
onInitNoSilent:
StrCpy $INSTDIR "$DESKTOP\PRODUCTPATHPLACEHOLDER Installation Files"
GoTo onInitDone
onInitDone:
pathset:
FunctionEnd
Function GetParameters
Push $R0
Push $R1
Push $R2
Push $R3
StrCpy $R2 1
StrLen $R3 $CMDLINE
;Check for quote or space
StrCpy $R0 $CMDLINE $R2
StrCmp $R0 '"' 0 +3
StrCpy $R1 '"'
Goto loop
StrCpy $R1 " "
loop:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 $R1 get
StrCmp $R2 $R3 get
Goto loop
get:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 " " get
StrCpy $R0 $CMDLINE "" $R2
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd
Function GetOptions
Exch $1
Exch
Exch $0
Exch
Push $2
Push $3
Push $4
Push $5
Push $6
Push $7
StrCpy $2 $1 '' 1
StrCpy $1 $1 1
StrLen $3 $2
StrCpy $7 0
begin:
StrCpy $4 -1
StrCpy $6 ''
quote:
IntOp $4 $4 + 1
StrCpy $5 $0 1 $4
StrCmp $5$7 '0' notfound
StrCmp $5 '' trimright
StrCmp $5 '"' 0 +7
StrCmp $6 '' 0 +3
StrCpy $6 '"'
goto quote
StrCmp $6 '"' 0 +3
StrCpy $6 ''
goto quote
StrCmp $5 `'` 0 +7
StrCmp $6 `` 0 +3
StrCpy $6 `'`
goto quote
StrCmp $6 `'` 0 +3
StrCpy $6 ``
goto quote
StrCmp $5 '`' 0 +7
StrCmp $6 '' 0 +3
StrCpy $6 '`'
goto quote
StrCmp $6 '`' 0 +3
StrCpy $6 ''
goto quote
StrCmp $6 '"' quote
StrCmp $6 `'` quote
StrCmp $6 '`' quote
StrCmp $5 $1 0 quote
StrCmp $7 0 trimleft trimright
trimleft:
IntOp $4 $4 + 1
StrCpy $5 $0 $3 $4
StrCmp $5 '' notfound
StrCmp $5 $2 0 quote
IntOp $4 $4 + $3
StrCpy $0 $0 '' $4
StrCpy $4 $0 1
StrCmp $4 ' ' 0 +3
StrCpy $0 $0 '' 1
goto -3
StrCpy $7 1
goto begin
trimright:
StrCpy $0 $0 $4
StrCpy $4 $0 1 -1
StrCmp $4 ' ' 0 +3
StrCpy $0 $0 -1
goto -3
StrCpy $3 $0 1
StrCpy $4 $0 1 -1
StrCmp $3 $4 0 end
StrCmp $3 '"' +3
StrCmp $3 `'` +2
StrCmp $3 '`' 0 end
StrCpy $0 $0 -1 1
goto end
notfound:
StrCpy $0 ''
end:
Pop $7
Pop $6
Pop $5
Pop $4
Pop $3
Pop $2
Pop $1
Exch $0
FunctionEnd
; MUI Settings
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_RIGHT
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_BITMAP BANNERBMPPLACEHOLDER
!define MUI_WELCOMEFINISHPAGE_BITMAP WELCOMEBMPPLACEHOLDER
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_WELCOMEPAGE_TITLE_3LINES
!define MUI_ABORTWARNING
!define MUI_ICON "SETUPICOPLACEHOLDER"
!define MUI_CUSTOMFUNCTION_GUIINIT SetupBranding
!define MUI_CUSTOMFUNCTION_UNGUIINIT SetupBranding
; Welcome page
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
#231#!macro MUI_LANGUAGE_PACK LANGUAGE
#231# !verbose push
#231# !verbose ${MUI_VERBOSE}
#231# !insertmacro MUI_INSERT
#231# LoadLanguageFile "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nlf"
#231# ;Set default language file for MUI and backup user setting
#231# !ifdef LANGFILE_DEFAULT
#231# !define MUI_LANGFILE_DEFAULT_TEMP "${LANGFILE_DEFAULT}"
#231# !undef LANGFILE_DEFAULT
#231# !endif
#231# !define LANGFILE_DEFAULT "${NSISDIR}\Contrib\Language files\English.nsh"
#231# ;Include language file
#231# !insertmacro LANGFILE_INCLUDE "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nsh"
#231# ;Restore user setting for default language file
#231# !undef LANGFILE_DEFAULT
#231# !ifdef MUI_LANGFILE_DEFAULT_TEMP
#231# !define LANGFILE_DEFAULT "${MUI_LANGFILE_DEFAULT}"
#231# !endif
#231# ;Add language to list of languages for selection dialog
#231# !ifndef MUI_LANGDLL_LANGUAGES
#231# !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' "
#231# !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
#231# !else
#231# !ifdef MUI_LANGDLL_LANGUAGES_TEMP
#231# !undef MUI_LANGDLL_LANGUAGES_TEMP
#231# !endif
#231# !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}"
#231# !undef MUI_LANGDLL_LANGUAGES
#231# !ifdef MUI_LANGDLL_LANGUAGES_CP_TEMP
#231# !undef MUI_LANGDLL_LANGUAGES_CP_TEMP
#231# !endif
#231# !define MUI_LANGDLL_LANGUAGES_CP_TEMP "${MUI_LANGDLL_LANGUAGES_CP}"
#231# !undef MUI_LANGDLL_LANGUAGES_CP
#231# !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
#231# !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_CP_TEMP}"
#231# !endif
#231# !verbose pop
#231#!macroend
#204#!macro MUI_LANGUAGE_PACK LANGUAGE
#204# !verbose push
#204# !verbose ${MUI_VERBOSE}
#204# !include "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nsh"
#204# !verbose pop
#204#!macroend
#204#!macro MUI_LANGUAGEFILE_PACK_BEGIN LANGUAGE
#204# !ifndef MUI_INSERT
#204# !define MUI_INSERT
#204# !insertmacro MUI_INSERT
#204# !endif
#204# LoadLanguageFile "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nlf"
#204#!macroend
; Language files
ALLLANGUAGESPLACEHOLDER
Function SetupBranding
File "/oname=$PLUGINSDIR\modern-header.bmp" BANNERBMPPLACEHOLDER
File "/oname=$PLUGINSDIR\modern-wizard.bmp" WELCOMEBMPPLACEHOLDER
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\modern-wizard.bmp"
FunctionEnd
; Reserve files
;!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; MUI end ------
Name "PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER"
OutFile "OUTPUTDIRPLACEHOLDER\DOWNLOADNAMEPLACEHOLDER"
; InstallDir "$DESKTOP\PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER Installation Files"
; ShowInstDetails show
Section "MainSection" SEC01
ALLFILESPLACEHOLDER
SectionEnd
Section -Post
StrCpy $R9 "false"
Call GetParameters
Pop $1
Push $1
Push "/EXTRACTONLY="
Call GetOptions
Pop $2
;MessageBox MB_OK "EXTRACTONLY: $2"
StrCmp $2 "ON" onPostDone callsetup
callsetup:
Push $1
Push "/INSTALLLOCATION="
Call GetOptions
Pop $2
;MessageBox MB_OK "INSTALLLOCATION: $2"
StrCmp $2 "" installnotset installset
installset:
StrCpy $3 'INSTALLLOCATION="$2"'
installnotset:
Push $1
Push "/INSTALLJAVA="
Call GetOptions
Pop $2
;MessageBox MB_OK "INSTALLJAVA: $2"
StrCmp $2 "ON" setinstalljava setdontinstalljava
setinstalljava:
StrCpy $R9 "true"
setdontinstalljava:
Push $1
Push "/GUILEVEL="
Call GetOptions
Pop $2
StrCmp $2 "" dontsetguilevel setguilevel
setguilevel:
StrCpy $7 "/"
StrCpy $7 $7$2
GoTo afterguilevel
dontsetguilevel:
StrCpy $7 "/qr"
afterguilevel:
;MessageBox MB_OK "GUILEVEL: $7"
Push $1
Push "/PARAM1="
Call GetOptions
Pop $2
;MessageBox MB_OK "PARAM1: $2"
StrCmp $2 "" param1notset param1set
param1set:
StrCpy $4 "$2"
param1notset:
Push $1
Push "/PARAM2="
Call GetOptions
Pop $2
;MessageBox MB_OK "PARAM2: $2"
StrCmp $2 "" param2notset param2set
param2set:
StrCpy $5 "$2"
param2notset:
Push $1
Push "/PARAM3="
Call GetOptions
Pop $2
;MessageBox MB_OK "PARAM3: $2"
StrCmp $2 "" param3notset param3set
param3set:
StrCpy $6 "$2"
param3notset:
IfSilent onPostSilent onPostNoSilent
onPostSilent:
Push $1
Push "/POSTREMOVE="
Call GetOptions
Pop $2
;MessageBox MB_OK "POSTREMOVE: $2"
StrCmp $2 "ON" postremovesilent nopostremovesilent
nopostremovesilent:
StrCmp $R9 "true" installjava1 dontinstalljava1
installjava1:
ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qn REBOOT=Suppress"'
dontinstalljava1:
ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6 $7 -ignore_running" $0
SetErrorLevel $0
Quit
GoTo onPostDone
postremovesilent:
StrCmp $R9 "true" installjava2 dontinstalljava2
installjava2:
ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qn REBOOT=Suppress"'
dontinstalljava2:
ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6 $7 -ignore_running" $0
RMDir /r $INSTDIR
RMDir $INSTDIR
SetErrorLevel $0
Quit
GoTo onPostDone
onPostNoSilent:
Push $1
Push "/POSTREMOVE="
Call GetOptions
Pop $2
;MessageBox MB_OK "POSTREMOVE: $2"
StrCmp $2 "ON" postremove nopostremove
nopostremove:
Exec "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6"
Quit
GoTo onPostDone
postremove:
StrCmp $R9 "true" installjava3 dontinstalljava3
installjava3:
ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qr REBOOT=Suppress"'
dontinstalljava3:
ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6" $0
RMDir /r $INSTDIR
RMDir $INSTDIR
SetErrorLevel $0
Quit
GoTo onPostDone
onPostDone:
SectionEnd

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

View File

@ -775,375 +775,6 @@ sub resolve_variables_in_downloadname
return $downloadname;
}
##################################################################
# Windows: Replacing one placeholder with the specified value
##################################################################
sub replace_one_variable
{
my ($templatefile, $placeholder, $value) = @_;
my $infoline = "Replacing $placeholder by $value in nsi file\n";
push( @installer::globals::logfileinfo, $infoline);
for ( my $i = 0; $i <= $#{$templatefile}; $i++ )
{
${$templatefile}[$i] =~ s/$placeholder/$value/g;
}
}
########################################################################################
# Converting a string to a unicode string
########################################################################################
sub convert_to_unicode
{
my ($string) = @_;
my $unicodestring = "";
my $stringlength = length($string);
for ( my $i = 0; $i < $stringlength; $i++ )
{
$unicodestring = $unicodestring . substr($string, $i, 1);
$unicodestring = $unicodestring . chr(0);
}
return $unicodestring;
}
##################################################################
# Windows: Setting nsis version is necessary because of small
# changes in nsis from version 2.0.4 to 2.3.1
##################################################################
sub set_nsis_version
{
my ($nshfile) = @_;
my $searchstring = "\$\{LangFileString\}"; # occurs only in nsis 2.3.1 or similar
for ( my $i = 0; $i <= $#{$nshfile}; $i++ )
{
if ( ${$nshfile}[$i] =~ /\Q$searchstring\E/ )
{
# this is nsis 2.3.1 or similar
$installer::globals::nsis231 = 1;
$installer::globals::unicodensis = 0;
last;
}
}
# checking unicode version
$searchstring = convert_to_unicode($searchstring);
for ( my $i = 0; $i <= $#{$nshfile}; $i++ )
{
if ( ${$nshfile}[$i] =~ /\Q$searchstring\E/ )
{
# this is nsis 2.3.1 or similar
$installer::globals::nsis231 = 1;
$installer::globals::unicodensis = 1;
last;
}
}
if ( ! $installer::globals::nsis231 ) { $installer::globals::nsis204 = 1; }
}
##################################################################
# Windows: Including the product name into nsi template
##################################################################
sub put_windows_productname_into_template
{
my ($templatefile, $variableshashref) = @_;
my $productname = $variableshashref->{'PRODUCTNAME'};
$productname =~ s/\.//g; # OpenOffice.org -> OpenOfficeorg
replace_one_variable($templatefile, "PRODUCTNAMEPLACEHOLDER", $productname);
}
##################################################################
# Windows: Substituting the path to a file into the nsi template
##################################################################
sub substitute_path_into_template
{
my ($templatefile, $includepatharrayref, $allvariables, $var, $subst) = @_;
if ( ! $allvariables->{$var} ) { $var =~ s/_.*$//; } # _BR suffix ?
if ( ! $allvariables->{$var} ) { installer::exiter::exit_program("ERROR: $var not defined in product definition!", "substitute_path_into_template"); }
my $filename = $allvariables->{$var};
my $completefilenameref = "";
if ( $installer::globals::include_pathes_read )
{
$completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$filename, $includepatharrayref, 0);
}
else
{
$completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath_classic(\$filename, $includepatharrayref, 0);
}
if ($$completefilenameref eq "") { installer::exiter::exit_program("ERROR: Could not find download file $filename!", "substitute_path_into_template"); }
if ( $^O =~ /cygwin/i ) { $$completefilenameref =~ s/\//\\/g; }
replace_one_variable($templatefile, $subst, $$completefilenameref);
}
##################################################################
# Windows: substitute a variable into the nsi template
##################################################################
sub substitute_variable_into_template($$$$)
{
my ($templatefile, $variableshashref, $varname, $subst) = @_;
my $var = "";
if ( $variableshashref->{$varname} ) { $var = $variableshashref->{$varname}; }
replace_one_variable($templatefile, $subst, $var);
}
##################################################################
# Windows: Including the product version into nsi template
##################################################################
sub put_windows_productpath_into_template
{
my ($templatefile, $variableshashref, $languagestringref, $localnsisdir) = @_;
my $productpath = $variableshashref->{'PROPERTYTABLEPRODUCTNAME'};
if (length($locallangs) > $installer::globals::max_lang_length) { $locallangs = "multi lingual"; }
if ( ! $installer::globals::languagepack || ! $installer::globals::helppack ) { $productpath = $productpath . " (" . sprintf('%x', time()) . ")"; }
replace_one_variable($templatefile, "PRODUCTPATHPLACEHOLDER", $productpath);
}
##################################################################
# Windows: Including download file name into nsi template
##################################################################
sub put_outputfilename_into_template
{
my ($templatefile, $downloadname) = @_;
$installer::globals::downloadfileextension = ".exe";
$downloadname = $downloadname . $installer::globals::downloadfileextension;
$installer::globals::downloadfilename = $downloadname;
replace_one_variable($templatefile, "DOWNLOADNAMEPLACEHOLDER", $downloadname);
}
##################################################################
# Windows: Generating the file list in nsi file format
##################################################################
sub get_file_list
{
my ( $basedir ) = @_;
my @filelist = ();
my $alldirs = installer::systemactions::get_all_directories($basedir);
unshift(@{$alldirs}, $basedir); # $basedir is the first directory in $alldirs
for ( my $i = 0; $i <= $#{$alldirs}; $i++ )
{
my $onedir = ${$alldirs}[$i];
# Syntax:
# SetOutPath "$INSTDIR"
my $relativedir = $onedir;
$relativedir =~ s/\Q$basedir\E//;
my $oneline = " " . "SetOutPath" . " " . "\"\$INSTDIR" . $relativedir . "\"" . "\n";
if ( $^O =~ /cygwin/i ) {
$oneline =~ s/\//\\/g;
}
push(@filelist, $oneline);
# Collecting all files in the specific directory
my $files = installer::systemactions::get_all_files_from_one_directory($onedir);
for ( my $j = 0; $j <= $#{$files}; $j++ )
{
my $onefile = ${$files}[$j];
my $fileline = " " . "File" . " " . "\"" . $onefile . "\"" . "\n";
if ( $^O =~ /cygwin/i ) {
$fileline =~ s/\//\\/g;
}
push(@filelist, $fileline);
}
}
return \@filelist;
}
##################################################################
# Windows: Including list of all files into nsi template
##################################################################
sub put_filelist_into_template
{
my ($templatefile, $installationdir) = @_;
my $filelist = get_file_list($installationdir);
my $filestring = "";
for ( my $i = 0; $i <= $#{$filelist}; $i++ )
{
$filestring = $filestring . ${$filelist}[$i];
}
$filestring =~ s/\s*$//;
replace_one_variable($templatefile, "ALLFILESPLACEHOLDER", $filestring);
}
##################################################################
# Windows: NSIS uses specific language names
##################################################################
sub nsis_language_converter
{
my ($language) = @_;
my $nsislanguage = "";
# Assign language used by NSIS.
# The files "$nsislanguage.nsh" and "$nsislanguage.nlf"
# are needed in the NSIS environment.
# Directory: <NSIS-Dir>/Contrib/Language files
if ( $language eq "en-US" ) { $nsislanguage = "English"; }
elsif ( $language eq "sq" ) { $nsislanguage = "Albanian"; }
elsif ( $language eq "ar" ) { $nsislanguage = "Arabic"; }
elsif ( $language eq "bg" ) { $nsislanguage = "Bulgarian"; }
elsif ( $language eq "ca" ) { $nsislanguage = "Catalan"; }
elsif ( $language eq "hr" ) { $nsislanguage = "Croatian"; }
elsif ( $language eq "cs" ) { $nsislanguage = "Czech"; }
elsif ( $language eq "da" ) { $nsislanguage = "Danish"; }
elsif ( $language eq "nl" ) { $nsislanguage = "Dutch"; }
elsif ( $language eq "de" ) { $nsislanguage = "German"; }
elsif ( $language eq "de-LU" ) { $nsislanguage = "Luxembourgish"; }
elsif ( $language eq "et" ) { $nsislanguage = "Estonian"; }
elsif ( $language eq "fa" ) { $nsislanguage = "Farsi"; }
elsif ( $language eq "el" ) { $nsislanguage = "Greek"; }
elsif ( $language eq "fi" ) { $nsislanguage = "Finnish"; }
elsif ( $language eq "fr" ) { $nsislanguage = "French"; }
elsif ( $language eq "hu" ) { $nsislanguage = "Hungarian"; }
elsif ( $language eq "he" ) { $nsislanguage = "Hebrew"; }
elsif ( $language eq "is" ) { $nsislanguage = "Icelandic"; }
elsif ( $language eq "id" ) { $nsislanguage = "Indonesian"; }
elsif ( $language eq "it" ) { $nsislanguage = "Italian"; }
elsif ( $language eq "lv" ) { $nsislanguage = "Latvian"; }
elsif ( $language eq "lt" ) { $nsislanguage = "Lithuanian"; }
elsif ( $language eq "mk" ) { $nsislanguage = "Macedonian"; }
elsif ( $language eq "mn" ) { $nsislanguage = "Mongolian"; }
elsif ( $language eq "no" ) { $nsislanguage = "Norwegian"; }
elsif ( $language eq "no-NO" ) { $nsislanguage = "Norwegian"; }
elsif ( $language eq "es" ) { $nsislanguage = "Spanish"; }
elsif ( $language eq "sl" ) { $nsislanguage = "Slovenian"; }
elsif ( $language eq "sv" ) { $nsislanguage = "Swedish"; }
elsif ( $language eq "sk" ) { $nsislanguage = "Slovak"; }
elsif ( $language eq "pl" ) { $nsislanguage = "Polish"; }
elsif ( $language eq "pt-BR" ) { $nsislanguage = "PortugueseBR"; }
elsif ( $language eq "pt" ) { $nsislanguage = "Portuguese"; }
elsif ( $language eq "ro" ) { $nsislanguage = "Romanian"; }
elsif ( $language eq "ru" ) { $nsislanguage = "Russian"; }
elsif ( $language eq "sh" ) { $nsislanguage = "SerbianLatin"; }
elsif ( $language eq "sr" ) { $nsislanguage = "Serbian"; }
elsif ( $language eq "sr-SP" ) { $nsislanguage = "Serbian"; }
elsif ( $language eq "uk" ) { $nsislanguage = "Ukrainian"; }
elsif ( $language eq "tr" ) { $nsislanguage = "Turkish"; }
elsif ( $language eq "ja" ) { $nsislanguage = "Japanese"; }
elsif ( $language eq "ko" ) { $nsislanguage = "Korean"; }
elsif ( $language eq "th" ) { $nsislanguage = "Thai"; }
elsif ( $language eq "zh-CN" ) { $nsislanguage = "SimpChinese"; }
elsif ( $language eq "zh-TW" ) { $nsislanguage = "TradChinese"; }
else {
my $infoline = "NSIS language_converter : Could not find nsis language for $language!\n";
push( @installer::globals::logfileinfo, $infoline);
$nsislanguage = "English";
}
return $nsislanguage;
}
##################################################################
# Windows: Including list of all languages into nsi template
##################################################################
sub put_language_list_into_template
{
my ($templatefile, $languagesarrayref) = @_;
my $alllangstring = "";
my %nsislangs;
for ( my $i = 0; $i <= $#{$languagesarrayref}; $i++ )
{
my $onelanguage = ${$languagesarrayref}[$i];
my $nsislanguage = nsis_language_converter($onelanguage);
$nsislangs{$nsislanguage}++;
}
foreach my $nsislanguage ( keys(%nsislangs) )
{
# Syntax: !insertmacro MUI_LANGUAGE "English"
my $langstring = "\!insertmacro MUI_LANGUAGE_PACK " . $nsislanguage . "\n";
if ( $nsislanguage eq "English" )
{
$alllangstring = $langstring . $alllangstring;
}
else
{
$alllangstring = $alllangstring . $langstring;
}
}
$alllangstring =~ s/\s*$//;
replace_one_variable($templatefile, "ALLLANGUAGESPLACEHOLDER", $alllangstring);
}
##################################################################
# Windows: Collecting all identifier from mlf file
##################################################################
sub get_identifier
{
my ( $mlffile ) = @_;
my @identifier = ();
for ( my $i = 0; $i <= $#{$mlffile}; $i++ )
{
my $oneline = ${$mlffile}[$i];
if ( $oneline =~ /^\s*\[(.+)\]\s*$/ )
{
my $identifier = $1;
push(@identifier, $identifier);
}
}
return \@identifier;
}
##############################################################
# Returning the complete block in all languages
# for a specified string
@ -1214,85 +845,6 @@ sub get_language_string_from_language_block
return $newstring;
}
##################################################################
# Windows: Replacing strings in NSIS nsh file
# nsh file syntax:
# !define MUI_TEXT_DIRECTORY_TITLE "Zielverzeichnis ausw<73>hlen"
##################################################################
sub replace_identifier_in_nshfile
{
my ( $nshfile, $identifier, $newstring, $nshfilename, $onelanguage ) = @_;
if ( $installer::globals::nsis231 )
{
$newstring =~ s/\\r/\$\\r/g; # \r -> $\r in modern nsis versions
$newstring =~ s/\\n/\$\\n/g; # \n -> $\n in modern nsis versions
}
for ( my $i = 0; $i <= $#{$nshfile}; $i++ )
{
if ( ${$nshfile}[$i] =~ /\s+\Q$identifier\E\s+\"(.+)\"\s*$/ )
{
my $oldstring = $1;
${$nshfile}[$i] =~ s/\Q$oldstring\E/$newstring/;
my $infoline = "NSIS replacement in $nshfilename ($onelanguage): $oldstring \-\> $newstring\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
}
##################################################################
# Windows: Replacing strings in NSIS nlf file
# nlf file syntax (2 lines):
# # ^DirSubText
# Zielverzeichnis
##################################################################
sub replace_identifier_in_nlffile
{
my ( $nlffile, $identifier, $newstring, $nlffilename, $onelanguage ) = @_;
for ( my $i = 0; $i <= $#{$nlffile}; $i++ )
{
if ( ${$nlffile}[$i] =~ /^\s*\#\s+\^\s*\Q$identifier\E\s*$/ )
{
my $next = $i+1;
my $oldstring = ${$nlffile}[$next];
${$nlffile}[$next] = $newstring . "\n";
$oldstring =~ s/\s*$//;
my $infoline = "NSIS replacement in $nlffilename ($onelanguage): $oldstring \-\> $newstring\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
}
##################################################################
# Windows: Translating the NSIS nsh and nlf file
##################################################################
sub translate_nsh_nlf_file
{
my ($nshfile, $nlffile, $mlffile, $onelanguage, $nshfilename, $nlffilename, $nsislanguage) = @_;
# Analyzing the mlf file, collecting all Identifier
my $allidentifier = get_identifier($mlffile);
$onelanguage = "en-US" if ( $nsislanguage eq "English" && $onelanguage ne "en-US");
for ( my $i = 0; $i <= $#{$allidentifier}; $i++ )
{
my $identifier = ${$allidentifier}[$i];
my $language_block = get_language_block_from_language_file($identifier, $mlffile);
my $newstring = get_language_string_from_language_block($language_block, $onelanguage);
# removing mask
$newstring =~ s/\\\'/\'/g;
replace_identifier_in_nshfile($nshfile, $identifier, $newstring, $nshfilename, $onelanguage);
replace_identifier_in_nlffile($nlffile, $identifier, $newstring, $nlffilename, $onelanguage);
}
}
##################################################################
# Converting utf 16 file to utf 8
##################################################################
@ -1351,303 +903,6 @@ sub convert_utf8_to_utf16
installer::systemactions::copy_one_file($filename, $savfilename);
}
##################################################################
# Converting text string to utf 16
##################################################################
sub convert_textstring_to_utf16
{
my ( $textstring, $localnsisdir, $shortfilename ) = @_;
my $filename = $localnsisdir . $installer::globals::separator . $shortfilename;
my @filecontent = ();
push(@filecontent, $textstring);
installer::files::save_file($filename, \@filecontent);
convert_utf8_to_utf16($filename);
my $newfile = installer::files::read_file($filename);
my $utf16string = "";
if ( ${$newfile}[0] ne "" ) { $utf16string = ${$newfile}[0]; }
return $utf16string;
}
##################################################################
# Windows: Copying NSIS language files to local nsis directory
##################################################################
sub copy_and_translate_nsis_language_files
{
my ($nsispath, $localnsisdir, $languagesarrayref, $allvariables) = @_;
my $nlffilepath = $nsispath . $installer::globals::separator . "Contrib" . $installer::globals::separator . "Language\ files" . $installer::globals::separator;
my $nshfilepath = $nsispath . $installer::globals::separator . "Contrib" . $installer::globals::separator . "Modern\ UI" . $installer::globals::separator . "Language files" . $installer::globals::separator;
my $infoline = "";
for ( my $i = 0; $i <= $#{$languagesarrayref}; $i++ )
{
my $onelanguage = ${$languagesarrayref}[$i];
my $nsislanguage = nsis_language_converter($onelanguage);
# Copying the nlf file
my $sourcepath = $nlffilepath . $nsislanguage . "\.nlf";
if ( ! -f $sourcepath ) { installer::exiter::exit_program("ERROR: Could not find nsis file: $sourcepath!", "copy_and_translate_nsis_language_files"); }
my $nlffilename = $localnsisdir . $installer::globals::separator . $nsislanguage . "_pack.nlf";
if ( $^O =~ /cygwin/i ) { $nlffilename =~ s/\//\\/g; }
installer::systemactions::copy_one_file($sourcepath, $nlffilename);
# Copying the nsh file
# In newer nsis versions, the nsh file is located next to the nlf file
$sourcepath = $nshfilepath . $nsislanguage . "\.nsh";
if ( ! -f $sourcepath )
{
# trying to find the nsh file next to the nlf file
$sourcepath = $nlffilepath . $nsislanguage . "\.nsh";
if ( ! -f $sourcepath )
{
installer::exiter::exit_program("ERROR: Could not find nsis file: $sourcepath!", "copy_and_translate_nsis_language_files");
}
}
my $nshfilename = $localnsisdir . $installer::globals::separator . $nsislanguage . "_pack.nsh";
if ( $^O =~ /cygwin/i ) { $nshfilename =~ s/\//\\/g; }
installer::systemactions::copy_one_file($sourcepath, $nshfilename);
# Changing the macro name in nsh file: MUI_LANGUAGEFILE_BEGIN -> MUI_LANGUAGEFILE_PACK_BEGIN
my $nshfile = installer::files::read_file($nshfilename);
set_nsis_version($nshfile);
if ( $installer::globals::unicodensis )
{
$infoline = "This is Unicode NSIS!\n";
push( @installer::globals::logfileinfo, $infoline);
convert_utf16_to_utf8($nshfilename);
convert_utf16_to_utf8($nlffilename);
$nshfile = installer::files::read_file($nshfilename); # read nsh file again
}
replace_one_variable($nshfile, "MUI_LANGUAGEFILE_BEGIN", "MUI_LANGUAGEFILE_PACK_BEGIN");
# find the ulf file for translation
my $mlffile = get_translation_file($allvariables);
# Translate the files
my $nlffile = installer::files::read_file($nlffilename);
translate_nsh_nlf_file($nshfile, $nlffile, $mlffile, $onelanguage, $nshfilename, $nlffilename, $nsislanguage);
installer::files::save_file($nshfilename, $nshfile);
installer::files::save_file($nlffilename, $nlffile);
if ( $installer::globals::unicodensis )
{
convert_utf8_to_utf16($nshfilename);
convert_utf8_to_utf16($nlffilename);
}
}
}
##################################################################
# Windows: Including the nsis path into the nsi template
##################################################################
sub put_nsis_path_into_template
{
my ($templatefile, $nsisdir) = @_;
replace_one_variable($templatefile, "NSISPATHPLACEHOLDER", $nsisdir);
}
##################################################################
# Windows: Including the output path into the nsi template
##################################################################
sub put_output_path_into_template
{
my ($templatefile, $downloaddir) = @_;
if ( $^O =~ /cygwin/i ) { $downloaddir =~ s/\//\\/g; }
replace_one_variable($templatefile, "OUTPUTDIRPLACEHOLDER", $downloaddir);
}
##################################################################
# Windows: Only allow specific code for nsis 2.0.4 or nsis 2.3.1
##################################################################
sub put_version_specific_code_into_template
{
my ($templatefile) = @_;
my $subst204 = "";
my $subst231 = "";
if ( $installer::globals::nsis204 )
{
$subst231 = ";";
}
else
{
$subst204 = ";";
}
replace_one_variable($templatefile, "\#204\#", $subst204);
replace_one_variable($templatefile, "\#231\#", $subst231);
}
##################################################################
# Windows: Finding the path to the nsis SDK
##################################################################
sub get_path_to_nsis_sdk
{
my $vol;
my $dir;
my $file;
my $nsispath = "";
if ( $ENV{'NSIS_PATH'} ) {
$nsispath = $ENV{'NSIS_PATH'};
} elsif ( $ENV{'SOLARROOT'} ) {
$nsispath = $ENV{'SOLARROOT'} . $installer::globals::separator . "NSIS";
} else {
# do we have nsis already in path ?
@paths = split(/:/, $ENV{'PATH'});
foreach $paths (@paths) {
$paths =~ s/[\/\\]+$//; # remove trailing slashes;
$nsispath = $paths . "/nsis";
if ( -x $nsispath ) {
$nsispath = $paths;
last;
}
else {
$nsispath = "";
}
}
}
if ( $ENV{'NSISSDK_SOURCE'} ) {
installer::logger::print_warning( "NSISSDK_SOURCE is deprecated. use NSIS_PATH instead.\n" );
$nsispath = $ENV{'NSISSDK_SOURCE'}; # overriding the NSIS SDK with NSISSDK_SOURCE
}
if ( $nsispath eq "" )
{
installer::logger::print_message( "... no Environment variable \"SOLARROOT\", \"NSIS_PATH\" or \"NSISSDK_SOURCE\" found and NSIS not found in path!", "get_path_to_nsis_sdk");
} elsif ( ! -d $nsispath )
{
installer::exiter::exit_program("ERROR: NSIS path $nsispath does not exist!", "get_path_to_nsis_sdk");
}
return $nsispath;
}
##################################################################
# Windows: Executing NSIS to create the installation set
##################################################################
sub call_nsis
{
my ( $nsispath, $nsifile ) = @_;
my $makensisexe = $nsispath . $installer::globals::separator . "makensis.exe";
installer::logger::print_message( "... starting $makensisexe ... \n" );
if( $^O =~ /cygwin/i ) { $nsifile =~ s/\\/\//g; }
my $systemcall = "$makensisexe /V4 /DMUI_VERBOSE=4 $nsifile |";
my $infoline = "Systemcall: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
my @nsisoutput = ();
open (NSI, "$systemcall");
while (<NSI>) {push(@nsisoutput, $_); }
close (NSI);
my $returnvalue = $?; # $? contains the return value of the systemcall
if ($returnvalue)
{
$infoline = "ERROR: $systemcall !\n";
push( @installer::globals::logfileinfo, $infoline);
}
else
{
$infoline = "Success: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
}
for ( my $i = 0; $i <= $#nsisoutput; $i++ ) { push( @installer::globals::logfileinfo, "$nsisoutput[$i]"); }
}
#################################################################################
# Replacing one variable in one files
#################################################################################
sub replace_one_variable_in_translationfile
{
my ($translationfile, $variable, $searchstring) = @_;
for ( my $i = 0; $i <= $#{$translationfile}; $i++ )
{
${$translationfile}[$i] =~ s/\%$searchstring/$variable/g;
}
}
#################################################################################
# Replacing the variables in the translation file
#################################################################################
sub replace_variables
{
my ($translationfile, $variableshashref) = @_;
# we want to substitute FOO_BR before FOO to avoid floating _BR suffixes
foreach $key (sort { length ($b) <=> length ($a) } keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
# special handling for PRODUCTVERSION, if $allvariables->{'POSTVERSIONEXTENSION'}
if (( $key eq "PRODUCTVERSION" ) && ( $variableshashref->{'POSTVERSIONEXTENSION'} )) { $value = $value . " " . $variableshashref->{'POSTVERSIONEXTENSION'}; }
replace_one_variable_in_translationfile($translationfile, $value, $key);
}
}
#########################################################
# Getting the translation file for the nsis installer
#########################################################
sub get_translation_file
{
my ($allvariableshashref) = @_;
my $translationfilename = $installer::globals::idtlanguagepath . $installer::globals::separator . $installer::globals::nsisfilename;
if ( $installer::globals::unicodensis ) { $translationfilename = $translationfilename . ".uulf"; }
else { $translationfilename = $translationfilename . ".mlf"; }
if ( ! -f $translationfilename ) { installer::exiter::exit_program("ERROR: Could not find language file $translationfilename!", "get_translation_file"); }
my $translationfile = installer::files::read_file($translationfilename);
replace_variables($translationfile, $allvariableshashref);
my $infoline = "Reading translation file: $translationfilename\n";
push( @installer::globals::logfileinfo, $infoline);
return $translationfile;
}
####################################################
# Removing english, if it was added before
####################################################
sub remove_english_for_nsis_installer
{
my ($languagestringref, $languagesarrayref) = @_;
@{$languagesarrayref} = ("en-US"); # only english for NSIS installer!
}
####################################################
# Creating link tree for upload
####################################################
@ -1711,9 +966,6 @@ sub create_download_sets
installer::logger::include_header_into_logfile("Creating download installation sets:");
# special handling for installation sets, to which english was added automatically
if ( $installer::globals::added_english ) { remove_english_for_nsis_installer($languagestringref, $languagesarrayref); }
my $firstdir = $installationdir;
installer::pathanalyzer::get_path_from_fullqualifiedname(\$firstdir);
@ -1807,81 +1059,6 @@ sub create_download_sets
include_tar_into_script($newscriptfilename, $temporary_tarfile_name);
}
}
else # Windows specific part
{
my $localnsisdir = installer::systemactions::create_directories("nsis", $languagestringref);
# push(@installer::globals::removedirs, $localnsisdir);
# find nsis in the system
my $nsispath = get_path_to_nsis_sdk();
if ( $nsispath eq "" ) {
# If nsis is not found just skip the rest of this function
# and do not create the NSIS file.
$infoline = "\nNo NSIS SDK found. Skipping the generation of NSIS file.\n";
push(@installer::globals::logfileinfo, $infoline);
installer::logger::print_message( "... no NSIS SDK found. Skipping the generation of NSIS file ... \n" );
return $downloaddir;
}
# copy language files into nsis directory and translate them
copy_and_translate_nsis_language_files($nsispath, $localnsisdir, $languagesarrayref, $allvariableshashref);
# find and read the nsi file template
my $templatefilename = "downloadtemplate.nsi";
my $templateref = "";
if ( $installer::globals::include_pathes_read )
{
$templateref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$templatefilename, $includepatharrayref, 0);
}
else
{
$templateref = installer::scriptitems::get_sourcepath_from_filename_and_includepath_classic(\$templatefilename, $includepatharrayref, 0);
}
if ($$templateref eq "") { installer::exiter::exit_program("ERROR: Could not find nsi template file $templatefilename!", "create_download_sets"); }
my $templatefile = installer::files::read_file($$templateref);
# add product name into script template
put_windows_productname_into_template($templatefile, $allvariableshashref);
@path_substs = (
'DOWNLOADBANNER' => 'BANNERBMPPLACEHOLDER',
'DOWNLOADBITMAP' => 'WELCOMEBMPPLACEHOLDER',
'DOWNLOADSETUPICO' => 'SETUPICOPLACEHOLDER'
);
while (@path_substs) {
my $var= shift @path_substs;
my $val = shift @path_substs;
substitute_path_into_template($templatefile, $includepatharrayref,
$allvariableshashref, $var, $val);
}
%var_substs = (
'OOOVENDOR' => 'PUBLISHERPLACEHOLDER',
'STARTCENTER_INFO_URL' => 'WEBSITEPLACEHOLDER',
'WINDOWSJAVAFILENAME' => 'WINDOWSJAVAFILENAMEPLACEHOLDER',
'PRODUCTVERSION' => 'PRODUCTVERSIONPLACEHOLDER'
);
for $var (keys %var_substs) {
substitute_variable_into_template($templatefile, $allvariableshashref,
$var, $var_substs{$var});
}
put_windows_productpath_into_template($templatefile, $allvariableshashref, $languagestringref, $localnsisdir);
put_outputfilename_into_template($templatefile, $downloadname);
put_filelist_into_template($templatefile, $installationdir);
put_language_list_into_template($templatefile, $languagesarrayref);
put_nsis_path_into_template($templatefile, $localnsisdir);
put_output_path_into_template($templatefile, $downloaddir);
put_version_specific_code_into_template($templatefile);
my $nsifilename = save_script_file($localnsisdir, $templatefilename, $templatefile);
installer::logger::print_message( "... created NSIS file $nsifilename ... \n" );
# starting the NSIS SDK to create the download file
call_nsis($nsispath, $nsifilename);
}
return $downloaddir;
}

View File

@ -94,7 +94,6 @@ sub save_followme_info
push(@filecontent, "globals:product: $installer::globals::product\n");
push(@filecontent, "globals:minor: $installer::globals::minor\n");
push(@filecontent, "globals:lastminor: $installer::globals::lastminor\n");
push(@filecontent, "globals:nsisfilename: $installer::globals::nsisfilename\n");
# Saving file
installer::files::save_file($downloadinfodir . $installer::globals::separator . $downloadinfofilename, \@filecontent);
@ -197,7 +196,6 @@ sub read_followme_info
if ( $name eq "product" ) { $installer::globals::product = $value; }
if ( $name eq "minor" ) { $installer::globals::minor = $value; }
if ( $name eq "lastminor" ) { $installer::globals::lastminor = $value; }
if ( $name eq "nsisfilename" ) { $installer::globals::nsisfilename = $value; }
}
}

View File

@ -455,11 +455,7 @@ BEGIN
@helppackfeature =();
@featurecollector =();
$msiassemblyfiles = "";
$nsisfilename = "Nsis";
$macinstallfilename = "macinstall.ulf";
$nsis204 = 0;
$nsis231 = 0;
$unicodensis = 0;
$linuxlinkrpms = "";
$extensioninstalldir = "gid_Dir_Share_Extension_Install";
@languagenames = ();