Mercurial > mxe-octave
annotate tools/makeinst-script.sh.in @ 4258:a45374f7d9a3
Use 8.3 format for octave path
* installer-files/octave-firsttime.vbs: convert OctavePath to shortpath
* installer-files/octave.vbs: convert OctavePath to shortpath
* installer-files/octave.bat: convert OCT_HOME to 8.3 path
* tools/makeinst-script.sh.in: call pkg rbuild and fc_cache with 8.3 pathname
author | John D |
---|---|
date | Tue, 06 Dec 2016 02:27:58 -0500 |
parents | ee1ae5d1fd88 |
children | 2f1309f19b49 |
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 |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
4 if [ $# != 2 ]; then |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
5 echo "usage: makeinst-script.sh dist-dir output-script-name" 1>&2 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
6 exit 1 |
2992
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 |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
9 OUTFILE="$2" |
4124
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
10 TOPDIR=@abs_top_srcdir@ |
4173
1d86cb0348ff
nsis: install all files to BUILD_PREFIX (Bug #48530)
John Donoghue <john.donoghue@ieee.org>
parents:
4158
diff
changeset
|
11 TOP_BUILD_DIR=@abs_top_builddir@ |
1d86cb0348ff
nsis: install all files to BUILD_PREFIX (Bug #48530)
John Donoghue <john.donoghue@ieee.org>
parents:
4158
diff
changeset
|
12 |
4124
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
13 ENABLE64="@ENABLE_WINDOWS_64@" |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
14 |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
15 OCTAVE_SOURCE=`basename $1` |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
16 |
4066 | 17 cd `dirname $1` |
3384
0de28586712a
installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents:
3367
diff
changeset
|
18 MXEDIR=`cd ..; pwd` |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
19 |
3570
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
20 if [ -e $OCTAVE_SOURCE/bin/libopenblas.dll ]; then |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
21 DEFAULT_BLAS="OpenBLAS" |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
22 else |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
23 DEFAULT_BLAS="Reference BLAS" |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
24 fi |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
25 |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
26 |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
27 # find octave shortcut icon |
3760
1f870f80ed71
makeinst-script: add \n to found icon file list (Bug #43909)
John Donoghue <john.donoghue@ieee.org>
parents:
3757
diff
changeset
|
28 ICON=`find $OCTAVE_SOURCE -name octave-logo.ico -printf "%P\n" | head -1 | sed 's,/,\\\\,g'` |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
29 |
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
|
30 # extract version number |
3384
0de28586712a
installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents:
3367
diff
changeset
|
31 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
|
32 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
|
33 |
3818
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
34 # estimated size of installed files |
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
35 SIZE=`du -slk $OCTAVE_SOURCE | awk '{print \$1}'` |
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
36 |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
37 # create installer script |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
38 echo "; octave setup script $OCTAVE_SOURCE" > $OUTFILE |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
39 |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
40 # installer settings |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
41 cat >> $OUTFILE << EOF |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
42 !define APP_NAME "GNU Octave" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
43 !define COMP_NAME "GNU Project" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
44 !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
|
45 !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
|
46 !define OCTAVE_VERSION "$OCTAVE_VERSION" |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
47 !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
|
48 !define DESCRIPTION "GNU Octave is a high-level programming language, primarily intended for numerical computations." |
4066 | 49 !define INSTALLER_FILES "$TOPDIR/installer-files" |
3387
0779856e1186
Add desktop shortcut and octave-versionxxxxx-installer.exe naming.
John Donoghue <john.donoghue@ieee.org>
parents:
3384
diff
changeset
|
50 !define INSTALLER_NAME "octave-$OCTAVE_VERSION-installer.exe" |
4028
8803dfa40236
nsis installer: set directory to userprofile on startof octave from installer (Bug #45899)
John Donoghue
parents:
3963
diff
changeset
|
51 !define MAIN_APP_EXE "octave-firsttime.vbs" |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
52 !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
|
53 !define PRODUCT_ROOT_KEY "HKLM" |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
54 !define PRODUCT_KEY "Software\\Octave-$VERSION" |
3355
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 ###################################################################### |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
57 |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
58 VIProductVersion "\${VERSION}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
59 VIAddVersionKey "ProductName" "\${APP_NAME}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
60 VIAddVersionKey "CompanyName" "\${COMP_NAME}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
61 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
62 VIAddVersionKey "FileDescription" "\${DESCRIPTION}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
63 VIAddVersionKey "FileVersion" "\${VERSION}" |
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 ###################################################################### |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
66 |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
67 SetCompressor /SOLID Lzma |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
68 Name "\${APP_NAME}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
69 Caption "\${APP_NAME}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
70 OutFile "\${INSTALLER_NAME}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
71 BrandingText "\${APP_NAME}" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
72 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
|
73 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
|
74 Icon "\${INSTALLER_FILES}/octave-logo.ico" |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
75 |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
76 ###################################################################### |
3409
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
77 ; StrFunc usage |
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
78 !include "StrFunc.nsh" |
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
79 \${StrRep} |
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
80 ###################################################################### |
3363
b89f15801606
Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents:
3362
diff
changeset
|
81 ; MUI settings |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
82 !include "MUI.nsh" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
83 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
84 ; custom dialogs |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
85 !include nsDialogs.nsh |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
86 !macro __DropList_GetCurSel CONTROL VAR |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
87 SendMessage \${CONTROL} \${CB_GETCURSEL} 0 0 \${VAR} |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
88 !macroend |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
89 |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
90 !define DropList_GetCurSel \`!insertmacro __DropList_GetCurSel\` |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
91 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
92 ; additional logic |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
93 !include LogicLib.nsh |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
94 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
95 |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
96 !define MUI_ABORTWARNING |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
97 !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
|
98 !define MUI_HEADERIMAGE |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
99 |
3363
b89f15801606
Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents:
3362
diff
changeset
|
100 ; Theme |
b89f15801606
Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents:
3362
diff
changeset
|
101 !define MUI_ICON "\${INSTALLER_FILES}/octave-logo.ico" |
4173
1d86cb0348ff
nsis: install all files to BUILD_PREFIX (Bug #48530)
John Donoghue <john.donoghue@ieee.org>
parents:
4158
diff
changeset
|
102 !define MUI_UNICON "$TOP_BUILD_DIR/usr/share/nsis/Contrib/Graphics/Icons/orange-uninstall.ico" |
3363
b89f15801606
Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents:
3362
diff
changeset
|
103 !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
|
104 !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
|
105 |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
106 !insertmacro MUI_PAGE_WELCOME |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
107 |
3360
cbaab92e1174
makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents:
3359
diff
changeset
|
108 !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
|
109 !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
|
110 !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
|
111 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
112 Page custom octaveOptionsPage octaveOptionsLeave |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
113 |
3728
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
114 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstallAndDest |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
115 !insertmacro MUI_PAGE_DIRECTORY |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
116 |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
117 !insertmacro MUI_PAGE_INSTFILES |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
118 |
3757
7a6637aa3aae
installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents:
3728
diff
changeset
|
119 !define MUI_FINISHPAGE_RUN "\$WINDIR\\explorer.exe" |
7a6637aa3aae
installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents:
3728
diff
changeset
|
120 !define MUI_FINISHPAGE_RUN_PARAMETERS "\$INSTDIR\\\${MAIN_APP_EXE}" |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
121 !define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html" |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
122 !insertmacro MUI_PAGE_FINISH |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
123 |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
124 !insertmacro MUI_UNPAGE_CONFIRM |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
125 |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
126 !insertmacro MUI_UNPAGE_INSTFILES |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
127 |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
128 !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
|
129 |
3355
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
130 !insertmacro MUI_LANGUAGE "English" |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
131 |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
132 ###################################################################### |
bc7e18e12dcc
makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents:
3350
diff
changeset
|
133 |
3331
71171ba8bebd
Update installer script for admin level and single icon file
John Donoghue <john.donoghue@ieee.org>
parents:
3010
diff
changeset
|
134 RequestExecutionLevel admin |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
135 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
136 ###################################################################### |
3552
b82ff8ba6a8a
nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents:
3545
diff
changeset
|
137 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
138 ; custom options page functions |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
139 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
140 Var InstallAllUsers |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
141 Var InstallAllUsersCtrl |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
142 Var InstallShortcuts |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
143 Var InstallShortcutsCtrl |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
144 Var RegisterOctaveFileType |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
145 Var RegisterOctaveFileTypeCtrl |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
146 Var InstallBlasLibCtrl |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
147 Var InstallBlasLib |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
148 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
149 Function octaveOptionsPage |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
150 Push \$0 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
151 nsDialogs::Create 1018 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
152 Pop \$0 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
153 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
154 \${If} \$0 == error |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
155 Abort |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
156 \${EndIf} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
157 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
158 \${NSD_CreateCheckBox} 0 0 100% 12u "Install for all users" |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
159 Pop \$InstallAllUsersCtrl |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
160 \${NSD_SetState} \$InstallAllUsersCtrl \${BST_CHECKED} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
161 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
162 \${NSD_CreateCheckBox} 0 20 100% 12u "Create desktop shortcuts" |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
163 Pop \$InstallShortcutsCtrl |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
164 \${NSD_SetState} \$InstallShortcutsCtrl \${BST_CHECKED} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
165 |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
166 \${NSD_CreateCheckBox} 0 40 100% 12u "Register .m file type with Octave" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
167 Pop \$RegisterOctaveFileTypeCtrl |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
168 \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \${BST_CHECKED} |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
169 |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
170 \${NSD_CreateLabel} 0 70 110u 12u "BLAS library implementation:" |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
171 Pop \$0 |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
172 |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
173 \${NSD_CreateDropList} 120u 70 100u 80u "" |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
174 Pop \$InstallBlasLibCtrl |
3545
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
175 EOF |
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
176 # add option to install libopenblas if we have the dll present |
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
177 if [ -e $OCTAVE_SOURCE/bin/libopenblas.dll ]; then |
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
178 cat >> $OUTFILE << EOF |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
179 \${NSD_CB_AddString} \$InstallBlasLibCtrl "OpenBLAS" |
3545
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
180 EOF |
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
181 fi |
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3471
diff
changeset
|
182 cat >> $OUTFILE << EOF |
3570
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
183 \${NSD_CB_AddString} \$InstallBlasLibCtrl "Reference BLAS" |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
184 EOF |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
185 |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
186 cat >> $OUTFILE << EOF |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
187 \${NSD_CB_SelectString} \$InstallBlasLibCtrl "$DEFAULT_BLAS" |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
188 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
189 !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing" |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
190 nsDialogs::Show |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
191 Pop \$0 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
192 FunctionEnd |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
193 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
194 Function octaveOptionsLeave |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
195 \${NSD_GetState} \$InstallAllUsersCtrl \$InstallAllUsers |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
196 \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
197 \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
198 \${DropList_GetCurSel} \$InstallBlasLibCtrl \$InstallBlasLib |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
199 FunctionEnd |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
200 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
201 ###################################################################### |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
202 |
3358
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
203 Function .onInit |
4120
f2d7bb7777da
installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents:
4075
diff
changeset
|
204 Call CheckWinVer |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
205 Call CheckCurrVersion |
3358
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
206 Call CheckJRE |
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
207 InitPluginsDir |
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
208 FunctionEnd |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
209 |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
210 ; file section |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
211 Section "MainFiles" |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
212 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
213 ; set context based on whether installing for user or all |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
214 \${If} \$InstallAllUsers == \${BST_CHECKED} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
215 SetShellVarContext all |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
216 \${Else} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
217 SetShellVarContext current |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
218 \${Endif} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
219 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
220 ; include the README |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
221 SetOutPath "\$INSTDIR" |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
222 File "$OCTAVE_SOURCE/README.html" |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
223 |
3717
70480095b6ed
Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents:
3686
diff
changeset
|
224 ; include the octave.bat file |
70480095b6ed
Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents:
3686
diff
changeset
|
225 SetOutPath "\$INSTDIR" |
70480095b6ed
Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents:
3686
diff
changeset
|
226 File "$OCTAVE_SOURCE/octave.bat" |
3817
6daa158a7018
nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents:
3784
diff
changeset
|
227 File "$OCTAVE_SOURCE/octave.vbs" |
4028
8803dfa40236
nsis installer: set directory to userprofile on startof octave from installer (Bug #45899)
John Donoghue
parents:
3963
diff
changeset
|
228 File "$OCTAVE_SOURCE/octave-firsttime.vbs" |
3717
70480095b6ed
Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents:
3686
diff
changeset
|
229 |
4254
7f2d5c8c4491
installer: update fc cache during install (Bug #45458)
John D
parents:
4186
diff
changeset
|
230 File "$OCTAVE_SOURCE/fc_update.bat" |
7f2d5c8c4491
installer: update fc cache during install (Bug #45458)
John D
parents:
4186
diff
changeset
|
231 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
232 ; distro files |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
233 EOF |
3963
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
234 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then |
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
235 echo "File '$OCTAVE_SOURCE/cmdshell.bat'" >> $OUTFILE |
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
236 fi |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
237 |
4254
7f2d5c8c4491
installer: update fc cache during install (Bug #45458)
John D
parents:
4186
diff
changeset
|
238 |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
239 # insert the files |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
240 IFS=$'\n' |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
241 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
|
242 winf=`echo $f | sed 's,/,\\\\,g'` |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
243 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> $OUTFILE |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
244 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> $OUTFILE |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
245 find "$OCTAVE_SOURCE/$f" -maxdepth 1 -type f -printf " File \"%p\"\n" >> $OUTFILE |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
246 done |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
247 |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
248 cat >> $OUTFILE << EOF |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
249 |
3409
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
250 ; add qt.conf |
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
251 Push \$0 |
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
252 \${StrRep} '\$0' '\$INSTDIR' '\\' '/' |
3423
c8e055d83b9f
Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents:
3422
diff
changeset
|
253 WriteINIStr "\$INSTDIR\\bin\\qt.conf" "Paths" "Prefix" "\$0" |
c8e055d83b9f
Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents:
3422
diff
changeset
|
254 WriteINIStr "\$INSTDIR\\bin\\qt.conf" "Paths" "Translations" "translations" |
3409
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
255 Pop \$0 |
4254
7f2d5c8c4491
installer: update fc cache during install (Bug #45458)
John D
parents:
4186
diff
changeset
|
256 |
7f2d5c8c4491
installer: update fc cache during install (Bug #45458)
John D
parents:
4186
diff
changeset
|
257 ; run fc-cache updater |
4258 | 258 GetFullPathName /SHORT \$1 \$INSTDIR |
4254
7f2d5c8c4491
installer: update fc cache during install (Bug #45458)
John D
parents:
4186
diff
changeset
|
259 DetailPrint "Building font cache (may take a while)" |
4258 | 260 ExecWait "\$1\\fc_update.bat" |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
261 SectionEnd |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
262 |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
263 Section make_uninstaller |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
264 ; Write the uninstall keys for Windows |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
265 SetOutPath "\$INSTDIR" |
3818
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
266 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayName" "Octave $VERSION" |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
267 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayVersion" "$VERSION" |
3818
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
268 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayIcon" "\$INSTDIR\\$ICON" |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
269 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "UninstallString" "\$INSTDIR\\uninstall.exe" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
270 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoModify" 1 |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
271 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoRepair" 1 |
3818
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
272 WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "Publisher" "\${APP_NAME}" |
9b033c5323db
nsis installer: expand uninstall information
John Donoghue
parents:
3817
diff
changeset
|
273 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "EstimatedSize" $SIZE |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
274 \${If} \$InstallAllUsers == \${BST_CHECKED} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
275 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "AllUsers" 1 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
276 \${EndIf} |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
277 WriteUninstaller "uninstall.exe" |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
278 SectionEnd |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
279 |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
280 ; start menu (currently hardcoded) |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
281 Section "Shortcuts" |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
282 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
283 CreateDirectory "\$SMPROGRAMS\\Octave-$VERSION" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
284 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Uninstall.lnk" "\$INSTDIR\\uninstall.exe" "" "\$INSTDIR\\uninstall.exe" 0 |
3423
c8e055d83b9f
Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents:
3422
diff
changeset
|
285 SetOutPath "%USERPROFILE%" |
3817
6daa158a7018
nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents:
3784
diff
changeset
|
286 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Octave (CLI).lnk" "\$INSTDIR\\octave.vbs" "--no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED |
6daa158a7018
nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents:
3784
diff
changeset
|
287 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Octave (GUI).lnk" "\$INSTDIR\\octave.vbs" "--force-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED |
3384
0de28586712a
installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents:
3367
diff
changeset
|
288 SetOutPath "\$INSTDIR" |
4176
a543952ed731
set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents:
4173
diff
changeset
|
289 |
a543952ed731
set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents:
4173
diff
changeset
|
290 ; fix the shortcuts for appid |
a543952ed731
set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents:
4173
diff
changeset
|
291 ExecWait '"\$INSTDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\Octave-$VERSION\\Octave (GUI).lnk" "gnu.octave"' |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
292 EOF |
3963
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
293 # shortcut for cmd win |
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
294 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then |
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
295 echo "CreateShortCut '\$SMPROGRAMS\\Octave-$VERSION\\Bash Shell.lnk' '\$INSTDIR\\cmdshell.bat' '' '' 0" >> $OUTFILE |
9d402d735dd1
nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents:
3956
diff
changeset
|
296 fi |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
297 # 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
|
298 if [ -d $OCTAVE_SOURCE/share/doc/octave ]; then |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
299 cat >> $OUTFILE << EOF |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
300 CreateDirectory "\$SMPROGRAMS\\Octave-$VERSION\\Documentation" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
301 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave C++ Classes (PDF).lnk" "\$INSTDIR\\share\\doc\\octave\\liboctave.pdf" "" "" 0 |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
302 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave C++ Classes (HTML).lnk" "\$INSTDIR\\share\\doc\\octave\\liboctave.html\\index.html" "" "" 0 |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
303 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\share\\doc\\octave\\octave.pdf" "" "" 0 |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
304 CreateShortCut "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\Octave (HTML).lnk" "\$INSTDIR\\share\\doc\\octave\\octave.html\\index.html" "" "" 0 |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
305 EOF |
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
306 fi |
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
307 |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
308 cat >> $OUTFILE << EOF |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
309 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
310 \${If} \$InstallShortcuts == \${BST_CHECKED} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
311 SetOutPath "%USERPROFILE%" |
3817
6daa158a7018
nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents:
3784
diff
changeset
|
312 CreateShortCut "\$desktop\\Octave-$VERSION (CLI).lnk" "\$INSTDIR\\octave.vbs" "--no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED |
6daa158a7018
nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents:
3784
diff
changeset
|
313 CreateShortCut "\$desktop\\Octave-$VERSION (GUI).lnk" "\$INSTDIR\\octave.vbs" "--force-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED |
4186
393571034f24
* tools/makeinst-script.sh.in: set appid of desktop (GUI).lnk
John D
parents:
4176
diff
changeset
|
314 |
393571034f24
* tools/makeinst-script.sh.in: set appid of desktop (GUI).lnk
John D
parents:
4176
diff
changeset
|
315 ExecWait '"\$INSTDIR\\bin\\win7appid.exe" "\$desktop\\Octave-$VERSION (GUI).lnk" "gnu.octave"' |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
316 \${Endif} |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
317 |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
318 ; BLAS set up |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
319 \${If} \$InstallBlasLib == 1 |
3570
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
320 ; Reference BLAS |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
321 CopyFiles /SILENT "\$INSTDIR\\bin\\librefblas.dll" "\$INSTDIR\\bin\\libblas.dll" |
c7725f722155
NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents:
3552
diff
changeset
|
322 \${Else} |
3471
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
323 ; OpenBLAS |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
324 CopyFiles /SILENT "\$INSTDIR\\bin\\libopenblas.dll" "\$INSTDIR\\bin\\libblas.dll" |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
325 \${EndIf} |
6a97f4d1dedb
installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents:
3458
diff
changeset
|
326 |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
327 SectionEnd |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
328 |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
329 Section "FileTypeRego" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
330 ; Octave document |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
331 WriteRegStr HKCR "Octave.Document.$VERSION" "" "GNU Octave Script" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
332 WriteRegStr HKCR "Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
333 ; document actions |
3831
1191cff7f132
nsis installer: change file registrations to use octave.vbs
John D
parents:
3818
diff
changeset
|
334 WriteRegStr HKCR "Octave.Document.$VERSION\\shell\\open\\command" "" "wscript \$\\"\$INSTDIR\\octave.vbs\$\\" --force-gui --persist --eval \$\\"edit '%1'\$\\"" |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
335 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
336 \${If} \$RegisterOctaveFileType == \${BST_CHECKED} |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
337 ReadRegStr \$0 HKCR ".m" "" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
338 StrCmp "\$0" "" no_back_type |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
339 WriteRegStr HKCR ".m" "backup_val" "\$0" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
340 no_back_type: |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
341 WriteRegStr HKCR ".m" "" "Octave.Document.$VERSION" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
342 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "RegisteredFileType" 1 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
343 \${EndIf} |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
344 SectionEnd |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
345 |
4075 | 346 Section "InstallPackages" |
347 ; fix the installed packages (if any) | |
4258 | 348 GetFullPathName /SHORT \$1 \$INSTDIR |
349 SetOutPath "\$1" | |
350 ExecWait '"\$1\\bin\\octave-cli.exe" --no-gui -W -H -f -q --eval "pkg rebuild"' \$0 | |
4075 | 351 SectionEnd |
352 | |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
353 Section "Uninstall" |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
354 |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
355 ReadRegDWORD \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "AllUsers" |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
356 IfErrors not_all_users |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
357 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
358 SetShellVarContext all |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
359 |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3431
diff
changeset
|
360 not_all_users: |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
361 ReadRegDWORD \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "RegisteredFileType" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
362 IfErrors not_registered_file |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
363 |
4255
ee1ae5d1fd88
installer: dont remove file association if is not for installed octave
John D
parents:
4254
diff
changeset
|
364 ; only try remove if is set to our version of octave |
ee1ae5d1fd88
installer: dont remove file association if is not for installed octave
John D
parents:
4254
diff
changeset
|
365 ReadRegStr \$0 HKCR ".m" "" |
ee1ae5d1fd88
installer: dont remove file association if is not for installed octave
John D
parents:
4254
diff
changeset
|
366 StrCmp \$0 "Octave.Document.$VERSION" 0 not_registered_file |
ee1ae5d1fd88
installer: dont remove file association if is not for installed octave
John D
parents:
4254
diff
changeset
|
367 |
3458
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
368 ReadRegStr \$0 HKCR ".m" "backup_val" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
369 IfErrors not_backup_file |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
370 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
371 # retore backup |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
372 WriteRegStr HKCR ".m" "" "\$0" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
373 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
374 DeleteRegValue HKCR ".m" "backup_val" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
375 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
376 ; dont delete .m if just restored backup |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
377 Goto not_registered_file |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
378 not_backup_file: |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
379 DeleteRegKey HKCR ".m" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
380 |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
381 not_registered_file: |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
382 ; delete file type |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
383 DeleteRegKey HKCR "Octave.Document.$VERSION" |
608931797a53
installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents:
3453
diff
changeset
|
384 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
385 DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
386 DeleteRegKey HKLM "Software\\Octave-$VERSION" |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
387 |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
388 ; Remove shortcuts |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
389 Delete "\$SMPROGRAMS\\Octave-$VERSION\\Documentation\\*.*" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
390 RMDir "\$SMPROGRAMS\\Octave-$VERSION\\Documentation" |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
391 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
392 Delete "\$SMPROGRAMS\\Octave-$VERSION\\*.*" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
393 RMDir "\$SMPROGRAMS\\Octave-$VERSION" |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
394 |
3784
5796aeaa4df4
Rename Desktop links to get rid of "Experimental" before "GUI"
Rik <rik@octave.org>
parents:
3760
diff
changeset
|
395 Delete "\$desktop\\Octave-$VERSION (CLI).lnk" |
5796aeaa4df4
Rename Desktop links to get rid of "Experimental" before "GUI"
Rik <rik@octave.org>
parents:
3760
diff
changeset
|
396 Delete "\$desktop\\Octave-$VERSION (GUI).lnk" |
3409
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
397 |
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
398 ; delete generated qt.conf file |
3423
c8e055d83b9f
Set start directory to user home (Bug #41220)
John D <john.donoghue@ieee.org>
parents:
3422
diff
changeset
|
399 Delete "\$INSTDIR\\bin\\qt.conf" |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
400 EOF |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
401 |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
402 # 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
|
403 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
|
404 winf=`echo $f | sed 's,/,\\\\,g'` |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
405 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> $OUTFILE |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
406 echo " RmDir \"\$INSTDIR\\$winf\"" >> $OUTFILE |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
407 done |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
408 |
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
409 # last bit of the uninstaller |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
3430
diff
changeset
|
410 cat >> $OUTFILE << EOF |
3409
5e77c5fc91ed
qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents:
3406
diff
changeset
|
411 Delete "\$INSTDIR\\*.*" |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
412 RmDir "\$INSTDIR" |
3954
14ad478dc07b
Installer: prompt to unstill additional files (Bug #45188)
John D
parents:
3831
diff
changeset
|
413 |
14ad478dc07b
Installer: prompt to unstill additional files (Bug #45188)
John D
parents:
3831
diff
changeset
|
414 ; didnt remove directory ? most likely from not all files removed |
14ad478dc07b
Installer: prompt to unstill additional files (Bug #45188)
John D
parents:
3831
diff
changeset
|
415 IfErrors 0 uninstall_done |
3956 | 416 MessageBox MB_YESNO "One or more folders were not uninstalled because they contain extra files. Try to delete them?" IDNO uninstall_done |
3954
14ad478dc07b
Installer: prompt to unstill additional files (Bug #45188)
John D
parents:
3831
diff
changeset
|
417 RMDir /r "\$INSTDIR" |
3956 | 418 |
419 IfErrors 0 uninstall_done | |
420 MessageBox MB_YESNO "One of more files were still not uninstalled. Do you want to delete them on the next reboot?" IDNO uninstall_done | |
421 RMDir /r /REBOOTOK "\$INSTDIR" | |
3954
14ad478dc07b
Installer: prompt to unstill additional files (Bug #45188)
John D
parents:
3831
diff
changeset
|
422 uninstall_done: |
14ad478dc07b
Installer: prompt to unstill additional files (Bug #45188)
John D
parents:
3831
diff
changeset
|
423 |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
424 SectionEnd |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
425 |
3362
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
426 ; Function to detect Windows version and abort if Octave is unsupported in the current platform |
4120
f2d7bb7777da
installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents:
4075
diff
changeset
|
427 Function CheckWinVer |
3362
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
428 Push \$0 |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
429 Push \$1 |
3552
b82ff8ba6a8a
nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents:
3545
diff
changeset
|
430 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
431 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentVersion |
3362
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
432 IfErrors is_error is_winnt |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
433 is_winnt: |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
434 StrCpy \$1 \$0 1 |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
435 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
|
436 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
|
437 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
|
438 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
|
439 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
|
440 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
|
441 StrCmp \$0 "6.2" is_winnt_8 |
4120
f2d7bb7777da
installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents:
4075
diff
changeset
|
442 StrCmp \$0 "6.3" is_winnt_10 |
f2d7bb7777da
installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents:
4075
diff
changeset
|
443 StrCmp \$1 6 is_winnt_10 ; Checking for future versions of Windows 10+ |
3362
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
444 Goto is_error |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
445 |
4120
f2d7bb7777da
installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents:
4075
diff
changeset
|
446 is_winnt_10: |
3552
b82ff8ba6a8a
nsis-installer: check for win8 version and set -i --line-editing in shortcuts
John Donoghue <john.donoghue@ieee.org>
parents:
3545
diff
changeset
|
447 |
4121
1c3be8c68d3f
makeinst-script.mk: correct spelling in Win10 warning dialog.
John Donoghue <john.donoghue@ieee.org>
parents:
4120
diff
changeset
|
448 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Setup has detected Windows 10 installed on your system. Octave is currently not fully tested on Windows 10. Testers are welcome to provide feedback. Do you want to proceed with the installation anyway?" IDYES done IDNO 0 |
3362
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
449 Abort |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
450 is_winnt_XP: |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
451 is_winnt_2003: |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
452 is_winnt_vista: |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
453 is_winnt_7: |
4120
f2d7bb7777da
installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents:
4075
diff
changeset
|
454 is_winnt_8: |
3362
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
455 Goto done |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
456 is_error: |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
457 StrCpy \$1 \$0 |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
458 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
|
459 IfErrors 0 +4 |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
460 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
|
461 IfErrors 0 +2 |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
462 StrCpy \$0 "Unknown" |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
463 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
|
464 Abort |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
465 done: |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
466 Pop \$1 |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
467 Pop \$0 |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
468 FunctionEnd |
0f2a5e218359
makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents:
3361
diff
changeset
|
469 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
470 ; Function to check whether already installed this version |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
471 Function CheckCurrVersion |
3358
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
472 Push \$0 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
473 ClearErrors |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
474 ReadRegStr \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "DisplayName" |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
475 IfErrors curr_check_ok |
3358
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
476 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
|
477 Abort |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
478 curr_check_ok: |
4124
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
479 pop \$0 |
3358
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
480 FunctionEnd |
8708b7d07795
makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents:
3357
diff
changeset
|
481 |
3728
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
482 ; Check whether prev install is here and no spaces in dest name |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
483 Function CheckPrevInstallAndDest |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
484 IfFileExists "\$INSTDIR\\bin\\octave.exe" inst_exists inst_none |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
485 inst_exists: |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
486 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Another Octave installation has been detected at that destination. 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 inst_none IDNO 0 |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
487 Abort |
3728
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
488 GoTo inst_end |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
489 inst_none: |
3728
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
490 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
491 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
492 ; check for spaces in dest filename |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
493 Push \$R0 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
494 Push \$R1 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
495 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
496 StrCpy \$R1 0 # r1 = counter |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
497 space_loop: |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
498 StrCpy \$R0 \$INSTDIR 1 \$R1 # R0 = character in string to check |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
499 StrCmp \$R0 "" space_end # end of string |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
500 StrCmp \$R0 " " space_found |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
501 IntOp \$R1 \$R1 + 1 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
502 GoTo space_loop |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
503 space_found: |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
504 MessageBox MB_OK|MB_ICONEXCLAMATION "Octave should not be installed to a destination folder containing spaces. Please select another destination." |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
505 Abort |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
506 space_end: |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
507 Pop \$R1 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
508 Pop \$R0 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
509 |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
510 inst_end: |
8c11c5a1a939
Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents:
3717
diff
changeset
|
511 |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
512 FunctionEnd |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
513 |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
514 ; 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
|
515 Function CheckJRE |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
516 ; looks in: |
3359
40ae138b38a6
Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents:
3358
diff
changeset
|
517 ; 1 - JAVA_HOME environment variable |
40ae138b38a6
Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents:
3358
diff
changeset
|
518 ; 2 - the registry |
4124
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
519 EOF |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
520 # use 64 bit reg to look for java |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
521 if [ "$ENABLE64" == "yes" ]; then |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
522 echo "SetRegView 64" >> $OUTFILE |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
523 fi |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
524 cat >> $OUTFILE << EOF |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
525 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
526 Push \$R0 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
527 Push \$R1 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
528 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
529 ; 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
|
530 ; 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
|
531 !define JAVAEXE "javaw.exe" |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
532 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
533 ClearErrors |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
534 ReadEnvStr \$R0 "JAVA_HOME" |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
535 StrCpy \$R0 "\$R0\\bin\\\${JAVAEXE}" |
3359
40ae138b38a6
Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents:
3358
diff
changeset
|
536 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
|
537 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
538 ClearErrors |
3367
cfcbe03c9160
installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents:
3366
diff
changeset
|
539 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
|
540 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
|
541 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
|
542 |
3359
40ae138b38a6
Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents:
3358
diff
changeset
|
543 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
|
544 IfErrors JRE_Error |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
545 |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
546 JRE_Error: |
4158
35c9886e1f60
nsis installer: update text for notification if no java found (Bug #48187)
John D
parents:
4124
diff
changeset
|
547 MessageBox MB_ICONEXCLAMATION|MB_YESNO "Octave has the capability to call Java libraries, but the installer was unable to find a Java Runtime Environment (JRE) on this system. Octave will still function without a JRE, only certain specific functions will be disabled. If a JRE is installed later, Octave should be able to detect and use it automatically. Continue with installation?" IDYES continue |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
548 Abort |
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
549 continue: |
3403
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
550 Pop \$R1 |
f79780bcc843
installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents:
3391
diff
changeset
|
551 Pop \$R0 |
4124
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
552 EOF |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
553 # put reg back to 32 (our version of nsis is a 32 bit app) |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
554 if [ "$ENABLE64" == "yes" ]; then |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
555 echo "SetRegView 32" >> $OUTFILE |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
556 fi |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
557 cat >> $OUTFILE << EOF |
5ae69991eaa1
installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents:
4121
diff
changeset
|
558 |
3357
456b6e533054
makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents:
3356
diff
changeset
|
559 FunctionEnd |
2992
4b450c162e39
Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff
changeset
|
560 EOF |