annotate tools/makeinst-script.sh.in @ 7183:eb3f7b3a457c default tip @

maint: merge release to default
author John W. Eaton <jwe@octave.org>
date Mon, 29 Apr 2024 16:15:41 -0400
parents fb42442fac08
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
1 #! /bin/bash
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
2 set -e
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
3
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
4 if [ $# != 3 ]; then
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
5 echo "usage: makeinst-script.sh dist-dir installer-name output-script-name" 1>&2
3431
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
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
9 INSTALLER_NAME="$2"
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
10 OUTFILE="$3"
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
11 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
12 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
13
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
14 OCTAVE_SOURCE=`basename $1`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
15
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
16 cd `dirname $1`
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
17 MXEDIR=`cd ..; pwd`
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
18
6924
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
19 if [ "@ENABLE_QT@" == "4" ]; then
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
20 QT_SUBDIR=
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
21 else
6924
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
22 if [ "@ENABLE_QT@" == "5" ]; then
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
23 QT_SUBDIR=qt5/
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
24 else
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
25 QT_SUBDIR=qt6/
f04699caf98e Update qt.conf generation when using qt6
John Donoghue <john.donoghue@ieee.org>
parents: 6655
diff changeset
26 fi
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
27 fi
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
28
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
29 if [ "@USE_MSYS2@" == "yes" ]; then
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
30 if [ "@ENABLE_WINDOWS_64@" == "yes" ]; then
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
31 OCTAVE_SUBDIR=mingw64
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
32 else
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
33 OCTAVE_SUBDIR=mingw32
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
34 fi
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
35 else
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
36 OCTAVE_SUBDIR=
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
37 fi
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
38
5347
4d6716dcec28 * tools/makeinst-script.sh.in: Install to ProgramFiles by default (bug #53124).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5303
diff changeset
39 if [ "@ENABLE_WINDOWS_64@" == "yes" ]; then
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
40 USE_PROGRAMFILES64=
5347
4d6716dcec28 * tools/makeinst-script.sh.in: Install to ProgramFiles by default (bug #53124).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5303
diff changeset
41 else
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
42 USE_PROGRAMFILES64=';'
5347
4d6716dcec28 * tools/makeinst-script.sh.in: Install to ProgramFiles by default (bug #53124).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5303
diff changeset
43 fi
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
44
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
45 if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/libopenblas.dll ]; then
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
46 DEFAULT_BLAS="OpenBLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
47 else
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
48 DEFAULT_BLAS="Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
49 fi
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
50
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
51 # 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
52 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
53
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
54 # extract version number
3384
0de28586712a installer: Change gui shortcut path to libexec installed path
John Donoghue <john.donoghue@ieee.org>
parents: 3367
diff changeset
55 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
56 VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
57 OCTAVE_API_VERSION=`head -1 $MXEDIR/octave/octave-api`
4752
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
58 if [ `echo $VERSION | grep -o '\.' | wc -l` -le 2 ]; then
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
59 INSTALLER_VERSION="$VERSION.0"
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
60 else
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
61 INSTALLER_VERSION=$VERSION
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
62 fi
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
63
3818
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
64 # estimated size of installed files
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
65 SIZE=`du -slk $OCTAVE_SOURCE | awk '{print \$1}'`
9b033c5323db nsis installer: expand uninstall information
John Donoghue
parents: 3817
diff changeset
66
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
67 # create installer script
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
68 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
69
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
70 # installer settings
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
71 cat >> $OUTFILE << EOF
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
72 !define APP_NAME "GNU Octave"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
73 !define COMP_NAME "GNU Project"
4650
1d9448607538 Use https in links whenever possible (Bug #53555).
Rik <rik@octave.org>
parents: 4648
diff changeset
74 !define WEB_SITE "https://www.octave.org"
4752
e839056b9a65 Allow building of unreleased stable branch (4.4.0x) (bug #54176).
Rik <rik@octave.org>
parents: 4725
diff changeset
75 !define VERSION "$INSTALLER_VERSION"
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
76 !define OCTAVE_VERSION "$OCTAVE_VERSION"
5273
eafd9bf16bf4 * tools/makeinst-script.sh.in: update installer copyright (Bug #57617)
John Donoghue
parents: 5270
diff changeset
77 !define COPYRIGHT "Copyright © 2013-2020 John W. Eaton and others."
5422
100b42124b66 * tools/makeinst-script.in.h: Revert part of 020bb2fcd3e2 (bug #58320).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5421
diff changeset
78 !define DESCRIPTION "GNU Octave Installer"
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
79 !define INSTALLER_FILES "$TOPDIR/installer-files"
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4652
diff changeset
80 !define INSTALLER_NAME "$INSTALLER_NAME"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
81 !define MAIN_APP_EXE "octave-launch-firsttime.exe"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
82 !define PRODUCT_ROOT_KEY "SHCTX"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
83 !define PRODUCT_KEY "Software\\Octave-$VERSION"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
84 !define PRODUCT_UNINST_KEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
85 !define PRODUCT_UNINST_ROOT_KEY "SHCTX"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
86
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
87 ######################################################################
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
88
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
89 VIProductVersion "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
90 VIAddVersionKey "ProductName" "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
91 VIAddVersionKey "CompanyName" "\${COMP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
92 VIAddVersionKey "LegalCopyright" "\${COPYRIGHT}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
93 VIAddVersionKey "FileDescription" "\${DESCRIPTION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
94 VIAddVersionKey "FileVersion" "\${VERSION}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
95
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
96 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
97
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
98 SetCompressor /SOLID Lzma
6655
bcdb1e0924d9 * src/nsis.mk: change sources to use bsisbi varient
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
99 OutFileMode aio
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
100 Name "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
101 Caption "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
102 OutFile "\${INSTALLER_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
103 BrandingText "\${APP_NAME}"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
104 XPStyle on
5270
225fc4d8f598 * tools/makeinst-script.sh.in: make installer dpi aware
John Donoghue
parents: 5248
diff changeset
105 ManifestDPIAware true
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
106 ManifestSupportedOS all
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
107 Unicode true
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
108 RequestExecutionLevel user
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
109 # multiuser will modify this
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
110 InstallDir "\$PROGRAMFILES\\GNU Octave\\Octave-\${OCTAVE_VERSION}"
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
111 Icon "\${INSTALLER_FILES}/octave-logo.ico"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
112
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
113 ######################################################################
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
114 ; StrFunc usage
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
115 !include "StrFunc.nsh"
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
116 \${StrRep}
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
117 ######################################################################
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
118 ; Multi user
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
119 !define MULTIUSER_EXECUTIONLEVEL Highest
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
120 ;!define MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
121 !define MULTIUSER_INSTALLMODE_INSTDIR "GNU Octave\\Octave-\${OCTAVE_VERSION}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
122 ${USE_PROGRAMFILES64}!define MULTIUSER_USE_PROGRAMFILES64
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
123 !define MULTIUSER_MUI
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
124 !define MULTIUSER_INSTALLMODE_COMMANDLINE
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
125 Var MultiUser.UninstallKey
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
126 Var MultiUser.Local
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
127 !include MultiUser.nsh
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
128 ######################################################################
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
129 ; MUI settings
4608
dac40a0ff814 nsis: update for 64bit compile
John Donoghue
parents: 4602
diff changeset
130 !include "MUI2.nsh"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
131
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
132 ; 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
133 !include nsDialogs.nsh
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
134 !macro __DropList_GetCurSel CONTROL VAR
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
135 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
136 !macroend
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
137
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
138 !define DropList_GetCurSel \`!insertmacro __DropList_GetCurSel\`
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
139
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
140 ; 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
141 !include LogicLib.nsh
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
142 ; File funcs
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
143 !include FileFunc.nsh
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
144
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
145 !define MUI_ABORTWARNING
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
146 !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
147 !define MUI_HEADERIMAGE
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
148
3363
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
149 ; Theme
b89f15801606 Added Octave images in welcome page, headers, and finish page of installer.
Anirudha Bose <ani07nov@gmail.com>
parents: 3362
diff changeset
150 !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
151 !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
152 !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
153 !define MUI_WELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
154 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "\${INSTALLER_FILES}/octave.bmp"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
155
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
156 ; Pages
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
157 !insertmacro MUI_PAGE_WELCOME
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
158
3360
cbaab92e1174 makeinst-script.sh: Removed 'I Agree' in GPL license page
Anirudha Bose <ani07nov@gmail.com>
parents: 3359
diff changeset
159 !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
160 !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
161 !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
162
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
163 !insertmacro MULTIUSER_PAGE_INSTALLMODE
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
164
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
165 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
166
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
167 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstallAndDest
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
168 !insertmacro MUI_PAGE_DIRECTORY
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
169
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
170 !insertmacro MUI_PAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
171
6939
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
172 !define MUI_PAGE_CUSTOMFUNCTION_SHOW CheckConsole
3757
7a6637aa3aae installer: ran octave through explorer when running at end of install (Bug 43824)
John Donoghue
parents: 3728
diff changeset
173 !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
174 !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
175 !define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html"
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
176 !insertmacro MUI_PAGE_FINISH
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
177
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
178 ; uninstaller
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
179 !insertmacro MUI_UNPAGE_CONFIRM
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
180
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
181 UninstPage custom un.octaveOptionsPage un.octaveOptionsLeave
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
182
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
183 !insertmacro MUI_UNPAGE_INSTFILES
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
184
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
185 !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
186
3355
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
187 !insertmacro MUI_LANGUAGE "English"
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
188
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
189 ######################################################################
bc7e18e12dcc makeinst-script.sh: use MUI interface
Anirudha Bose <ani07nov@gmail.com>
parents: 3350
diff changeset
190
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
191 !macro DequoteString_ un
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
192 Function \${un}DequoteString_
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
193 ; just removed any '"' found
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
194 Exch \$R0 # r0 is now the string
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
195 Push \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
196 Push \$R2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
197 Push \$R3
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
198
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
199 Strcpy \$R3 "" # dequoted value
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
200 StrCmp \$R0 "" \${un}dequote_end
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
201
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
202 StrCpy \$R1 0 # r1 = counter
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
203 \${un}dequote_loop:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
204
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
205 StrCpy \$R2 \$R0 1 \$R1 # R2 = character in string to check
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
206 StrCmp \$R2 "" \${un}dequote_end # end of string
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
207 StrCmp \$R2 '"' \${un}dequote_next
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
208 # no quote
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
209 StrCpy \$R3 \$R3\$R2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
210 \${un}dequote_next:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
211 IntOp \$R1 \$R1 + 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
212 GoTo \${un}dequote_loop
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
213
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
214 \${un}dequote_end:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
215 StrCpy \$R0 \$R3
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
216
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
217 Pop \$R3
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
218 Pop \$R2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
219 Pop \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
220 Exch \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
221 FunctionEnd
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
222 !macroend
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
223
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
224 !insertmacro DequoteString_ "un."
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
225 !insertmacro DequoteString_ ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
226
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
227 !macro DequoteString un InStr OutVar
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
228 Push '\${InStr}'
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
229 Call \${un}DequoteString_
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
230 Pop '\${OutVar}'
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
231 !macroend
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
232 !define DequoteString '!insertmacro DequoteString ""'
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
233 !define un.DequoteString '!insertmacro DequoteString "un."'
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
234
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
235 ######################################################################
5536
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
236
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
237 # function code from https://nsis.sourceforge.io/IShellLink_Set_RunAs_flag
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
238
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
239
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
240 !ifndef IPersistFile
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
241 !define IPersistFile {0000010b-0000-0000-c000-000000000046}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
242 !endif
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
243 !ifndef CLSID_ShellLink
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
244 !define CLSID_ShellLink {00021401-0000-0000-C000-000000000046}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
245 !define IID_IShellLinkA {000214EE-0000-0000-C000-000000000046}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
246 !define IID_IShellLinkW {000214F9-0000-0000-C000-000000000046}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
247 !define IShellLinkDataList {45e2b4ae-b1c3-11d0-b92f-00a0c90312e1}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
248 !ifdef NSIS_UNICODE
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
249 !define IID_IShellLink \${IID_IShellLinkW}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
250 !else
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
251 !define IID_IShellLink \${IID_IShellLinkA}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
252 !endif
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
253 !endif
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
254
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
255 Function ShellLinkSetRunAs
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
256 System::Store S
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
257 Pop \$9
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
258 System::Call "ole32::CoCreateInstance(g'\${CLSID_ShellLink}',i0,i1,g'\${IID_IShellLink}',*i.r1)i.r0"
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
259 \${If} \$0 = 0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
260 System::Call "\$1->0(g'\${IPersistFile}',*i.r2)i.r0" ;QI
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
261 \${If} \$0 = 0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
262 System::Call "\$2->5(w '\$9',i 0)i.r0" ;Load
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
263 \${If} \$0 = 0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
264 System::Call "\$1->0(g'\${IShellLinkDataList}',*i.r3)i.r0" ;QI
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
265 \${If} \$0 = 0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
266 System::Call "\$3->6(*i.r4)i.r0" ;GetFlags
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
267 \${If} \$0 = 0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
268 System::Call "\$3->7(i \$4|0x2000)i.r0" ;SetFlags ;SLDF_RUNAS_USER
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
269 \${If} $0 = 0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
270 System::Call "\$2->6(w '\$9',i1)i.r0" ;Save
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
271 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
272 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
273 System::Call "\$3->2()" ;Release
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
274 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
275 System::Call "\$2->2()" ;Release
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
276 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
277 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
278 System::Call "\$1->2()" ;Release
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
279 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
280 Push $0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
281 System::Store L
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
282 FunctionEnd
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
283
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
284 ######################################################################
6395
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
285 # function based on code from http://forums.winamp.com/attachment.php?attachmentid=31680&d=1112381115
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
286
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
287 !macro VersionCompare_ un
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
288 Function \${un}VersionCompare_
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
289 Exch \$1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
290 Exch
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
291 Exch \$0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
292 Exch
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
293 Push \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
294 Push \$3
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
295 Push \$4
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
296 Push \$5
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
297 Push \$6
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
298 Push \$7
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
299
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
300 begin:
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
301 StrCpy \$2 -1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
302 IntOp \$2 \$2 + 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
303 StrCpy \$3 \$0 1 \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
304 StrCmp \$3 '' +2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
305 StrCmp \$3 '.' 0 -3
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
306 StrCpy \$4 \$0 \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
307 IntOp \$2 \$2 + 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
308 StrCpy \$0 \$0 '' \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
309
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
310 StrCpy \$2 -1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
311 IntOp \$2 \$2 + 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
312 StrCpy \$3 \$1 1 \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
313 StrCmp \$3 '' +2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
314 StrCmp \$3 '.' 0 -3
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
315 StrCpy \$5 \$1 \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
316 IntOp \$2 \$2 + 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
317 StrCpy \$1 \$1 '' \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
318
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
319 StrCmp \$4\$5 '' equal
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
320
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
321 StrCpy \$6 -1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
322 IntOp \$6 \$6 + 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
323 StrCpy \$3 \$4 1 \$6
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
324 StrCmp \$3 '0' -2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
325 StrCmp \$3 '' 0 +2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
326 StrCpy \$4 0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
327
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
328 StrCpy \$7 -1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
329 IntOp \$7 \$7 + 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
330 StrCpy \$3 \$5 1 \$7
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
331 StrCmp \$3 '0' -2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
332 StrCmp \$3 '' 0 +2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
333 StrCpy \$5 0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
334
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
335 StrCmp \$4 0 0 +2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
336 StrCmp \$5 0 begin newer2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
337 StrCmp \$5 0 newer1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
338 IntCmp \$6 \$7 0 newer1 newer2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
339
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
340 StrCpy \$4 '1\$4'
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
341 StrCpy \$5 '1\$5'
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
342 IntCmp \$4 \$5 begin newer2 newer1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
343
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
344 equal:
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
345 StrCpy \$0 0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
346 goto end
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
347 newer1:
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
348 StrCpy \$0 1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
349 goto end
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
350 newer2:
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
351 StrCpy \$0 2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
352
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
353 end:
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
354 Pop \$7
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
355 Pop \$6
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
356 Pop \$5
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
357 Pop \$4
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
358 Pop \$3
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
359 Pop \$2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
360 Pop \$1
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
361 Exch \$0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
362 FunctionEnd
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
363 !macroend
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
364
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
365 !insertmacro VersionCompare_ "un."
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
366 !insertmacro VersionCompare_ ""
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
367
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
368 !macro VersionCompare un _VER1 _VER2 _RESULT
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
369 Push '\${_VER1}'
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
370 Push '\${_VER2}'
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
371 Call \${un}VersionCompare_
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
372 Pop '\${_RESULT}'
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
373 !macroend
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
374
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
375 ######################################################################
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
376 ; 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
377
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
378 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
379 Var InstallShortcutsCtrl
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
380 Var RegisterOctaveFileType
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
381 Var RegisterOctaveFileTypeCtrl
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
382 Var InstallBlasLibCtrl
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
383 Var InstallBlasLib
6591
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
384 Var InstallOpenGLCtrl
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
385 Var InstallOpenGL
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
386
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
387 Function octaveOptionsPage
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
388
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
389 # will append (Local) to reg key
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
390 \${If} \$MultiUser.InstallMode == "CurrentUser"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
391 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
392 StrCpy \$MultiUser.Local " (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
393 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
394 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
395 StrCpy \$MultiUser.Local ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
396 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
397
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
398 Call CheckCurrVersion
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
399
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
400 Push \$0
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
401 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
402 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
403
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
404 \${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
405 Abort
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
406 \${EndIf}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
407
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
408 \${NSD_CreateCheckBox} 0 0 100% 12u "Create desktop shortcuts"
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
409 Pop \$InstallShortcutsCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
410 \${NSD_SetState} \$InstallShortcutsCtrl \$InstallShortcuts
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
411
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
412 \${NSD_CreateCheckBox} 0 20u 100% 12u "Register .m file type with Octave"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
413 Pop \$RegisterOctaveFileTypeCtrl
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
414 \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
415
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
416 \${NSD_CreateLabel} 0 50u 110u 12u "BLAS library implementation:"
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
417 Pop \$0
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
418
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
419 \${NSD_CreateDropList} 100u 70u 100u 80u ""
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
420 Pop \$InstallBlasLibCtrl
6591
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
421
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
422 \${NSD_CreateLabel} 0 90u 110u 12u "OpenGL implementation:"
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
423 Pop \$0
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
424
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
425 \${NSD_CreateDropList} 100u 110u 100u 80u ""
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
426 Pop \$InstallOpenGLCtrl
3545
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
427 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
428 # add option to install libopenblas if we have the dll present
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
429 if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/libopenblas.dll ]; then
3545
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
430 cat >> $OUTFILE << EOF
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
431 \${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
432 EOF
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
433 fi
c21ca79d7980 Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents: 3471
diff changeset
434 cat >> $OUTFILE << EOF
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
435 \${NSD_CB_AddString} \$InstallBlasLibCtrl "Reference BLAS"
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
436 EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
437
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
438 cat >> $OUTFILE << EOF
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
439 \${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
440
6591
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
441 ; add option for opengl
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
442 \${NSD_CB_AddString} \$InstallOpenGLCtrl "System OpenGL"
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
443 \${NSD_CB_AddString} \$InstallOpenGLCtrl "Software OpenGL"
6592
9eff743a7de0 * tools/makeinst-script.sh.in: default to system opengl
John Donoghue <john.donoghue@ieee.org>
parents: 6591
diff changeset
444 \${NSD_CB_SelectString} \$InstallOpenGLCtrl "System OpenGL"
6591
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
445
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
446 !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
447 nsDialogs::Show
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
448 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
449 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
450
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
451 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
452 \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
453 \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
454 \${DropList_GetCurSel} \$InstallBlasLibCtrl \$InstallBlasLib
6591
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
455 \${DropList_GetCurSel} \$InstallOpenGLCtrl \$InstallOpenGL
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
456 FunctionEnd
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
457
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
458 ######################################################################
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
459 ; custom uninstall options page functions
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
460
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
461 Var UninstallLocalPackages
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
462 Var UninstallLocalPackagesCtrl
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
463 Var UninstallUserSettings
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
464 Var UninstallUserSettingsCtrl
6394
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
465 #Var UninstallAppDirCtrl
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
466 Var UninstallAppDir
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
467
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
468 Function un.octaveOptionsPage
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
469
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
470 nsDialogs::Create 1018
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
471 Pop \$0
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
472
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
473 \${If} \$0 == error
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
474 Abort
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
475 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
476
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
477 \${NSD_CreateCheckBox} 0 0 100% 12u "Uninstall Local Packages"
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
478 Pop \$UninstallLocalPackagesCtrl
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
479 \${NSD_SetState} \$UninstallLocalPackagesCtrl \$UninstallLocalPackages
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
480
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
481 \${NSD_CreateCheckBox} 0 20u 100% 12u "Remove user settings"
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
482 Pop \$UninstallUserSettingsCtrl
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
483 \${NSD_SetState} \$UninstallUserSettingsCtrl \$UninstallUserSettings
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
484
6394
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
485 #\${NSD_CreateLabel} 0 40u 110u 12u "\$UninstallAppDir"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
486 #Pop \$UninstallAppDirCtrl
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
487
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
488 !insertmacro MUI_HEADER_TEXT "Uninstall Options" "Choose additional options for uninstalling"
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
489 nsDialogs::Show
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
490 Pop \$0
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
491 FunctionEnd
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
492
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
493 Function un.octaveOptionsLeave
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
494 \${NSD_GetState} \$UninstallLocalPackagesCtrl \$UninstallLocalPackages
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
495 \${NSD_GetState} \$UninstallUserSettingsCtrl \$UninstallUserSettings
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
496 FunctionEnd
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
497
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
498 ######################################################################
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
499 Function un.onInit
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
500 !insertmacro MULTIUSER_UNINIT
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
501
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
502 # find installer info
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
503 Push \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
504 uninst_check_installs:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
505 Call un.FindThisUninstallReg
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
506 Pop \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
507
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
508 # if 0 it couldnt find us
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
509 StrCmp \$R0 0 0 uninst_check_local
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
510
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
511 \${if} \$MultiUser.Privileges == "Admin"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
512 # if admin, maybe was forced to admin from Add Remove Apps
5421
020bb2fcd3e2 tools/makeinst-script.in.h: Change message on uninstallation error (bug #58320).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5420
diff changeset
513 MessageBox MB_ICONEXCLAMATION|MB_OK "Could not find uninstallation information in registry.\$\nTry running the uninstaller from the start menu or from the installation folder \$\"\$INSTDIR\$\"." /SD IDOK
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
514 \${Else}
5422
100b42124b66 * tools/makeinst-script.in.h: Revert part of 020bb2fcd3e2 (bug #58320).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5421
diff changeset
515 MessageBox MB_ICONEXCLAMATION|MB_OK "Could not find uninstallation information in registry for \$(^Name) installed in \$\"\$INSTDIR\$\".\$\nCan not uninstall!" /SD IDOK
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
516 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
517 Abort
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
518
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
519 uninst_check_local:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
520 # if 1 was local only
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
521 StrCmp \$R0 1 0 uninst_set_admin
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
522
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
523 Call un.MultiUser.InstallMode.CurrentUser
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
524
6394
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
525 # store current user app data dir
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
526 StrCpy \$UninstallAppDir "\$APPDATA"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
527
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
528 GoTo uninst_cont_un
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
529
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
530 uninst_set_admin:
6394
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
531 # store current user app data dir
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
532 Call un.MultiUser.InstallMode.CurrentUser
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
533 StrCpy \$UninstallAppDir "\$APPDATA"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
534
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
535 # if 2, was a allusers install
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
536 Call un.MultiUser.InstallMode.AllUsers
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
537
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
538 uninst_cont_un:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
539
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
540 \${If} \$MultiUser.InstallMode == "CurrentUser"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
541 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
542 StrCpy \$MultiUser.Local " (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
543 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
544 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
545 StrCpy \$MultiUser.Local ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
546 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
547
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
548 Pop \$R0
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
549
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
550 ; set default uninstall options
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
551 StrCpy \$UninstallUserSettings \${BST_UNCHECKED}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
552 StrCpy \$UninstallLocalPackages \${BST_CHECKED}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
553
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
554 ; process command line options
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
555 \${GetParameters} \$R0
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
556 ClearErrors
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
557 \${GetOptions} "\$R0" "/UNINSTALL_LOCALPACKAGES=" \$0
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
558 IfErrors un_no_local_packages_opt
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
559 \${If} \$0 == 0
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
560 StrCpy \$UninstallLocalPackages \${BST_UNCHECKED}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
561 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
562 un_no_local_packages_opt:
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
563 ClearErrors
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
564 \${GetOptions} "\$R0" "/UNINSTALL_USERSETTINGS=" \$0
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
565 IfErrors un_no_user_settings_opt
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
566 \${If} \$0 == 1
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
567 StrCpy \$UninstallUserSettings \${BST_CHECKED}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
568 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
569 un_no_user_settings_opt:
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
570 ClearErrors
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
571
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
572 FunctionEnd
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
573
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
574 Function .onInit
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
575 !insertmacro MULTIUSER_INIT
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
576
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
577 # will append (Local) to reg key
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
578 \${If} \$MultiUser.InstallMode == "CurrentUser"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
579 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY} (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
580 StrCpy \$MultiUser.Local " (Local)"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
581 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
582 StrCpy \$MultiUser.UninstallKey "\${PRODUCT_UNINST_KEY}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
583 StrCpy \$MultiUser.Local ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
584 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
585
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
586 ; set default options
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
587 StrCpy \$InstallShortcuts \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
588 StrCpy \$RegisterOctaveFileType \${BST_CHECKED}
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
589 StrCpy \$InstallBlasLib 0
6592
9eff743a7de0 * tools/makeinst-script.sh.in: default to system opengl
John Donoghue <john.donoghue@ieee.org>
parents: 6591
diff changeset
590 StrCpy \$InstallOpenGL 0
4786
0c6d7d14a615 * tools/makeinst-script.sh.in: Set default option page values (Bug #54457)
John Donoghue
parents: 4767
diff changeset
591
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
592 ; process command line options
4845
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
593 \${GetParameters} \$R0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
594 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
595 \${GetOptions} "\$R0" "/REGISTER_FILE_TYPES=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
596 IfErrors no_register_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
597 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
598 StrCpy \$RegisterOctaveFileType \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
599 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
600 no_register_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
601 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
602 \${GetOptions} "\$R0" "/INSTALL_SHORTCUTS=" \$0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
603 IfErrors no_shortcuts_opt
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
604 \${If} \$0 == 0
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
605 StrCpy \$InstallShortcuts \${BST_UNCHECKED}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
606 \${EndIf}
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
607 no_shortcuts_opt:
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
608 ClearErrors
4b11bbe7c8ff nsis-installer: provide command line opyions for options page (Bug #54766)
John Donoghue
parents: 4808
diff changeset
609
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
610 Call CheckWinVer
5549
37a432f5f0eb * tools/makeinst-script.sh.in: disable java check (Bug #59215)
John Donoghue <john.donoghue@ieee.org>
parents: 5539
diff changeset
611 ; Bug #59215 for now have disabled jdk detection
37a432f5f0eb * tools/makeinst-script.sh.in: disable java check (Bug #59215)
John Donoghue <john.donoghue@ieee.org>
parents: 5539
diff changeset
612 ; \${If} @ENABLE_JAVA@ == yes
37a432f5f0eb * tools/makeinst-script.sh.in: disable java check (Bug #59215)
John Donoghue <john.donoghue@ieee.org>
parents: 5539
diff changeset
613 ; Call CheckJRE
37a432f5f0eb * tools/makeinst-script.sh.in: disable java check (Bug #59215)
John Donoghue <john.donoghue@ieee.org>
parents: 5539
diff changeset
614 ; \${EndIf}
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
615 InitPluginsDir
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
616 FunctionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
617
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
618 ; file section
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
619 Section "MainFiles"
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
620
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
621 ; 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
622 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
623 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
624
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
625 ; include octave-launch, octave.vbs and other scripts
3717
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3686
diff changeset
626 SetOutPath "\$INSTDIR"
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3784
diff changeset
627 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
628 File "$OCTAVE_SOURCE/octave-firsttime.vbs"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
629 File "$OCTAVE_SOURCE/octave-launch.exe"
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
630 File "$OCTAVE_SOURCE/octave-launch-firsttime.exe"
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
631 File "$OCTAVE_SOURCE/fc_update.bat"
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
632 File "$OCTAVE_SOURCE/post-install.bat"
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
633
4602
a487b12dc08f * tools/makeinst-script.sh.in: include HG-ID in installed files
John Donoghue
parents: 4471
diff changeset
634 File "$OCTAVE_SOURCE/HG-ID"
a487b12dc08f * tools/makeinst-script.sh.in: include HG-ID in installed files
John Donoghue
parents: 4471
diff changeset
635
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
636 ; distro files
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
637 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
638 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
639 echo "File '$OCTAVE_SOURCE/cmdshell.bat'" >> $OUTFILE
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
640 fi
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
641
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
642
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
643 # insert the files
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
644 IFS=$'\n'
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
645 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
646 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
647 echo " CreateDirectory \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
648 echo " SetOutPath \"\$INSTDIR\\$winf\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
649 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
650 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
651
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
652 cat >> $OUTFILE << EOF
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
653
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
654 ; add qt.conf
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
655 Push \$0
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
656 \${StrRep} '\$0' '\$INSTDIR' '\\' '/'
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
657 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Prefix" "\$0/$OCTAVE_SUBDIR"
5135
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
658 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Documentation" "${QT_SUBDIR}doc"
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
659 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Headers" "${QT_SUBDIR}include"
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
660 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Libraries" "${QT_SUBDIR}lib"
6836b2f08479 * tools/makeinst-script.sh.in: expand qt.conf to include all installed qt dirs
John Donoghue
parents: 5134
diff changeset
661 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Plugins" "${QT_SUBDIR}plugins"
5134
0ff5f24c0862 * tools/makeinst-script.sh.in: update qt prefix and translations dir in installer qt.conf
John Donoghue
parents: 5125
diff changeset
662 WriteINIStr "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf" "Paths" "Translations" "${QT_SUBDIR}translations"
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
663 Pop \$0
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4186
diff changeset
664
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
665 ; run post-install script
4258
a45374f7d9a3 Use 8.3 format for octave path
John D
parents: 4255
diff changeset
666 GetFullPathName /SHORT \$1 \$INSTDIR
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
667 DetailPrint "Running post install script (May take a while) ..."
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
668 ; run in hidden console window
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
669 nsExec::Exec /TIMEOUT=90000 '"\$1\\post-install.bat"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
670 Pop \$0
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
671 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
672
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
673 Section make_uninstaller
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
674 ; Write the uninstall keys for Windows
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
675 SetOutPath "\$INSTDIR"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
676 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayName" "Octave $VERSION\$MultiUser.Local"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
677 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayVersion" "$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
678 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayIcon" "\$INSTDIR\\$ICON"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
679 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "UninstallString" "\$\"\$INSTDIR\\uninstall.exe\$\" /\$MultiUser.InstallMode"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
680 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "QuietUninstallString" "\$\"\$INSTDIR\\uninstall.exe\$\" /\$MultiUser.InstallMode /S"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
681 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "NoModify" 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
682 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "NoRepair" 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
683 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "Publisher" "\${APP_NAME}"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
684 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "EstimatedSize" $SIZE
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
685 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "InstallMode" "\$MultiUser.InstallMode"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
686 WriteRegStr \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "InstallLocation" "\$INSTDIR"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
687 WriteUninstaller "uninstall.exe"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
688 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
689
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
690 ; start menu (currently hardcoded)
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
691 Section "Shortcuts"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
692
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
693 # will append (Local) to menus in local mode
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
694 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
695 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\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
696 SetOutPath "%USERPROFILE%"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
697 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (CLI).lnk" "\$INSTDIR\\octave-launch.exe" "--no-gui" "\$INSTDIR\\$ICON" 0 SW_SHOWMINIMIZED
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
698 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "\$INSTDIR\\octave-launch.exe" "--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
699 SetOutPath "\$INSTDIR"
4176
a543952ed731 set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents: 4173
diff changeset
700
a543952ed731 set usermodelappid for octave-gui shortcut (Bug #47527)
John Donoghue
parents: 4173
diff changeset
701 ; fix the shortcuts for appid
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
702 ; run in hidden console window
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
703 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Octave-$VERSION\$MultiUser.Local (GUI).lnk" "gnu.octave.$VERSION"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
704 Pop \$0
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
705 EOF
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
706 # shortcut for cmd win
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
707 if [ -f $OCTAVE_SOURCE/cmdshell.bat ]; then
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
708 echo "CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Bash Shell.lnk' '\$INSTDIR\\cmdshell.bat' '' '' 0" >> $OUTFILE
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3956
diff changeset
709 fi
5470
c561daaad6eb Add blas chooser
John Donoghue <john.donoghue@ieee.org>
parents: 5422
diff changeset
710 if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/blas_switch.exe ]; then
5536
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
711 cat >> $OUTFILE << EOF
5539
fa6fca3c12d7 * tools/makeinst-script.sh.in: rename blas switch shortcut to BLAS Switcher
John Donoghue <john.donoghue@ieee.org>
parents: 5536
diff changeset
712 CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\BLAS Switcher.lnk' '\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\blas_switch.exe' '' '' 0
5536
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
713 \${If} \$MultiUser.InstallMode != "CurrentUser"
5539
fa6fca3c12d7 * tools/makeinst-script.sh.in: rename blas switch shortcut to BLAS Switcher
John Donoghue <john.donoghue@ieee.org>
parents: 5536
diff changeset
714 Push '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\BLAS Switcher.lnk'
5536
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
715 Call ShellLinkSetRunAs
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
716 Pop \$0
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
717 \${EndIf}
f7f10f198735 Set blas switch shortcut to run as admin whe installed for all users (Bug #59118)
John Donoghue <john.donoghue@ieee.org>
parents: 5470
diff changeset
718 EOF
5470
c561daaad6eb Add blas chooser
John Donoghue <john.donoghue@ieee.org>
parents: 5422
diff changeset
719 fi
6582
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
720 if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/opengl_switch.exe ]; then
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
721 cat >> $OUTFILE << EOF
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
722 CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\OpenGL Switcher.lnk' '\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\opengl_switch.exe' '' '' 0
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
723 \${If} \$MultiUser.InstallMode != "CurrentUser"
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
724 Push '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\OpenGL Switcher.lnk'
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
725 Call ShellLinkSetRunAs
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
726 Pop \$0
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
727 \${EndIf}
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
728 EOF
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
729 fi
9a909530773b Add opengl_switch
John Donoghue <john.donoghue@ieee.org>
parents: 6395
diff changeset
730
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
731 # if we have documentation files, create shortcuts
4808
adc0217b36c0 * tools/makeinst-script.sh.in: update doc paths for msys2 /mingwXX
John Donoghue
parents: 4793
diff changeset
732 if [ -d $OCTAVE_SOURCE/$OCTAVE_SUBDIR/share/doc/octave ]; then
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
733 cat >> $OUTFILE << EOF
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
734 CreateDirectory "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
735 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave (PDF).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\share\\doc\\octave\\octave.pdf" "" "" 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
736 CreateShortCut "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\Octave (HTML).lnk" "\$INSTDIR\\$OCTAVE_SUBDIR\\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
737 EOF
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
738 fi
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
739
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
740 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
741
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
742 \${If} \$InstallShortcuts == \${BST_CHECKED}
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
743
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
744 ; get latest octave and create shortcuts to it
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
745 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
746 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
747 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
748
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
749 Call GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
750 Pop \$R1 ; Ver
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
751
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
752 ; if no version found - need set INST DIR and VER will use
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
753 StrCmp \$R1 "" set_ver_str
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
754
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
755 ClearErrors
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
756 ; valid install found - get info from registry
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
757 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
758 IfErrors sc_no_install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
759 StrCmp \$R0 "" sc_no_install_path sc_install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
760 sc_no_install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
761 # make dir from installer path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
762 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
763 \${GetParent} \$R0 \$R0
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
764
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
765 sc_install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
766
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
767 # remove any '"' in our path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
768 \${DequoteString} \$R0 \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
769
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
770 ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
771 GoTo have_ver_str
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
772 set_ver_str:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
773 StrCpy \$R1 "$VERSION"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
774 StrCpy \$R0 "\$INSTDIR"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
775 StrCpy \$R2 "\$INSTDIR\\$ICON"
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
776
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
777 have_ver_str:
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
778 SetOutPath "%USERPROFILE%"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
779 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "\$R0\\octave-launch.exe" "--no-gui" "\$R2" 0 SW_SHOWMINIMIZED
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
780 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "\$R0\\octave-launch.exe" "--gui" "\$R2" 0 SW_SHOWMINIMIZED
4186
393571034f24 * tools/makeinst-script.sh.in: set appid of desktop (GUI).lnk
John D
parents: 4176
diff changeset
781
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
782 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
783 Pop \$0
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
784
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
785 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
786 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
787 Pop \$R0
3453
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
788 \${Endif}
70b110956a4e nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents: 3431
diff changeset
789
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
790 ; BLAS set up
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
791 \${If} \$InstallBlasLib == 1
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
792 ; Reference BLAS
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
793 CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\librefblas.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libblas.dll"
3570
c7725f722155 NSIS installer: use Open BLAS by default
John W. Eaton <jwe@octave.org>
parents: 3552
diff changeset
794 \${Else}
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
795 ; OpenBLAS
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
796 CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libopenblas.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\libblas.dll"
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
797 \${EndIf}
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3458
diff changeset
798
6591
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
799 ; OpenGL set up
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
800 \${If} \$InstallOpenGL == 0
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
801 ; use system opengl - move opengl to backup
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
802 CopyFiles /SILENT "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\opengl32.dll" "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\opengl32.bak"
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
803 Delete "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\opengl32.dll"
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
804 \${EndIf}
2dfe73c0c492 * tools/makeinst-script.sh.in: add install system/software opengl option
John Donoghue <john.donoghue@ieee.org>
parents: 6582
diff changeset
805
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
806 SectionEnd
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
807
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
808 Section "FileTypeRego"
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
809
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
810 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION" "FriendlyAppName" "GNU Octave $VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
811 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
812 WriteRegStr SHCTX "Software\\Classes\\Octave.Document.$VERSION\\shell\\open\\command" "" "\$\\"\$INSTDIR\\octave-launch.exe\$\\" --gui --persist --eval \$\\"edit '%1'\$\\""
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
813
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
814 \${If} \$RegisterOctaveFileType == \${BST_CHECKED}
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
815
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
816 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" ""
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
817 StrCmp "\$0" "" ctx_no_back_type
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
818 WriteRegStr SHCTX "Software\\Classes\\.m" "backup_val" "\$0"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
819 ctx_no_back_type:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
820 WriteRegStr SHCTX "Software\\Classes\\.m" "" "Octave.Document.$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
821
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
822 WriteRegDWORD \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "RegisteredFileType" 1
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
823 \${EndIf}
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
824
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
825 SectionEnd
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
826
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
827 Section "Uninstall"
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
828
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
829 ; remove user uninstall stuff if options chosen
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
830 \${If} \$UninstallLocalPackages == 1
6394
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
831 \${If} \${FileExists} "\$UninstallAppDir\\octave\\api-v$OCTAVE_API_VERSION"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
832 RMDir /r "\$UninstallAppDir\\octave\\api-v$OCTAVE_API_VERSION"
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
833 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
834 ClearErrors
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
835 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
836
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
837 \${If} \$UninstallUserSettings == 1
6394
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
838 \${If} \${FileExists} "\$UninstallAppDir\\octave"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
839 Delete "\$UninstallAppDir\\octave\\octave-gui.ini"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
840 Delete "\$UninstallAppDir\\octave\\octave-doc-bookmarks.xbel"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
841 Delete "\$UninstallAppDir\\octave\\history"
eb58a62c878e * tools/makeinst-script.sh.in: use users appdir for removal of settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 6392
diff changeset
842 RMDir "\$UninstallAppDir\\octave"
6392
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
843 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
844 ClearErrors
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
845 \${EndIf}
8fe292548edf Add uninstall options to remove local packages and settings (Bug #62352)
John Donoghue <john.donoghue@ieee.org>
parents: 5958
diff changeset
846
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
847 ReadRegDWORD \$0 \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "RegisteredFileType"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
848 IfErrors not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
849
4255
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
850 ; only try remove if is set to our version of octave
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
851 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" ""
4255
ee1ae5d1fd88 installer: dont remove file association if is not for installed octave
John D
parents: 4254
diff changeset
852 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
853
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
854 ReadRegStr \$0 SHCTX "Software\\Classes\\.m" "backup_val"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
855 IfErrors not_backup_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
856
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
857 # retore backup
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
858 WriteRegStr SHCTX "Software\\Classes\\.m" "" "\$0"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
859
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
860 DeleteRegValue SHCTX "Software\\Classes\\.m" "backup_val"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
861
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
862 ; dont delete .m if just restored backup
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
863 Goto not_registered_file
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
864 not_backup_file:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
865 DeleteRegValue SHCTX "Software\\Classes" ".m"
3458
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
866
608931797a53 installer: Add .m association to Octave
John Donoghue <john.donoghue@ieee.org>
parents: 3453
diff changeset
867 not_registered_file:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
868
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
869 DeleteRegKey SHCTX "Software\\Classes\\Octave.Document.$VERSION"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
870 DeleteRegKey \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
871
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
872 ; Remove shortcuts
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
873 Delete "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation\\*.*"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
874 RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\Documentation"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
875
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
876 Delete "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\*.*"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
877 RMDir "\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
878
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
879 ; TODO: only delete if no other version of octave available
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
880
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
881 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
882 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
883 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
884
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
885 Call un.GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
886 Pop \$R1 ; Ver
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
887
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
888 ; no installs detected - remove shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
889 StrCmp \$R1 "" remove_desktop_shortcuts
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
890
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
891 ClearErrors
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
892 ; if install detected, get the path and icon
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
893 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
894 IfErrors no_install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
895 StrCmp \$R0 "" no_install_path install_path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
896 no_install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
897 # old installers uninstall string was just the name of the installer, so try make path from that
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
898 ReadRegStr \$R0 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "UninstallString"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
899 \${GetParent} \$R0 \$R0
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
900 install_path:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
901 ClearErrors
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
902
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
903 # remove any '"' in our path
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
904 \${un.DequoteString} \$R0 \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
905
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
906 StrCmp \$R0 "" remove_desktop_shortcuts
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
907
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
908 ReadRegStr \$R2 SHCTX "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-\$R1" "DisplayIcon"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
909
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
910 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" 0 check_gui_shortcut
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
911 SetOutPath "%USERPROFILE%"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
912 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk" "\$R0\\octave-launch.exe" "--no-gui" "\$R2" 0 SW_SHOWMINIMIZED
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
913
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
914 check_gui_shortcut:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
915 IfFileExists "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" 0 done_remove_desktop_shortcuts
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
916 SetOutPath "%USERPROFILE%"
5958
ea224bb389e3 NSIS installer: Use launcher executables.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5549
diff changeset
917 CreateShortCut "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "\$R0\\octave-launch.exe" "--gui" "\$R2" 0 SW_SHOWMINIMIZED
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
918 nsExec::Exec /TIMEOUT=30000 '"\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\win7appid.exe" "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk" "gnu.octave.\$R1"'
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
919 Pop \$0
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
920
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
921 GoTo done_remove_desktop_shortcuts
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
922
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
923 remove_desktop_shortcuts:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
924 Delete "\$desktop\\GNU Octave\$MultiUser.Local (CLI).lnk"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
925 Delete "\$desktop\\GNU Octave\$MultiUser.Local (GUI).lnk"
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
926
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
927 done_remove_desktop_shortcuts:
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
928 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
929 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
930 Pop \$R0
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
931
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
932 ; delete generated qt.conf file
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
933 Delete "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\qt.conf"
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
934 EOF
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
935
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
936 # 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
937 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
938 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
939 echo " Delete \"\$INSTDIR\\$winf\\*.*\"" >> $OUTFILE
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
940 echo " RmDir \"\$INSTDIR\\$winf\"" >> $OUTFILE
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
941 done
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
942
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
943 # last bit of the uninstaller
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents: 3430
diff changeset
944 cat >> $OUTFILE << EOF
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
945
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
946 Delete "\$INSTDIR\\uninstall.exe"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
947
3409
5e77c5fc91ed qt: build translations in cross build and install
John Donoghue <john.donoghue@ieee.org>
parents: 3406
diff changeset
948 Delete "\$INSTDIR\\*.*"
4725
12bfaba26c8d * tools/makeinst-script.sh.in: clear erros before doing RMDir INSTDIR
John Donoghue
parents: 4658
diff changeset
949 ClearErrors
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
950 RmDir "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
951
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
952 ; 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
953 IfErrors 0 uninstall_done
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
954 ClearErrors
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
955 MessageBox MB_YESNO "One or more folders were not uninstalled because they contain extra files. Try to delete them?" /SD IDYES IDNO uninstall_done
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
956 RMDir /r "\$INSTDIR"
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
957
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
958 IfErrors 0 uninstall_done
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
959 MessageBox MB_YESNO "One of more files were still not uninstalled. Do you want to delete them on the next reboot?" /SD IDYES IDNO uninstall_done
3956
125325a2a2c4 nsis-installer: delete remaining files in reboot
John D
parents: 3954
diff changeset
960 RMDir /r /REBOOTOK "\$INSTDIR"
3954
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
961 uninstall_done:
14ad478dc07b Installer: prompt to unstill additional files (Bug #45188)
John D
parents: 3831
diff changeset
962
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
963 SectionEnd
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
964
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
965 ; function to get latest version of octave installed
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
966 !macro GET_LATEST_OCTAVE un
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
967 Function \${un}GetLatestOctave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
968 Push \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
969 Push \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
970 Push \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
971 Push \$R3
6395
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
972 Push \$R4
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
973
6395
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
974 StrCpy \$R4 ""
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
975 StrCpy \$R0 ""
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
976 StrCpy \$R1 0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
977
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
978 ; loop through installed programs to find octave installs
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
979 \${un}octave_ver_loop:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
980 EnumRegKey \$R2 \${PRODUCT_UNINST_ROOT_KEY} "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
981 StrCmp \$R2 "" \${un}latest_octave_done
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
982
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
983 ; len(octave) = 6
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
984 StrCpy \$R3 \$R2 6
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
985 StrCmp \$R3 "Octave" 0 \${un}next_ver_loop
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
986
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
987 ; to verify the install check with the installer exists have uninstaller
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
988 # TODO
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
989 #ReadRegStr \$R3 \${PRODUCT_UNINST_ROOT_KEY} "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\\$R2" "UninstallString"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
990 #ifFileExists \$R3 0 \${un}next_ver_loop
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
991
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
992 # if uninstalling dont count ourselves
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
993 \${If} "\${un}" == "un."
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
994 StrCmp \$R2 "Octave-$VERSION\$MultiUser.Local" \${un}skip_ver_set
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
995 ; grab version part of octave
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
996 StrCpy \$R0 \$R2 "" 7
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
997 \${un}skip_ver_set:
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
998
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
999 \${Else}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1000 ; grab version part of octave
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1001 StrCpy \$R0 \$R2 "" 7
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1002 \${EndIf}
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1003
6395
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1004 !insertmacro VersionCompare "\${un}" \$R4 \$R0 \$R2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1005 \${If} \$R2 == 2
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1006 # new one if bigger - save it
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1007 StrCpy \$R4 \$R0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1008 \${EndIf}
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1009
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1010 \${un}next_ver_loop:
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1011 IntOp \$R1 \$R1 + 1
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1012 GoTo \${un}octave_ver_loop
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1013
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1014 \${un}latest_octave_done:
6395
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1015 # put result in r0
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1016 StrCpy \$R0 \$R4
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1017
f654b70b6a6e * tools/makeinst-script.sh.in: compare version string for get latest rather than assume in order
John Donoghue <john.donoghue@ieee.org>
parents: 6394
diff changeset
1018 Pop \$R4
4471
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1019 Pop \$R3
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1020 Pop \$R2
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1021 Pop \$R1
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1022 Exch \$R0
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1023 ; stack now has octave version on top
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1024 FunctionEnd
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1025 !macroend
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1026
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1027 !insertmacro GET_LATEST_OCTAVE ""
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1028 !insertmacro GET_LATEST_OCTAVE "un."
1a3deda73484 nsis installer: include version links in startmenu (Bug #51878)
John D
parents: 4458
diff changeset
1029
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1030 ; 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
1031 Function CheckWinVer
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1032 Push \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1033 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
1034
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1035 ; try read new way of getting version
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1036 ReadRegStr \$0 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentMajorVersionNumber
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1037 ; since is DWORD reg value, error will be set, however will be "" if no value read
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1038 StrCmp \$0 "" is_less_than_win10
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1039 ReadRegStr \$1 HKLM "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" CurrentMinorVersionNumber
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1040 StrCmp \$1 "" is_less_than_win10
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1041
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1042 StrCpy \$0 "\$0.\$1"
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1043 Goto is_winnt
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1044
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1045 is_less_than_win10:
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1046 ClearErrors
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1047 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
1048 IfErrors is_error is_winnt
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1049
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1050 is_winnt:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1051 StrCpy \$1 \$0 1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1052 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
1053 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
1054 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
1055 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
1056 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
1057 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
1058 StrCmp \$0 "6.2" is_winnt_8
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1059 StrCmp \$0 "6.3" is_winnt_8 ; win 8.1
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1060 StrCmp \$0 "10.0" is_winnt_10
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
1061 StrCmp \$1 6 is_winnt_10 ; Checking for future versions of Windows 10+
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1062 StrCmp \$1 1 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
1063 Goto is_error
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1064
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1065 is_winnt_XP:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1066 is_winnt_2003:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1067 is_winnt_vista:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1068 is_winnt_7:
4120
f2d7bb7777da installer: dont warn on experimental for win10 (Bug #47576)
John Donoghue
parents: 4075
diff changeset
1069 is_winnt_8:
4787
68deb4d4d928 nsis-installer: eliminate windows 10 warning
John W. Eaton <jwe@octave.org>
parents: 4786
diff changeset
1070 is_winnt_10:
3362
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1071 Goto done
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1072 is_error:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1073 StrCpy \$1 \$0
4387
05b44661c970 nsis-installer: Check new reg values for Win10 (Bug #50552)
John D
parents: 4385
diff changeset
1074 ClearErrors
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
1075 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
1076 IfErrors 0 +4
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
1077 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
1078 IfErrors 0 +2
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1079 StrCpy \$0 "Unknown"
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1080 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
1081 Abort
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1082 done:
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1083 Pop \$1
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1084 Pop \$0
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1085 FunctionEnd
0f2a5e218359 makeinst-script.sh: Added checking of Windows version
Anirudha Bose <ani07nov@gmail.com>
parents: 3361
diff changeset
1086
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1087 ; 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
1088 Function CheckCurrVersion
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
1089 Push \$0
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1090 ClearErrors
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1091 ReadRegStr \$0 \${PRODUCT_UNINST_ROOT_KEY} "\$MultiUser.UninstallKey" "DisplayName"
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1092 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
1093 MessageBox MB_OK|MB_ICONSTOP "Another Octave installation (with the same version) has been detected. Please uninstall it first."
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1094 Quit
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1095 curr_check_ok:
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
1096 pop \$0
3358
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
1097 FunctionEnd
8708b7d07795 makeinst-script.sh: Added checking for previous installation of Octave
Anirudha Bose <ani07nov@gmail.com>
parents: 3357
diff changeset
1098
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
1099 ; Check whether prev install is here and no spaces or special chars in dest name
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1100 Function CheckPrevInstallAndDest
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
1101 IfFileExists "\$INSTDIR\\bin\\octave-cli.exe" inst_exists 0
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4787
diff changeset
1102 IfFileExists "\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\octave-cli.exe" inst_exists inst_none
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1103 inst_exists:
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
1104 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?" /SD IDYES IDYES inst_none IDNO 0
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1105 Abort
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1106 GoTo inst_end
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1107 inst_none:
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1108
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
1109 ; check for spaces or spcial chars in dest filename
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1110 Push \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1111 Push \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1112
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1113 StrCpy \$R1 0 # r1 = counter
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1114 space_loop:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1115 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
1116 StrCmp \$R0 "" space_end # end of string
5168
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
1117 StrCmp \$R0 "&" space_found
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
1118 StrCmp \$R0 "%" space_found
e640a2d2ede0 * tools/makeinst-script.sh.in: update dest folder check to include check of characters that cause issues (Bug #49718)
John Donoghue
parents: 5135
diff changeset
1119 StrCmp \$R0 "^" space_found
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1120 IntOp \$R1 \$R1 + 1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1121 GoTo space_loop
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1122 space_found:
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1123 MessageBox MB_OK|MB_ICONEXCLAMATION "Octave should not be installed to a destination folder containing &%()^. Please select another destination."
3728
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1124 Abort
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1125 space_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1126 Pop \$R1
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1127 Pop \$R0
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1128
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1129 inst_end:
8c11c5a1a939 Prevent octave install to path with spaces
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
1130
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1131 FunctionEnd
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1132
6939
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1133 ; Function to check Console Settings and show a warn
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1134 Function CheckConsole
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1135 Push \$R0
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1136 Push \$R1
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1137
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1138 ClearErrors
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1139
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1140 ReadRegStr \$R1 HKCU "Console\\%%Startup" "DelegationConsole"
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1141 IfErrors ignore_console 0
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1142
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1143 StrCmp \$R1 "" ignore_console 0
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1144 # already set for console host
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1145 StrCmp \$R1 "{B23D10C0-E52E-411E-9D5B-C09FDF709C7D}" ignore_console 0
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1146
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1147 # display message
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1148 MessageBox MB_ICONEXCLAMATION|MB_YESNO|MB_DEFBUTTON2 "Using Octave with the Windows Terminal app could lead to issues with the command window. Please, set the default to the “Windows Console Host”.$\r$\n$\r$\nWould you like to get instructions on how to change the default console?" /SD IDNO IDNO ignore_console
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1149
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1150 ExecShell open "https://devblogs.microsoft.com/commandline/windows-terminal-as-your-default-command-line-experience/"
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1151
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1152 ignore_console:
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1153 Pop \$R1
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1154 Pop \$R0
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1155 FunctionEnd
4f25eb25a80b Installer: Check for default console and show advice for new Terminal
John Donoghue <john.donoghue@ieee.org>
parents: 6592
diff changeset
1156
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1157 ; 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
1158 Function CheckJRE
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1159 ; looks in:
3359
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
1160 ; 1 - JAVA_HOME environment variable
40ae138b38a6 Removed checking of JRE locally
Anirudha Bose <ani07nov@gmail.com>
parents: 3358
diff changeset
1161 ; 2 - the registry
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1162
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1163 Push \$R0
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1164 Push \$R1
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1165
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1166 # get the version
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1167 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1168 ReadEnvStr \$R1 "JAVA_VERSION"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1169 StrCmp \$R1 "" 0 have_java_version
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1170 ClearErrors
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1171 ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\JRE" "CurrentVersion"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1172 IfErrors 0 have_java_version
3367
cfcbe03c9160 installer: Enable documentation build and add to installer.
John Donoghue <john.donoghue@ieee.org>
parents: 3366
diff changeset
1173 ReadRegStr \$R1 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment" "CurrentVersion"
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1174 IfErrors JRE_Error have_java_version
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1175
4648
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1176 have_java_version:
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1177 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1178 ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\JRE\\\$R1" "RuntimeLib"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1179 IfErrors 0 have_java_runtime
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1180 ReadRegStr \$R0 HKLM "SOFTWARE\\JavaSoft\\Java Runtime Environment\\\$R1" "RuntimeLib"
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1181 IfErrors JRE_Error have_java_runtime
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1182
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1183 have_java_runtime:
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1184 # have runtime in R0 - check actual file is there
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1185 StrCmp \$R0 "" JRE_Error 0
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1186 ClearErrors
982484a78b75 nsis-installer: check for java using same tests of octave uses (Bug #53572)
John Donoghue
parents: 4613
diff changeset
1187 IfFileExists \$R0 continue JRE_Error
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1188
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1189 JRE_Error:
4385
722693b132ad nsis installer: suppress warninga in silent mode
John D
parents: 4367
diff changeset
1190 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?" /SD IDYES IDYES continue
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1191 Abort
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1192 continue:
3403
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1193 Pop \$R1
f79780bcc843 installer: check destination path later in install (Bug #41069)
John Donoghue <john.donoghue@ieee.org>
parents: 3391
diff changeset
1194 Pop \$R0
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1195 FunctionEnd
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1196
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1197 Function un.FindThisUninstallReg
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1198 # look to find where we were installed for this particular version and then return
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1199 # 0 no install found (shouldnt happen)
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1200 # 1 local install was found
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1201 # 2 allusers install was found
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1202 Push \$R0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1203 Push \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1204
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1205 StrCpy \$R0 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1206
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1207 find_check_reg_hkcu:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1208 # check for local installs
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1209 ReadRegStr \$R1 HKCU "\${PRODUCT_UNINST_KEY} (Local)" "InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1210 StrCmp \$R1 "" 0 find_have_reg_hkcu
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1211
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1212 ReadRegStr \$R1 HKCU "\${PRODUCT_UNINST_KEY} (Local)" "UninstallString"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1213 StrCmp \$R1 "" find_check_reg_hklm 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1214
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1215 \${GetParent} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1216
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1217 find_have_reg_hkcu:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1218 \${un.DequoteString} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1219
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1220 # is this the match ?
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1221 StrCmp \$R1 "\$INSTDIR" 0 find_check_reg_hklm
4124
5ae69991eaa1 installer: detect win64/win32 java depending on octave 32/64 (Bug #47606)
John Donoghue
parents: 4121
diff changeset
1222
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1223 StrCpy \$R0 1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1224 GoTo find_check_reg_done
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1225 find_check_reg_hklm:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1226 # check for all installs
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1227 ReadRegStr \$R1 HKLM "\${PRODUCT_UNINST_KEY}" "InstallLocation"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1228 StrCmp \$R1 "" 0 find_have_reg_hklm
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1229
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1230 ReadRegStr \$R1 HKLM "\${PRODUCT_UNINST_KEY}" "UninstallString"
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1231 StrCmp \$R1 "" find_check_reg_done 0
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1232
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1233 \${GetParent} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1234
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1235 find_have_reg_hklm:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1236 \${un.DequoteString} \$R1 \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1237
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1238 # is this the match ?
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1239 StrCmp \$R1 "\$INSTDIR" 0 find_check_reg_done
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1240
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1241 StrCpy \$R0 2
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1242
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1243 find_check_reg_done:
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1244 Pop \$R1
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1245 # restore r0, but result on stack
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1246 Exch \$R0
3357
456b6e533054 makeinst-script.sh: Added checking for Java Runtime Environment
Anirudha Bose <ani07nov@gmail.com>
parents: 3356
diff changeset
1247 FunctionEnd
5420
ec1f5c04ca0b * tools/makeinst-script.sh.in: add multiuser options to nsis installer (Bug #58320)
John Donoghue <john.donoghue@ieee.org>
parents: 5347
diff changeset
1248
2992
4b450c162e39 Add ability to create simple NSIS installer
John Donoghue <john.donoghue@ieee.org>
parents:
diff changeset
1249 EOF