annotate packaging/trustbridge.nsi @ 1310:60e481aa75ca

(issue152) Do not return CryptUIDlgViewContext's return value The return value is false if the user cancels the dialog. But as the certificate has been shown this is not really an error.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 13 Oct 2014 14:13:05 +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/