annotate makeinst-script.sh @ 3384:0de28586712a

installer: Change gui shortcut path to libexec installed path * makeinst-script.sh: change shortcut path to libexec\\octave\\$OCTAVE_VERSION\\exec\\i686-pc-mingw32\\octave-gui.exe, get version from octave-version file. * src/octave-2-libexec.patch: new file to install octave-gui.exe to libexec * dist-files.mk: add octave-2-libexec.patch and octave-1-links.patch.
author John Donoghue <john.donoghue@ieee.org>
date Wed, 01 Jan 2014 17:45:54 -0500
parents cfcbe03c9160
children 0779856e1186
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
1 #! /bin/bash
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
2 set -e
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
3
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
4 if [ $# != 1 ]; then
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
5 echo "Expected octave folder"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
6 exit
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
7 fi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
8
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
9 ARG1=$1
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
10
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
11 TOPDIR=`dirname $ARG1`
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
12 OCTAVE_SOURCE=`basename $ARG1`
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
13
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
14 echo "Generating installer script ... "
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
15
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
16 cd $TOPDIR
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
17 MXEDIR=`cd ..; pwd`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
18
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
19 # find octave shortcut icon
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
20 ICON=`find $OCTAVE_SOURCE -name octave-logo.ico -printf "%P" | head -1 | sed 's,/,\\\\,g'`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
21
3366
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
22 # extract version number
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
23 OCTAVE_VERSION=`head -1 $MXEDIR/octave/octave-version`
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
24 VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`
3366
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
25
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
26 # create installer script
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
27 echo "; octave setup script $OCTAVE_SOURCE" > octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
28
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
29 # installer settings
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
30 cat >> octave.nsi << EOF
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
31 !define APP_NAME "GNU Octave"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
32 !define COMP_NAME "GNU Project"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
33 !define WEB_SITE "http://www.octave.org"
3366
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
34 !define VERSION "$VERSION.0"
ab6116aa1039 installer: update mk-dist to use make-installer installer file name and use octave-version
John Donoghue <john.donoghue@ieee.org>
parents: 3364
diff changeset
35 !define OCTAVE_VERSION "$OCTAVE_VERSION"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
36 !define COPYRIGHT "Copyright © 2013 John W. Eaton and others."
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
37 !define DESCRIPTION "GNU Octave is a high-level programming language, primarily intended for numerical computations."
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
38 !define INSTALLER_FILES "../installer_files"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
39 !define INSTALLER_NAME "octave-installer.exe"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
40 !define MAIN_APP_EXE "octave.exe"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
41 !define INSTALL_TYPE "SetShellVarContext current"
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
42 !define PRODUCT_ROOT_KEY "HKLM"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
43 !define PRODUCT_KEY "Software\\Octave"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
44
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
45 ######################################################################
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
46
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
47 VIProductVersion "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
48 VIAddVersionKey "ProductName" "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
49 VIAddVersionKey "CompanyName" "\${COMP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
50 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
51 VIAddVersionKey "FileDescription" "\${DESCRIPTION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
52 VIAddVersionKey "FileVersion" "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
53
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
54 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
55
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
56 SetCompressor /SOLID Lzma
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
57 Name "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
58 Caption "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
59 OutFile "\${INSTALLER_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
60 BrandingText "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
61 XPStyle on
3361
9781db518638 makeinst-script.sh: Remove whitespace from installation path and add version number in default installation directory
Anirudha Bose <ani07nov@gmail.com>
parents: 3360
diff changeset
62 InstallDir "C:\\Octave\\Octave-\${OCTAVE_VERSION}"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
63 Icon "\${INSTALLER_FILES}/octave-logo.ico"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
64
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
65 ######################################################################
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
66 ; MUI settings
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
67 !include "MUI.nsh"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
68
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
69 !define MUI_ABORTWARNING
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
70 !define MUI_UNABORTWARNING
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
71 !define MUI_HEADERIMAGE
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
72
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
73 ; Theme
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
74 !define MUI_ICON "\${INSTALLER_FILES}/octave-logo.ico"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
75 !define MUI_UNICON "./${OCTAVE_SOURCE}/share/nsis/Contrib/Graphics/Icons/orange-uninstall.ico"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
76 !define MUI_HEADERIMAGE_BITMAP "\${INSTALLER_FILES}/octave-hdr.bmp"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
77 !define MUI_WELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
78
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
79 !insertmacro MUI_PAGE_WELCOME
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
80
3360
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
81 !define MUI_LICENSEPAGE_TEXT_BOTTOM "The source code for Octave is freely redistributable under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation."
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
82 !define MUI_LICENSEPAGE_BUTTON "Next >"
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
83 !insertmacro MUI_PAGE_LICENSE "\${INSTALLER_FILES}/gpl-3.0.txt"
3356
2e44e8f86cd6 makeinst-script.sh: add license page with GPLv3
Anirudha Bose <ani07nov@gmail.com>
parents: 3355
diff changeset
84
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
85 !insertmacro MUI_PAGE_DIRECTORY
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
86
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
87 !insertmacro MUI_PAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
88
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
89 !define MUI_FINISHPAGE_RUN "\$INSTDIR\\bin\\\${MAIN_APP_EXE}"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
90 !insertmacro MUI_PAGE_FINISH
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
91
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
92 !insertmacro MUI_UNPAGE_CONFIRM
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
93
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
94 !insertmacro MUI_UNPAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
95
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
96 !insertmacro MUI_UNPAGE_FINISH
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
97
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
98 !insertmacro MUI_LANGUAGE "English"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
99
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
100 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
101
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
102 RequestExecutionLevel admin
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
103
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
104 Function .onInit
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
105 Call DetectWinVer
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
106 Call CheckPrevVersion
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
107 Call CheckJRE
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
108 InitPluginsDir
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
109 FunctionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
110
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
111 ; file section
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
112 Section "MainFiles"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
113
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
114 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
115
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
116 # insert the files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
117 IFS=$'\n'
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
118 for f in $(find $OCTAVE_SOURCE -type d -printf "%P\n"); do
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
119 winf=`echo $f | sed 's,/,\\\\,g'`
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
120 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
121 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
122 find "$OCTAVE_SOURCE/$f" -maxdepth 1 -type f -printf " File \"%p\"\n" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
123 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
124
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
125 cat >> octave.nsi << EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
126
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
127 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
128
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
129 Section make_uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
130 ; Write the uninstall keys for Windows
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
131 SetOutPath "\$INSTDIR"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
132 WriteRegStr HKLM "Software\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "DisplayName" "Octave"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
133 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "UninstallString" "\$INSTDIR\\uninstall.exe"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
134 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "NoModify" 1
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
135 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "NoRepair" 1
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
136 WriteUninstaller "uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
137 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
138
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
139 ; start menu (currently hardcoded)
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
140 Section "Shortcuts"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
141
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
142 CreateDirectory "\$SMPROGRAMS\\Octave"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
143 CreateShortCut "\$SMPROGRAMS\\Octave\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
144 SetOutPath "\$INSTDIR\\bin"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
145 CreateShortCut "\$SMPROGRAMS\\Octave\\Octave.lnk" "\$INSTDIR\\bin\\octave.exe" "" "\$INSTDIR\\$ICON" 0
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
146 CreateShortCut "\$SMPROGRAMS\\Octave\\Octave (Experimental GUI).lnk" "\$INSTDIR\\libexec\\octave\\$OCTAVE_VERSION\\exec\\i686-pc-mingw32\\octave-gui.exe" "" "\$INSTDIR\\$ICON" 0
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
147 SetOutPath "\$INSTDIR"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
148 EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
149 # if we have documentation files, create shortcuts
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
150 if [ -d $OCTAVE_SOURCE/share/doc/octave ]; then
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
151 cat >> octave.nsi << EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
152 CreateDirectory "\$SMPROGRAMS\\Octave\\Documentation"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
153 CreateShortCut "\$SMPROGRAMS\\Octave\\Documentation\\Octave C++ Classes (PDF).lnk" "\$INSTDIR\\share\\doc\\octave\\liboctave.pdf" "" "" 0
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
154 CreateShortCut "\$SMPROGRAMS\\Octave\\Documentation\\Octave C++ Classes (HTML).lnk" "\$INSTDIR\\share\\doc\\octave\\liboctave.html\\index.html" "" "" 0
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
155 CreateShortCut "\$SMPROGRAMS\\Octave\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\share\\doc\\octave\\octave.pdf" "" "" 0
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
156 CreateShortCut "\$SMPROGRAMS\\Octave\\Documentation\\Octave (HTML).lnk" "\$INSTDIR\\share\\doc\\octave\\octave.html\\index.html" "" "" 0
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
157 EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
158 fi
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
159
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
160 cat >> octave.nsi << EOF
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
161 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
162
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
163 Section "Uninstall"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
164
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
165 DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
166 DeleteRegKey HKLM "Software\\Octave"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
167
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
168 ; Remove shortcuts
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
169 Delete "\$SMPROGRAMS\\Octave\\Documentation\\*.*"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
170 RMDir "\$SMPROGRAMS\\Octave\\Documentation"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
171
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
172 Delete "\$SMPROGRAMS\\Octave\\*.*"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
173 RMDir "\$SMPROGRAMS\\Octave"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
174
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
175 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
176
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
177 # insert dir list (backwards order) for uninstall files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
178 for f in $(find $OCTAVE_SOURCE -depth -type d -printf "%P\n"); do
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
179 winf=`echo $f | sed 's,/,\\\\,g'`
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
180 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
181 echo " RmDir \"\$INSTDIR\\$winf\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
182 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
183
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
184 # last bit of the uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
185 cat >> octave.nsi << EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
186 Delete "\$INSTDIR\*.*"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
187 RmDir "\$INSTDIR"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
188 SectionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
189
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
190 ; Function to detect Windows version and abort if Octave is unsupported in the current platform
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
191 Function DetectWinVer
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
192 Push \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
193 Push \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
194 ReadRegStr \$0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
195 IfErrors is_error is_winnt
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
196 is_winnt:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
197 StrCpy \$1 \$0 1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
198 StrCmp \$1 4 is_error ; Aborting installation for Windows versions older than Windows 2000
3364
4812bade5c85 makeinst-script.sh: Remove Windows 2000 as supported Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3363
diff changeset
199 StrCmp \$0 "5.0" is_error ; Removing Windows 2000 as supported Windows version
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
200 StrCmp \$0 "5.1" is_winnt_XP
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
201 StrCmp \$0 "5.2" is_winnt_2003
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
202 StrCmp \$0 "6.0" is_winnt_vista
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
203 StrCmp \$0 "6.1" is_winnt_7
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
204 StrCmp \$0 "6.2" is_winnt_8
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
205 StrCmp \$1 6 is_winnt_8 ; Checking for future versions of Windows 8
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
206 Goto is_error
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
207
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
208 is_winnt_8:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
209 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Setup has detected Windows 8 installed on your system. Octave is currently not fully supported on Windows 8. If you choose to continue with the installation, you might not be able to access Octave GUI. Do you want to proceed with the installation anyway?" IDYES done IDNO 0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
210 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
211 is_winnt_XP:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
212 is_winnt_2003:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
213 is_winnt_vista:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
214 is_winnt_7:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
215 Goto done
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
216 is_error:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
217 StrCpy \$1 \$0
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
218 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" ProductName
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
219 IfErrors 0 +4
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
220 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows\\CurrentVersion" Version
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
221 IfErrors 0 +2
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
222 StrCpy \$0 "Unknown"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
223 MessageBox MB_ICONSTOP|MB_OK "This version of Octave cannot be installed on this system. Octave is supported only on Windows NT systems. Current system: \$0 (version: \$1)"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
224 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
225 done:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
226 Pop \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
227 Pop \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
228 FunctionEnd
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
229
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
230 ; Function to check any previously installed version of Octave in the system
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
231 Function CheckPrevVersion
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
232 Push \$0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
233 Push \$1
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
234 Push \$2
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
235 IfFileExists "\$INSTDIR\\bin\\octave-\${OCTAVE_VERSION}.exe" 0 otherver
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
236 MessageBox MB_OK|MB_ICONSTOP "Another Octave installation (with the same version) has been detected. Please uninstall it first."
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
237 Abort
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
238 otherver:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
239 StrCpy \$0 0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
240 StrCpy \$2 ""
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
241 loop:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
242 EnumRegKey \$1 \${PRODUCT_ROOT_KEY} "\${PRODUCT_KEY}" \$0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
243 StrCmp \$1 "" loopend
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
244 IntOp \$0 \$0 + 1
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
245 StrCmp \$2 "" 0 +2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
246 StrCpy \$2 "\$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
247 StrCpy \$2 "\$2, \$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
248 Goto loop
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
249 loopend:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
250 ReadRegStr \$1 \${PRODUCT_ROOT_KEY} "\${PRODUCT_KEY}" "Version"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
251 IfErrors finalcheck
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
252 StrCmp \$2 "" 0 +2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
253 StrCpy \$2 "\$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
254 StrCpy \$2 "\$2, \$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
255 finalcheck:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
256 StrCmp \$2 "" done
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
257 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Another Octave installation (version \$2) has been detected. It is recommended to uninstall it if you intend to use the same installation directory. Do you want to proceed with the installation anyway?" IDYES done IDNO 0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
258 Abort
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
259 done:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
260 ClearErrors
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
261 Pop \$2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
262 Pop \$1
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
263 Pop \$0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
264 FunctionEnd
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
265
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
266 ; Function to check Java Runtime Environment
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
267 Function CheckJRE
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
268 ; looks in:
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
269 ; 1 - JAVA_HOME environment variable
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
270 ; 2 - the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
271
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
272 Push \$R0
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
273 Push \$R1
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
274
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
275 ; use javaw.exe to avoid dosbox.
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
276 ; use java.exe to keep stdout/stderr
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
277 !define JAVAEXE "javaw.exe"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
278
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
279 ClearErrors
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
280 ReadEnvStr \$R0 "JAVA_HOME"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
281 StrCpy \$R0 "\$R0\\bin\\\${JAVAEXE}"
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
282 IfErrors 0 continue ;; 1) found it in JAVA_HOME
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
283
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
284 ClearErrors
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
285 ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment" "CurrentVersion"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
286 ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment\\\$R1" "JavaHome"
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
287 StrCpy \$R0 "\$R0\\bin\\\${JAVAEXE}"
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
288
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
289 IfErrors 0 continue ;; 2) found it in the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
290 IfErrors JRE_Error
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
291
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
292 JRE_Error:
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
293 MessageBox MB_ICONEXCLAMATION|MB_YESNO "Octave includes a Java integration component, but it seems Java is not available on this system. This component requires the Java Runtime Environment from Oracle (http://www.java.com) installed on your system. Octave can work without Java available, but the Java integration component will not be functional. Installing those components without Java available might prevent Octave from working correctly. Proceed with installation anyway?" IDYES continue
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
294 Abort
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
295 continue:
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
296 FunctionEnd
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
297 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
298
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
299 echo "Generation Completed"