annotate packaging/trustbridge.nsi @ 1307:2bacaec6e101

(perf) Use cached values to deterimine elevation.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 13 Oct 2014 12:32:13 +0200
parents 9f5893faa60b
children 303de3160a83
rev   line source
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
1 ; Copyright (C) 2014 by Bundesamt f�r Sicherheit in der Informationstechnik
406
5ee694fa3da7 Add license header for NSIS scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 381
diff changeset
2 ; Software engineering by Intevation GmbH
5ee694fa3da7 Add license header for NSIS scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 381
diff changeset
3 ;
5ee694fa3da7 Add license header for NSIS scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 381
diff changeset
4 ; This file is Free Software under the GNU GPL (v>=2)
5ee694fa3da7 Add license header for NSIS scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 381
diff changeset
5 ; and comes with ABSOLUTELY NO WARRANTY!
5ee694fa3da7 Add license header for NSIS scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 381
diff changeset
6 ; See LICENSE.txt for details.
5ee694fa3da7 Add license header for NSIS scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 381
diff changeset
7
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8 ; This script creates the installer for renameme it needs the
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9 ; following definitions to be set when calling makensis:
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10 ;
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11 ; productname: Name of the Software as it will show up under installed
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
12 ; Software
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13 ; company: The publisher of this software. (Windows needs this)
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14 ; version_number: The version of the software
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
15 ; setupname: The name for the result created by this
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
16 ; productname_short: Used for the default folder name and such
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
17 ; files_dir: the path to the files
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
18
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 ;--------------------------------
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
20 ; Includes
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21 !define MULTIUSER_EXECUTIONLEVEL Highest
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
22 !define MULTIUSER_MUI
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
23 !define MULTIUSER_INSTALLMODE_COMMANDLINE
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
24 !define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "Software\${productname_short}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25 !define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME ""
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
26 !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "Software\${productname_short}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
27 !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME ""
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
28 !define MULTIUSER_INSTALLMODE_INSTDIR "${productname_short}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
29
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
30 !addplugindir "${plugin_dir}"
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
31 !addincludedir "${plugin_dir}"
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
32
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
33 !include "MultiUser.nsh"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
34 !include "MUI2.nsh"
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
35 !include "FileFunc.nsh"
828
95e14add5c50 (issue11) Check minium supported windows version
Andre Heinecke <andre.heinecke@intevation.de>
parents: 798
diff changeset
36 !include "WinVer.nsh"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
37
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
38 ;--------------------------------
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
39 ;Version Information (for installer file properties)
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
40
500
4f972b1f4996 Fix packaging information generation
Andre Heinecke <aheinecke@intevation.de>
parents: 494
diff changeset
41 ;VIProductVersion "${version_number}" ;needs integer format: x.x.x.x
4f972b1f4996 Fix packaging information generation
Andre Heinecke <aheinecke@intevation.de>
parents: 494
diff changeset
42 VIProductVersion 1.0.0.0
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
43 VIAddVersionKey "ProductName" "${productname_short}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
44 VIAddVersionKey "Comments" "${productname_short} ist Freie Software"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
45 VIAddVersionKey "CompanyName" "${company}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
46 VIAddVersionKey "LegalTrademarks" ""
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
47 VIAddVersionKey "LegalCopyright" "${copyright}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
48 VIAddVersionKey "FileDescription" "${description}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
49 VIAddVersionKey "FileVersion" "${version_number}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
50
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
51 Var StartMenuFolder
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
52 Var douninstcertificates
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
53 Var uninstCertificates
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
54 ;--------------------------------
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
55 ; General
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
56
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
57 ; Define Name, File and Installdir of Installer
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
58 Name "${productname}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
59 OutFile "${setupname}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
60 InstallDir "$PROGRAMFILES\${productname_short}"
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
61 BrandingText "${company} - ${productname}"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
62
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
63 ;--------------------------------
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
64 ; Interface Settings
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
65
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
66 ; MUI Images / Icons
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
67 !define MUI_HEADERIMAGE
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
68 !define MUI_HEADERIMAGE_BITMAP "resources\header-install.bmp"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
69 !define MUI_HEADERIMAGE_UNBITMAP "resources\header-uninstall.bmp"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
70 !define MUI_WELCOMEFINISHPAGE_BITMAP "resources\wizard-install.bmp"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
71 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "resources\wizard-uninstall.bmp"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
72 !define MUI_ICON "resources\install.ico"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
73 !define MUI_UNICON "resources\uninstall.ico"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
74
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
75 ; MUI welcome page text
862
eee419ad81b8 (Packaging) Added version number and development version note to nsis welcome page.
Emanuel Schuetze <emanuel@intevation.de>
parents: 859
diff changeset
76 !define MUI_WELCOMEPAGE_TITLE "Willkommen zur Installation von TrustBridge ${version_number}"
798
8fad91c654e2 Installer, Welcomepage, another variant.
Bernhard Reiter <bernhard@intevation.de>
parents: 797
diff changeset
77 ;!define MUI_WELCOMEPAGE_TITLE_3LINES
8fad91c654e2 Installer, Welcomepage, another variant.
Bernhard Reiter <bernhard@intevation.de>
parents: 797
diff changeset
78 !define MUI_WELCOMEPAGE_TEXT "${productname} ist eine Anwendung \
862
eee419ad81b8 (Packaging) Added version number and development version note to nsis welcome page.
Emanuel Schuetze <emanuel@intevation.de>
parents: 859
diff changeset
79 um Wurzelzertifikate auf ihrem System zu installieren und aktuell zu halten. \
eee419ad81b8 (Packaging) Added version number and development version note to nsis welcome page.
Emanuel Schuetze <emanuel@intevation.de>
parents: 859
diff changeset
80 $\r$\n$\r$\n$\r$\n$\r$\n \
eee419ad81b8 (Packaging) Added version number and development version note to nsis welcome page.
Emanuel Schuetze <emanuel@intevation.de>
parents: 859
diff changeset
81 Achtung: Dies ist eine Testversion!"
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
82
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
83 !define MUI_FINISHPAGE_NOAUTOCLOSE
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
84 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
85
915
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
86 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
87 !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${productname_short}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
88 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
89
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
90
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
91 ;--------------------------------
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
92 ; Pages
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
93
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
94 !define MUI_FINISHPAGE_TITLE "Die Installation war erfolgreich"
506
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
95 !define MUI_FINISHPAGE_TEXT "${productname} wurde auf Ihrem \
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
96 Computer installliert. $\r$\n$\r$\n\
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
97 Klicken Sie auf 'Fertig stellen', um den Installations-Assistenten\
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
98 zu schlie�en."
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
99 !define MUI_FINISHPAGE_RUN $INSTDIR\trustbridge.exe
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
100 !define MUI_FINISHPAGE_RUN_TEXT "Anwendung starten"
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
101 !define MUI_FINISHPAGE_RUN_FUNCTION RunAsUser
794
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
102 !define MUI_FINISHPAGE_LINK "Mehr unter ${info_url}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
103 !define MUI_FINISHPAGE_LINK_LOCATION "${info_url}"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
104
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
105 !insertmacro MUI_PAGE_WELCOME
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
106 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
107 !insertmacro MUI_PAGE_DIRECTORY
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
108 !insertmacro MUI_PAGE_INSTFILES
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
109 !insertmacro MUI_PAGE_FINISH
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
110
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
111 !ifdef WRITE_UNINSTALLER
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
112 !define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ModifyUnWelcome
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
113 !define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.LeaveUnWelcome
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
114
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
115 !insertmacro MUI_UNPAGE_WELCOME
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
116 !insertmacro MUI_UNPAGE_CONFIRM
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
117 !insertmacro MUI_UNPAGE_INSTFILES
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
118
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
119 Function un.ModifyUnWelcome
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
120 ${NSD_CreateCheckbox} 120u -18u 50% 12u "Verwaltete Zertifikate entfernen."
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
121 Pop $uninstCertificates
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
122 SetCtlColors $uninstCertificates "" ${MUI_BGCOLOR}
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
123 ${NSD_Check} $uninstCertificates ; Check it by default
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
124 FunctionEnd
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
125
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
126 Function un.LeaveUnWelcome
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
127 ${NSD_GetState} $uninstCertificates $0
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
128 StrCpy $douninstcertificates "FALSE"
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
129 ${If} $0 <> 0
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
130 StrCpy $douninstcertificates "TRUE"
835
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
131 ${EndIf}
bd9d07c301fd Add framework to uninstall certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 831
diff changeset
132 FunctionEnd
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
133 !endif
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
134
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
135 !insertmacro MUI_LANGUAGE "German"
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
136
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
137
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
138 ;--------------------------------
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
139 ; Install Functions
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
140
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
141 Function ".onInit"
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
142 !ifdef WRITE_UNINSTALLER
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
143 SetOutPath "c:\tmp-uninstaller"
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
144 WriteUninstaller "c:\tmp-uninstaller\Uninstall.exe"
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
145 Quit
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
146 !endif
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
147
828
95e14add5c50 (issue11) Check minium supported windows version
Andre Heinecke <andre.heinecke@intevation.de>
parents: 798
diff changeset
148 ${IfNot} ${AtLeastWinVista}
917
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
149 MessageBox MB_ICONSTOP "Windows XP und �ltere Windows Versionen werden von dieser Anwendung nicht unterst�tzt."
828
95e14add5c50 (issue11) Check minium supported windows version
Andre Heinecke <andre.heinecke@intevation.de>
parents: 798
diff changeset
150 Quit
95e14add5c50 (issue11) Check minium supported windows version
Andre Heinecke <andre.heinecke@intevation.de>
parents: 798
diff changeset
151 ${Endif}
95e14add5c50 (issue11) Check minium supported windows version
Andre Heinecke <andre.heinecke@intevation.de>
parents: 798
diff changeset
152
917
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
153 UserInfo::GetAccountType
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
154 pop $0
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
155 ${If} $0 != "admin"
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
156 MessageBox MB_ICONINFORMATION|MB_YESNO "\
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
157 Sie sind im Begriff ${productname} ohne Administratorrechte zu installieren. $\r$\n\
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
158 $\r$\n\
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
159 Ohne Administratorrechte werden Sie von Windows zur Best�tigung jeder Zertifikats�nderung einzeln aufgefordert. $\r$\n$\r$\n\
925
1b77124aea4d (issue62) Updated no-admin warning message.
Emanuel Schuetze <emanuel@intevation.de>
parents: 917
diff changeset
160 Wenn Sie die M�glichkeit besitzen Administratorrechte auf diesem System zu erlangen, starten Sie diesen Installer \
1b77124aea4d (issue62) Updated no-admin warning message.
Emanuel Schuetze <emanuel@intevation.de>
parents: 917
diff changeset
161 erneut mit der Funktion 'Als Administrator ausf�hren'. $\r$\n$\r$\n\
917
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
162 M�chten Sie die Installation ohne Administratorrechte fortsetzen?" /SD IDYES IDYES goOn IDNO stopNow
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
163 stopNow:
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
164 Quit
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
165 goOn:
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
166 ${EndIf}
6978381671eb (issue62) Show warning when installation as normal user is attempted
Andre Heinecke <andre.heinecke@intevation.de>
parents: 915
diff changeset
167
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
168 Var /GLOBAL is_update
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
169 Var /GLOBAL changed_dir
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
170 ${GetParameters} $R0
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
171 ClearErrors
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
172 ${GetOptions} $R0 /UPDATE= $is_update
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
173
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
174 ; Check if the install directory was modified on the command line
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
175 StrCmp "$INSTDIR" "$PROGRAMFILES\${productname_short}" unmodified 0
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
176 ; It is modified. Save that value.
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
177 StrCpy $changed_dir "$INSTDIR"
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
178
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
179 ; MULITUSER_INIT overwrites directory setting from command line
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
180 !insertmacro MULTIUSER_INIT
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
181 StrCpy $INSTDIR "$changed_dir"
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
182 goto initDone
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
183 unmodified:
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
184 !insertmacro MULTIUSER_INIT
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
185 initDone:
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
186 FunctionEnd
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
187
506
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
188 ; If we run elevated we do not want to run
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
189 ; the UI elevated as this could be a security
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
190 ; problem.
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
191 Function RunAsUser
1118
fd85a02d771d (issue54) Implement a privilege drop to execute the program after installation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1010
diff changeset
192 DesktopShellRun::Exec "$INSTDIR\trustbridge.exe"
506
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
193 FunctionEnd
bfcfbae151ab Some packaging changes. Add dummy runAsUser (not working) Update Application icon
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
194
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
195 ;--------------------------------
381
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
196 ; UnInstall Functions
73bfc9cc22e7 Improved NSIS installer MUI script. Added sample images and icons.
Emanuel Schuetze <emanuel@intevation.de>
parents: 340
diff changeset
197
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
198 Function "un.onInit"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
199 !insertmacro MULTIUSER_UNINIT
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
200 FunctionEnd
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
201
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
202 Section ""
895
8ac2d9b0668d Add sleep in installer on update
Andre Heinecke <andre.heinecke@intevation.de>
parents: 870
diff changeset
203 StrCmp $is_update '1' wait_a_bit continue
8ac2d9b0668d Add sleep in installer on update
Andre Heinecke <andre.heinecke@intevation.de>
parents: 870
diff changeset
204 wait_a_bit:
8ac2d9b0668d Add sleep in installer on update
Andre Heinecke <andre.heinecke@intevation.de>
parents: 870
diff changeset
205 ; The trustbridge.exe might need some time to close
8ac2d9b0668d Add sleep in installer on update
Andre Heinecke <andre.heinecke@intevation.de>
parents: 870
diff changeset
206 ; lets give it a chance to avoid failing to overwrite it
8ac2d9b0668d Add sleep in installer on update
Andre Heinecke <andre.heinecke@intevation.de>
parents: 870
diff changeset
207 Sleep 1000
8ac2d9b0668d Add sleep in installer on update
Andre Heinecke <andre.heinecke@intevation.de>
parents: 870
diff changeset
208 continue:
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
209 ; The actual installation
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
210 SetOutPath "$INSTDIR"
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
211 !include "filelist_in.nsh"
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
212 SetOutPath "$INSTDIR"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
213
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
214 ;Create uninstaller
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
215 !ifndef WRITE_UNINSTALLER
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
216 File "${files_dir}${path_sep}Uninstall.exe"
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
217 !endif
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
218
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
219 ; Code below is not run on updates
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
220 StrCmp $is_update '1' done
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
221
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
222 WriteRegStr SHCTX "Software\${productname_short}" "" $INSTDIR
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
223
870
e93ae5233217 Readd autostart
Andre Heinecke <andre.heinecke@intevation.de>
parents: 862
diff changeset
224 ; Set up autostart
901
a10eae8ca290 (issue85) Always install autostart and startmenu only for the installing user.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 895
diff changeset
225 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "TrustBridge" "$INSTDIR\trustbridge.exe --tray"
632
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
226
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
227 ; Register logging
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
228 WriteRegStr SHCTX "System\CurrentControlSet\services\eventlog\Application\${productname_short}" "CategoryMessageFile" "$INSTDIR\trustbridge.exe"
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
229 WriteRegStr SHCTX "System\CurrentControlSet\services\eventlog\Application\${productname_short}" "EventMessageFile" "$INSTDIR\trustbridge.exe"
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
230 WriteRegStr SHCTX "System\CurrentControlSet\services\eventlog\Application\${productname_short}" "ParameterMessageFile" "$INSTDIR\trustbridge.exe"
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
231 WriteRegDword SHCTX "System\CurrentControlSet\services\eventlog\Application\${productname_short}" "TypesSupported" 5
9a18f096129d Add registry entries for logging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 588
diff changeset
232 WriteRegDword SHCTX "System\CurrentControlSet\services\eventlog\Application\${productname_short}" "CategoryCount" 3
494
613fbcb5df0c Add autostart entry and finish renaming
Andre Heinecke <aheinecke@intevation.de>
parents: 410
diff changeset
233
794
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
234 ; Register Uninstaller
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
235
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
236 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
237 "DisplayName" "${productname}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
238 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
239 "DisplayIcon" "$\"$INSTDIR\trustbridge.exe$\""
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
240 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
241 "DisplayVersion" "${version_number}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
242 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
243 "Publisher" "${company}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
244 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
245 "URLInfoAbout" "${info_url}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
246 WriteRegDword SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
247 "EstimatedSize" "${size}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
248
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
249
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
250 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
251 "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
252 WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}" \
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
253 "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
254
915
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
255 ; Below this is HKCU only!
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
256 SetShellVarContext current
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
257 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
258
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
259 ;Create shortcuts
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
260 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
494
613fbcb5df0c Add autostart entry and finish renaming
Andre Heinecke <aheinecke@intevation.de>
parents: 410
diff changeset
261 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${productname}.lnk" "$INSTDIR\trustbridge.exe"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
262
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
263 !insertmacro MUI_STARTMENU_WRITE_END
588
a4e75d90d3f6 Use latin1 in NSIS (fixes encoding errors) Fix command line installation dir.
Andre Heinecke <aheinecke@intevation.de>
parents: 506
diff changeset
264 done:
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
265 StrCmp $is_update '1' run_silent dont_run
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
266 run_silent:
1124
fd2194295218 (issue54) Start application after update in tray mode
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1118
diff changeset
267 DesktopShellRun::Exec "$INSTDIR\trustbridge.exe" "--tray"
1010
1c1964c27b39 (issue54) commit work in progress on start after installation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 925
diff changeset
268 dont_run:
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
269
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
270 SectionEnd
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
271
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
272 !ifdef WRITE_UNINSTALLER
1248
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
273
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
274 !include "StrFunc.nsh"
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
275
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
276 Section "Uninstall"
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
277 StrCmp "$douninstcertificates" "TRUE" 0 skip_certs
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
278 ExpandEnvStrings $0 %LOCALAPPDATA%
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
279 nsExec::ExecToLog '"$INSTDIR\trustbridge-certificate-installer.exe" "list=$0\BSI\TrustBridge\list-installed.txt" "choices=uninstall"'
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
280 Delete "$0\BSI\TrustBridge\list*.txt"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
281 Delete "$0\BSI\TrustBridge\SW*.exe"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
282 RmDir "$0\BSI\TrustBridge"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
283 RmDir "$0\BSI"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
284 ExpandEnvStrings $0 %APPDATA%
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
285 Delete "$0\BSI\TrustBridge.ini"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
286 RmDir "$0\BSI"
1248
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
287 var /GLOBAL user_count
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
288 StrCpy $user_count 0
1198
c072dda0b541 (issue133) Delete APPDATA local / roaming when certificates are also remvoed
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1188
diff changeset
289
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
290 UserInfo::GetAccountType
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
291 pop $0
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
292 ${If} $0 == "admin"
1248
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
293 ${Do}
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
294 ; Loop over profile keys
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
295 EnumRegKey $R1 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $R0
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
296 ${If} $R1 != ""
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
297 ${UnStrStr} $R2 $R1 "S-1-5-21-" ;Search for S-1-5-21-
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
298 ${If} $R2 != ""
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
299 IntOp $user_count $user_count + 1
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
300 ${EndIf}
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
301 IntOp $R0 $R0 + 1
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
302 ${EndIf}
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
303 ${LoopUntil} $R1 == ""
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
304
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
305 ${if} $user_count > 1
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
306 MessageBox MB_ICONINFORMATION|MB_YESNO "\
1245
1c77c4c6aff4 (issue143): "Login" -> "anmelden"
Bernhard Reiter <bernhard@intevation.de>
parents: 1244
diff changeset
307 Zertifikate, die f�r andere Nutzer im Zertifikatsspeicher von Firefox und Thunderbird installiert wurden, k�nnen erst beim der n�chsten \
1c77c4c6aff4 (issue143): "Login" -> "anmelden"
Bernhard Reiter <bernhard@intevation.de>
parents: 1244
diff changeset
308 Anmeldung dieser Nutzer deinstalliert werden. \
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
309 $\r$\n$\r$\n\
1244
94685a66950a (issue143) Updated NSIS uninstall message for multiuser.
Emanuel Schuetze <emanuel@intevation.de>
parents: 1242
diff changeset
310 Die Deinstallation der Zertifikate wird von der folgenden Anwendung durchgef�hrt: $\r$\n '$INSTDIR\trustbridge-nss-installer.exe' $\r$\n$\r$\n\
94685a66950a (issue143) Updated NSIS uninstall message for multiuser.
Emanuel Schuetze <emanuel@intevation.de>
parents: 1242
diff changeset
311 Wenn Zertifikate auch aus den Thunderbird- und Firefox-Speichern anderer Nutzer deinstalliert werden sollen, w�hlen \
1245
1c77c4c6aff4 (issue143): "Login" -> "anmelden"
Bernhard Reiter <bernhard@intevation.de>
parents: 1244
diff changeset
312 Sie bitte 'Nein' und l�schen Sie 'trustbridge-nss-installer.exe' manuell nachdem die anderen Nutzer sich einmal angemeldet hatten.$\r$\n \
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
313 $\r$\n\
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
314 Soll '$INSTDIR\trustbridge-nss-installer.exe' jetzt entfernt werden?" /SD IDYES IDYES deleteNSSInstaller IDNO dontDeleteNSS
1248
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
315 ${Else}
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
316 goto deleteNSSInstaller
9f5893faa60b (issue143) Only show warning when multiple users exist.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1245
diff changeset
317 ${Endif}
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
318 ${Else}
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
319 Delete "$INSTDIR\trustbridge-nss-installer.exe"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
320 ${EndIf}
859
df6f3b1cc41c (issue53) Uninstall list-installed if requested.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 835
diff changeset
321 skip_certs:
1242
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
322 deleteNSSInstaller:
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
323 Delete "$INSTDIR\trustbridge-nss-installer.exe"
e4aff35ef8fd (issue143) Make uninstallation of nss-installer conditional on Windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1198
diff changeset
324 dontDeleteNSS:
1188
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
325 !include "filelist_un.nsh"
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
326 Delete "$INSTDIR\Uninstall.exe"
eb77ddd7e1ab (issue137) Generate and include install / uninstall file lists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
327 RMDir "$INSTDIR"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
328
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
329 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
330
915
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
331 DeleteRegValue SHCTX "Software\${productname_short}" "Start Menu Folder"
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
332
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
333 DeleteRegKey /ifempty SHCTX "Software\${productname_short}"
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
334
870
e93ae5233217 Readd autostart
Andre Heinecke <andre.heinecke@intevation.de>
parents: 862
diff changeset
335 ; Unregister autostart
e93ae5233217 Readd autostart
Andre Heinecke <andre.heinecke@intevation.de>
parents: 862
diff changeset
336 DeleteRegValue SHCTX "Software\Microsoft\Windows\CurrentVersion\Run" "TrustBridge"
e93ae5233217 Readd autostart
Andre Heinecke <andre.heinecke@intevation.de>
parents: 862
diff changeset
337
794
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
338 ; Unregister logging
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
339 DeleteRegKey SHCTX "System\CurrentControlSet\services\eventlog\Application\${productname_short}"
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
340
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
341 ; Remove uninstaller
fdc15f0cfdd8 (issue61) NSIS Write uninstall information and make URL configurable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 793
diff changeset
342 DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${productname_short}"
915
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
343
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
344 ; Below this is HKCU only!
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
345 SetShellVarContext current
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
346
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
347 Delete "$SMPROGRAMS\$StartMenuFolder\${productname}.lnk"
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
348 RMDir "$SMPROGRAMS\$StartMenuFolder"
715d41aac9c8 (Issue85) Really move start menu entry to user context
Andre Heinecke <andre.heinecke@intevation.de>
parents: 901
diff changeset
349
340
9001eaa55549 Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
350 SectionEnd
831
747a48996c1f (Issue13) Precompile uninstaller
Andre Heinecke <andre.heinecke@intevation.de>
parents: 828
diff changeset
351 !endif

http://wald.intevation.org/projects/trustbridge/