Mercurial > trustbridge
annotate packaging/renameme.nsi @ 361:b67dd46cd4a9
Added dialog to create a new, signed installer binary.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Sat, 12 Apr 2014 17:19:38 +0200 |
parents | 9001eaa55549 |
children | 73bfc9cc22e7 |
rev | line source |
---|---|
340
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
1 ; renameme.nsi |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
2 ; TODO Rename it! |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
3 ; |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
4 ; 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
|
5 ; 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
|
6 ; |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
7 ; 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
|
8 ; Software |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 ; 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
|
10 ; version_number: The version of the software |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
11 ; 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
|
12 ; 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
|
13 ; files_dir: the path to the files |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
14 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 ;-------------------------------- |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
16 ; Includes |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
17 !define MULTIUSER_EXECUTIONLEVEL Highest |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
18 !define MULTIUSER_MUI |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
19 !define MULTIUSER_INSTALLMODE_COMMANDLINE |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
20 !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
|
21 !define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME "" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
22 !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
|
23 !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME "" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
24 !define MULTIUSER_INSTALLMODE_INSTDIR "${productname_short}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
25 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
26 !include "MultiUser.nsh" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
27 !include "MUI2.nsh" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
28 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
29 ;-------------------------------- |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
30 ;Version Information (for installer file properties) |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 VIProductVersion "${version_number}" ;needs integer format: x.x.x.x |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
33 VIAddVersionKey "ProductName" "${productname_short}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 VIAddVersionKey "Comments" "${productname_short} ist Freie Software" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 VIAddVersionKey "CompanyName" "${company}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 VIAddVersionKey "LegalTrademarks" "" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
37 VIAddVersionKey "LegalCopyright" "${copyright}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
38 VIAddVersionKey "FileDescription" "${description}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
39 VIAddVersionKey "FileVersion" "${version_number}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
40 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
41 Var StartMenuFolder |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
42 ;-------------------------------- |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
43 ; General |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
44 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
45 ; Define Name, File and Installdir of Installer |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
46 Name "${productname}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
47 OutFile "${setupname}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
48 InstallDir "$PROGRAMFILES\${productname_short}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
49 InstType "Standard" |
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 ;-------------------------------- |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 ;Interface Settings |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
53 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
54 BrandingText "${company} - ${productname}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
55 ; MUI Settings / Header |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
56 !define MUI_WELCOMEPAGE_TITLE "Willkommen bei der Installation von ${productname_short}." |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
57 !define MUI_WELCOMEPAGE_TEXT "Sie sind im Begriff ${productname} \r\n\ |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
58 zu installieren. ${productname} ist eine Anwendung um Zertifikate TODO \r\n\ |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
59 auf ihrem System zu installieren und aktualisieren." |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
60 ;!define MUI_HEADERIMAGE_BITMAP "" ;TODO |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
61 ;!define MUI_WELCOMEFINISHPAGE_BITMAP "ressources\welcome_left.bmp" ;TODO |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
62 !define MUI_ICON "renameme_installer.ico" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
63 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
64 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
65 !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
|
66 !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
|
67 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
68 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
69 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
70 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
71 !define MUI_FINISHPAGE_RUN $INSTDIR\m13ui.exe |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
72 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
73 !insertmacro MUI_PAGE_WELCOME |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
74 !insertmacro MUI_PAGE_DIRECTORY |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
75 !insertmacro MUI_PAGE_INSTFILES |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
76 !insertmacro MUI_PAGE_FINISH |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
77 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
78 ;-------------------------------- |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
79 ;Install Functions |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
80 Function ".onInit" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
81 !insertmacro MULTIUSER_INIT |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
82 FunctionEnd |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
83 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
84 ;-------------------------------- |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
85 ;UnInstall Functions |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
86 Function "un.onInit" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
87 !insertmacro MULTIUSER_UNINIT |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
88 FunctionEnd |
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 Section "" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
91 ; The actual installation |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
92 SetOutPath "$INSTDIR" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
93 !include "filelist.nsh" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
94 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
95 WriteRegStr SHCTX "Software\${productname_short}" "" $INSTDIR |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
96 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
97 ;Create uninstaller |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
98 WriteUninstaller "$INSTDIR\Uninstall.exe" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
99 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
100 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
101 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
102 ;Create shortcuts |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
103 CreateDirectory "$SMPROGRAMS\$StartMenuFolder" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
104 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${productname}.lnk" "$INSTDIR\m13ui.exe" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
105 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
106 !insertmacro MUI_STARTMENU_WRITE_END |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
107 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
108 SectionEnd |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
109 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
110 Section "Uninstall" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
111 RMDir /r "$INSTDIR" ; TODO include uninstall files |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
112 ; !include "filelist-un.nsh" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
113 ; Delete "$INSTDIR\Uninstall.exe" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
114 ; RMDir "$INSTDIR" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
115 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
116 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
117 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
118 Delete "$SMPROGRAMS\$StartMenuFolder\${productname}.lnk" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
119 RMDir "$SMPROGRAMS\$StartMenuFolder" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
120 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
121 DeleteRegKey /ifempty SHCTX "Software\${productname_short}" |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
122 |
9001eaa55549
Add first draft of packaging to build upon
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
123 SectionEnd |