annotate makeinst-script.sh @ 3366:ab6116aa1039

installer: update mk-dist to use make-installer installer file name and use octave-version * mk-dist: update successful installer exe check to match installer created file. * make-installer.sh: use octave version from index.html for installer version.
author John Donoghue <john.donoghue@ieee.org>
date Sun, 08 Dec 2013 20:51:14 -0500
parents 4812bade5c85
children cfcbe03c9160
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
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
17
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
18 # find icon
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
19 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
20
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
21 # extract version number
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 VERSION=`sed -n 's,.*id=\"octave-version\">\([0-9\.]*\).*,\1,p' < ../index.html`
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
23 OCTAVE_VERSION=`sed -n 's,.*id=\"octave-version\">\([^<]*\).*,\1,p' < ../index.html`
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
24
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
25 # create installer script
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
26 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
27
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
28 # installer settings
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
29 cat >> octave.nsi << EOF
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
30 !define APP_NAME "GNU Octave"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
31 !define COMP_NAME "GNU Project"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
32 !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
33 !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
34 !define OCTAVE_VERSION "$OCTAVE_VERSION"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
35 !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
36 !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
37 !define INSTALLER_FILES "../installer_files"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
38 !define INSTALLER_NAME "octave-installer.exe"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
39 !define MAIN_APP_EXE "octave.exe"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
40 !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
41 !define PRODUCT_ROOT_KEY "HKLM"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
42 !define PRODUCT_KEY "Software\Octave"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
43
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
44 ######################################################################
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
45
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
46 VIProductVersion "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
47 VIAddVersionKey "ProductName" "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
48 VIAddVersionKey "CompanyName" "\${COMP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
49 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
50 VIAddVersionKey "FileDescription" "\${DESCRIPTION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
51 VIAddVersionKey "FileVersion" "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
52
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 SetCompressor /SOLID Lzma
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
56 Name "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
57 Caption "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
58 OutFile "\${INSTALLER_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
59 BrandingText "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
60 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
61 InstallDir "C:\\Octave\\Octave-\${OCTAVE_VERSION}"
3010
8ac67219c241 Updates for nsis build and installer creation
John Donoghue <john.donoghue@ieee.org>
parents: 2992
diff changeset
62 Icon "$OCTAVE_SOURCE\\$ICON"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
63
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
64 ######################################################################
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
65 ; MUI settings
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
66 !include "MUI.nsh"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
67
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
68 !define MUI_ABORTWARNING
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
69 !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
70 !define MUI_HEADERIMAGE
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
71
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
72 ; Theme
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
73 !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
74 !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
75 !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
76 !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
77
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
78 !insertmacro MUI_PAGE_WELCOME
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
79
3360
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
80 !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
81 !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
82 !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
83
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
84 !insertmacro MUI_PAGE_DIRECTORY
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
85
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
86 !insertmacro MUI_PAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
87
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
88 !define MUI_FINISHPAGE_RUN "\$INSTDIR\bin\\\${MAIN_APP_EXE}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
89 !insertmacro MUI_PAGE_FINISH
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
90
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
91 !insertmacro MUI_UNPAGE_CONFIRM
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
92
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
93 !insertmacro MUI_UNPAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
94
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
95 !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
96
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
97 !insertmacro MUI_LANGUAGE "English"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
98
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
3331
71171ba8bebd Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents: 3010
diff changeset
101 RequestExecutionLevel admin
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
102
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
103 Function .onInit
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
104 Call DetectWinVer
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
105 Call CheckPrevVersion
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
106 Call CheckJRE
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
107 InitPluginsDir
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
108 FunctionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
109
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
110 ; file section
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
111 Section "MainFiles"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
112
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
113 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
114
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
115 # insert the files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
116 IFS=$'\n'
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
117 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
118 winf=`echo $f | sed 's,/,\\\\,g'`
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
119 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
120 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
121 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
122 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
123
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
124 cat >> octave.nsi << EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
125
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
126 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
127
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
128 Section make_uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
129 ; Write the uninstall keys for Windows
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
130 SetOutPath "\$INSTDIR"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
131 WriteRegStr HKLM "Software\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave" "DisplayName" "Octave"
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" "UninstallString" "\$INSTDIR\uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
133 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
134 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
135 WriteUninstaller "uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
136 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
137
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
138 ; start menu (currently hardcoded)
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
139 Section "Shortcuts"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
140
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
141 CreateDirectory "\$SMPROGRAMS\\Octave"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
142 CreateShortCut "\$SMPROGRAMS\\Octave\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
143 CreateShortCut "\$SMPROGRAMS\Octave\\Octave.lnk" "\$INSTDIR\\bin\\octave.exe" "" "\$INSTDIR\\$ICON" 0
3350
078ba7a8c95b installer: add experimental GUI shortcut
John Donoghue <john.donoghue@ieee.org>
parents: 3331
diff changeset
144 CreateShortCut "\$SMPROGRAMS\Octave\\Octave (Experimental GUI).lnk" "\$INSTDIR\\bin\\octave-gui.exe" "" "\$INSTDIR\\$ICON" 0
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
145
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
146 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
147
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
148 Section "Uninstall"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
149
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
150 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Octave"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
151 DeleteRegKey HKLM "Software\Octave"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
152
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
153 ; Remove shortcuts
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
154 Delete "\$SMPROGRAMS\Octave\*.*"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
155 RMDir "\$SMPROGRAMS\Octave"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
156
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
157 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
158
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
159 # 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
160 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
161 winf=`echo $f | sed 's,/,\\\\,g'`
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
162 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
163 echo " RmDir \"\$INSTDIR\\$winf\"" >> octave.nsi
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
164 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
165
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
166 # last bit of the uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
167 cat >> octave.nsi << EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
168 Delete "\$INSTDIR\*.*"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
169 RmDir "\$INSTDIR"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
170 SectionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
171
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
172 ; 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
173 Function DetectWinVer
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
174 Push \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
175 Push \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
176 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
177 IfErrors is_error is_winnt
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
178 is_winnt:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
179 StrCpy \$1 \$0 1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
180 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
181 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
182 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
183 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
184 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
185 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
186 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
187 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
188 Goto is_error
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
189
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
190 is_winnt_8:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
191 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
192 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
193 is_winnt_XP:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
194 is_winnt_2003:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
195 is_winnt_vista:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
196 is_winnt_7:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
197 Goto done
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
198 is_error:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
199 StrCpy \$1 \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
200 ReadRegStr \$0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" ProductName
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
201 IfErrors 0 +4
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
202 ReadRegStr \$0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" Version
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
203 IfErrors 0 +2
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
204 StrCpy \$0 "Unknown"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
205 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
206 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
207 done:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
208 Pop \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
209 Pop \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
210 FunctionEnd
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
211
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
212 ; 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
213 Function CheckPrevVersion
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
214 Push \$0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
215 Push \$1
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
216 Push \$2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
217 IfFileExists "\$INSTDIR\bin\octave-\${OCTAVE_VERSION}.exe" 0 otherver
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
218 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
219 Abort
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
220 otherver:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
221 StrCpy \$0 0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
222 StrCpy \$2 ""
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
223 loop:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
224 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
225 StrCmp \$1 "" loopend
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
226 IntOp \$0 \$0 + 1
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
227 StrCmp \$2 "" 0 +2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
228 StrCpy \$2 "\$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
229 StrCpy \$2 "\$2, \$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
230 Goto loop
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
231 loopend:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
232 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
233 IfErrors finalcheck
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
234 StrCmp \$2 "" 0 +2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
235 StrCpy \$2 "\$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
236 StrCpy \$2 "\$2, \$1"
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
237 finalcheck:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
238 StrCmp \$2 "" done
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
239 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
240 Abort
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
241 done:
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
242 ClearErrors
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
243 Pop \$2
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
244 Pop \$1
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
245 Pop \$0
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
246 FunctionEnd
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
247
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
248 ; 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
249 Function CheckJRE
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
250 ; looks in:
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
251 ; 1 - JAVA_HOME environment variable
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
252 ; 2 - the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
253
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
254 Push \$R0
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
255 Push \$R1
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
256
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
257 ; 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
258 ; 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
259 !define JAVAEXE "javaw.exe"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
260
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
261 ClearErrors
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
262 ReadEnvStr \$R0 "JAVA_HOME"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
263 StrCpy \$R0 "\$R0\bin\\\${JAVAEXE}"
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
264 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
265
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
266 ClearErrors
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
267 ReadRegStr \$R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
268 ReadRegStr \$R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\\\$R1" "JavaHome"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
269 StrCpy \$R0 "\$R0\bin\\\${JAVAEXE}"
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
270
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
271 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
272 IfErrors JRE_Error
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
273
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
274 JRE_Error:
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
275 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
276 Abort
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
277 continue:
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
278 FunctionEnd
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
279 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
280
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
281 echo "Generation Completed"