|
1 |
| - |
2 |
| -###################################################### |
3 |
| -# NSIS windows installer script file |
4 |
| -# |
5 |
| -# Requirements: NSIS 3.0 must be installed with the MUI plugin |
6 |
| -# Usage notes: |
7 |
| -# This script expects to be executed from the directory it is |
8 |
| -# currently stored in. It expects a 32 bit and 64 bit windows openssl |
9 |
| -# build to be present in the ..\${BUILD32} and ..\${BUILD64} directories |
10 |
| -# respectively |
11 |
| -# #################################################### |
12 |
| - |
13 |
| -!include "MUI.nsh" |
14 |
| -!include "winmessages.nsh" |
15 |
| - |
16 |
| -!define PRODUCT_NAME "OpenSSL" |
17 |
| - |
18 |
| -# The name of the output file we create when building this |
19 |
| -# NOTE version is passed with the /D option on the command line |
20 |
| -OutFile "openssl-${VERSION}-installer.exe" |
21 |
| - |
22 |
| -# The name that will appear in the installer title bar |
23 |
| -NAME "${PRODUCT_NAME} ${VERSION}" |
24 |
| - |
25 |
| -ShowInstDetails show |
26 |
| - |
27 |
| -Var DataDir |
28 |
| -Var ModDir |
29 |
| - |
30 |
| -Function .onInit |
31 |
| - StrCpy $INSTDIR "C:\Program Files\openssl-${VERSION}" |
32 |
| -FunctionEnd |
33 |
| - |
34 |
| -# This section is run if installation of 32 bit binaries are selected |
35 |
| - |
36 |
| -!ifdef BUILD64 |
37 |
| -# This section is run if installation of the 64 bit binaries are selectd |
38 |
| -SectionGroup "64 Bit Installation" |
39 |
| - Section "64 Bit Binaries" |
40 |
| - SetOutPath $INSTDIR\x64\lib |
41 |
| - File /r "${BUILD64}\Program Files\OpenSSL\lib\" |
42 |
| - SetOutPath $INSTDIR\x64\bin |
43 |
| - File /r "${BUILD64}\Program Files\OpenSSL\bin\" |
44 |
| - SetOutPath "$INSTDIR\x64\Common Files" |
45 |
| - File /r "${BUILD64}\Program Files\Common Files\" |
46 |
| - SectionEnd |
47 |
| - Section "x64 Development Headers" |
48 |
| - SetOutPath $INSTDIR\x64\include |
49 |
| - File /r "${BUILD64}\Program Files\OpenSSL\include\" |
50 |
| - SectionEnd |
51 |
| -SectionGroupEnd |
52 |
| -!endif |
53 |
| - |
54 |
| -!ifdef BUILD32 |
55 |
| -# This section is run if installation of the 64 bit binaries are selectd |
56 |
| -SectionGroup "32 Bit Installation" |
57 |
| - Section "32 Bit Binaries" |
58 |
| - SetOutPath $INSTDIR\x32\lib |
59 |
| - File /r "${BUILD32}\Program Files (x86)\OpenSSL\lib\" |
60 |
| - SetOutPath $INSTDIR\x32\bin |
61 |
| - File /r "${BUILD32}\Program Files(x86)\OpenSSL\bin\" |
62 |
| - SetOutPath "$INSTDIR\x64\Common Files" |
63 |
| - File /r "${BUILD32}\Program Files (x86)\Common Files\" |
64 |
| - SectionEnd |
65 |
| - Section "x32 Development Headers" |
66 |
| - SetOutPath $INSTDIR\x32\include |
67 |
| - File /r "${BUILD32}\Program Files (x86)\OpenSSL\include\" |
68 |
| - SectionEnd |
69 |
| -SectionGroupEnd |
70 |
| -!endif |
71 |
| - |
72 |
| -!ifdef BUILD64 |
73 |
| -Section "Documentation" |
74 |
| - SetOutPath $INSTDIR\html |
75 |
| - File /r "${BUILD64}\Program Files\OpenSSL\html\" |
76 |
| -SectionEnd |
77 |
| -!endif |
78 |
| - |
79 |
| -# Always install the uninstaller and set a registry key |
80 |
| -Section |
81 |
| - WriteUninstaller $INSTDIR\uninstall.exe |
82 |
| -SectionEnd |
83 |
| - |
84 |
| -!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' |
85 |
| -!define openssl_hklm 'HKLM "SOFTWARE\OpenSSL-${VERSION}-${CTX}"' |
86 |
| - |
87 |
| -# This is run on uninstall |
88 |
| -Section "Uninstall" |
89 |
| - RMDIR /r $INSTDIR |
90 |
| - DeleteRegValue ${openssl_hklm} OPENSSLDIR |
91 |
| - DeleteRegValue ${openssl_hklm} MODULESLDIR |
92 |
| - DeleteRegValue ${openssl_hklm} ENGINESDIR |
93 |
| - SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 |
94 |
| -SectionEnd |
95 |
| - |
96 |
| -!insertmacro MUI_PAGE_WELCOME |
97 |
| - |
98 |
| -!insertmacro MUI_PAGE_LICENSE ${LICENSE_FILE} |
99 |
| - |
100 |
| -Function CheckRunUninstaller |
101 |
| -!ifdef BUILD64 |
102 |
| - StrCpy $DataDir "$INSTDIR\x64\Common Files\SSL" |
103 |
| - StrCpy $ModDir "$INSTDIR\x64\lib\ossl-modules" |
104 |
| -!else |
105 |
| - StrCpy $DataDir "$INSTDIR\x32\Common Files\SSL" |
106 |
| - StrCpy $ModDir "$INSTDIR\x32\lib\ossl-modules" |
107 |
| -!endif |
108 |
| - ifFileExists $INSTDIR\uninstall.exe 0 +2 |
109 |
| - ExecWait "$INSTDIR\uninstall.exe /S _?=$INSTDIR" |
110 |
| - |
111 |
| - WriteRegExpandStr ${openssl_hklm} OPENSSLDIR "$DataDir" |
112 |
| - WriteRegExpandStr ${openssl_hklm} ENGINESDIR "$ModDir" |
113 |
| - WriteRegExpandStr ${openssl_hklm} MODULESDIR "$ModDir" |
114 |
| - SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 |
115 |
| -FunctionEnd |
116 |
| -!insertmacro MUI_PAGE_COMPONENTS |
117 |
| - |
118 |
| -!define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckRunUninstaller |
119 |
| -!define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Installation Directory" |
120 |
| -!insertmacro MUI_PAGE_DIRECTORY |
121 |
| - |
122 |
| -!define MUI_DIRECTORYPAGE_VARIABLE $DataDir |
123 |
| -!define MUI_DIRECTORYPAGE_TEXT_TOP "Select Configuration/Data Directory" |
124 |
| -!define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Configuration/Data Directory" |
125 |
| -!insertmacro MUI_PAGE_DIRECTORY |
126 |
| - |
127 |
| -!insertmacro MUI_PAGE_INSTFILES |
128 |
| - |
129 |
| -!insertmacro MUI_UNPAGE_WELCOME |
130 |
| -!insertmacro MUI_UNPAGE_CONFIRM |
131 |
| -!insertmacro MUI_UNPAGE_INSTFILES |
132 |
| -!insertmacro MUI_UNPAGE_FINISH |
133 |
| - |
134 |
| -!insertmacro MUI_LANGUAGE "English" |
135 |
| - |
136 |
| -!ifdef SIGN |
137 |
| -!define OutFileSignSHA1 "SignTool.exe sign /f ${SIGN} /p ${SIGNPASS} /fd sha1 /t http://timestamp.comodoca.com /v" |
138 |
| -!define OutFileSignSHA256 "SignTool.exe sign /f ${SIGN} /p ${SIGNPASS} /fd sha256 /tr http://timestamp.comodoca.com?td=sha256 /td sha256 /v" |
139 |
| - |
140 |
| -!finalize "${OutFileSignSHA1} .\openssl-${VERSION}-installer.exe" |
141 |
| -!finalize "${OutFileSignSHA256} .\openssl-${VERSION}-installer.exe" |
142 |
| -!endif |
| 1 | + |
| 2 | +###################################################### |
| 3 | +# NSIS windows installer script file |
| 4 | +# |
| 5 | +# Requirements: NSIS 3.0 must be installed with the MUI plugin |
| 6 | +# Usage notes: |
| 7 | +# This script expects to be executed from the directory it is |
| 8 | +# currently stored in. It expects a 32 bit and 64 bit windows openssl |
| 9 | +# build to be present in the ..\${BUILD32} and ..\${BUILD64} directories |
| 10 | +# respectively |
| 11 | +# #################################################### |
| 12 | + |
| 13 | +!include "MUI.nsh" |
| 14 | +!include "winmessages.nsh" |
| 15 | + |
| 16 | +!define PRODUCT_NAME "OpenSSL" |
| 17 | +!define VERSION "${MAJOR}.${MINOR}.${PATCH}" |
| 18 | + |
| 19 | +# The name of the output file we create when building this |
| 20 | +# NOTE major/minor/patch values are passed with the /D option |
| 21 | +# on the command line |
| 22 | +OutFile "openssl-${VERSION}-installer.exe" |
| 23 | + |
| 24 | +# The name that will appear in the installer title bar |
| 25 | +NAME "${PRODUCT_NAME} ${VERSION}" |
| 26 | + |
| 27 | +ShowInstDetails show |
| 28 | + |
| 29 | + |
| 30 | +Var DataDir |
| 31 | +Var ModDir |
| 32 | + |
| 33 | +Function .onInit |
| 34 | + StrCpy $INSTDIR "C:\Program Files\openssl-${MAJOR}.${MINOR}" |
| 35 | +FunctionEnd |
| 36 | + |
| 37 | +!ifdef BUILD64 |
| 38 | +# This section is run if installation of the 64 bit binaries are selectd |
| 39 | +SectionGroup "64 Bit Installation" |
| 40 | + Section "64 Bit Binaries" |
| 41 | + SetOutPath $INSTDIR\x86_64\lib |
| 42 | + File /r "${BUILD64}\Program Files\OpenSSL\lib\" |
| 43 | + SetOutPath $INSTDIR\x86_64\bin |
| 44 | + File /r "${BUILD64}\Program Files\OpenSSL\bin\" |
| 45 | + SetOutPath "$INSTDIR\x86_64\Common Files" |
| 46 | + File /r "${BUILD64}\Program Files\Common Files\" |
| 47 | + SectionEnd |
| 48 | + Section "x86_64 Development Headers" |
| 49 | + SetOutPath $INSTDIR\x86_64\include |
| 50 | + File /r "${BUILD64}\Program Files\OpenSSL\include\" |
| 51 | + SectionEnd |
| 52 | +SectionGroupEnd |
| 53 | +!endif |
| 54 | + |
| 55 | +!ifdef BUILD32 |
| 56 | +# This section is run if installation of the 32 bit binaries are selectd |
| 57 | +SectionGroup "32 Bit Installation" |
| 58 | + Section "32 Bit Binaries" |
| 59 | + SetOutPath $INSTDIR\x86\lib |
| 60 | + File /r "${BUILD32}\Program Files (x86)\OpenSSL\lib\" |
| 61 | + SetOutPath $INSTDIR\x86\bin |
| 62 | + File /r "${BUILD32}\Program Files (x86)\OpenSSL\bin\" |
| 63 | + SetOutPath "$INSTDIR\x86\Common Files" |
| 64 | + File /r "${BUILD32}\Program Files (x86)\Common Files\" |
| 65 | + SectionEnd |
| 66 | + Section "x86 Development Headers" |
| 67 | + SetOutPath $INSTDIR\x86\include |
| 68 | + File /r "${BUILD32}\Program Files (x86)\OpenSSL\include\" |
| 69 | + SectionEnd |
| 70 | +SectionGroupEnd |
| 71 | +!endif |
| 72 | + |
| 73 | +!ifdef BUILD64 |
| 74 | +Section "Documentation" |
| 75 | + SetOutPath $INSTDIR\html |
| 76 | + File /r "${BUILD64}\Program Files\OpenSSL\html\" |
| 77 | +SectionEnd |
| 78 | +!endif |
| 79 | + |
| 80 | +# Always install the uninstaller and set a registry key |
| 81 | +Section |
| 82 | + WriteUninstaller $INSTDIR\uninstall.exe |
| 83 | +SectionEnd |
| 84 | + |
| 85 | +!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' |
| 86 | +!define openssl_hklm 'HKLM "SOFTWARE\OpenSSL-${MAJOR}.${MINOR}-${CTX}"' |
| 87 | + |
| 88 | +# This is run on uninstall |
| 89 | +Section "Uninstall" |
| 90 | + RMDIR /r $INSTDIR |
| 91 | + DeleteRegValue ${openssl_hklm} OPENSSLDIR |
| 92 | + DeleteRegValue ${openssl_hklm} MODULESDIR |
| 93 | + DeleteRegValue ${openssl_hklm} ENGINESDIR |
| 94 | + SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 |
| 95 | +SectionEnd |
| 96 | + |
| 97 | +!insertmacro MUI_PAGE_WELCOME |
| 98 | + |
| 99 | +!insertmacro MUI_PAGE_LICENSE ${LICENSE_FILE} |
| 100 | + |
| 101 | +Function CheckRunUninstaller |
| 102 | + ifFileExists $INSTDIR\uninstall.exe 0 +2 |
| 103 | + ExecWait "$INSTDIR\uninstall.exe /S _?=$INSTDIR" |
| 104 | +FunctionEnd |
| 105 | + |
| 106 | +Function WriteRegistryKeys |
| 107 | +!ifdef BUILD64 |
| 108 | + StrCpy $DataDir "$INSTDIR\x86_64\Common Files\SSL" |
| 109 | + StrCpy $ModDir "$INSTDIR\x86_64\lib\ossl-modules" |
| 110 | +!else |
| 111 | + StrCpy $DataDir "$INSTDIR\x86\Common Files\SSL" |
| 112 | + StrCpy $ModDir "$INSTDIR\x86\lib\ossl-modules" |
| 113 | +!endif |
| 114 | + WriteRegExpandStr ${openssl_hklm} OPENSSLDIR "$DataDir" |
| 115 | + WriteRegExpandStr ${openssl_hklm} ENGINESDIR "$ModDir" |
| 116 | + WriteRegExpandStr ${openssl_hklm} MODULESDIR "$ModDir" |
| 117 | + SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 |
| 118 | +FunctionEnd |
| 119 | + |
| 120 | +Function DoDirectoryWork |
| 121 | + Call CheckRunUninstaller |
| 122 | + call WriteRegistryKeys |
| 123 | +FunctionEnd |
| 124 | + |
| 125 | +!insertmacro MUI_PAGE_COMPONENTS |
| 126 | + |
| 127 | +!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DoDirectoryWork |
| 128 | +!define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Installation Directory" |
| 129 | +!insertmacro MUI_PAGE_DIRECTORY |
| 130 | + |
| 131 | +!define MUI_DIRECTORYPAGE_VARIABLE $DataDir |
| 132 | +!define MUI_DIRECTORYPAGE_TEXT_TOP "Select Configuration/Data Directory" |
| 133 | +!define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Configuration/Data Directory" |
| 134 | +!insertmacro MUI_PAGE_DIRECTORY |
| 135 | + |
| 136 | +!insertmacro MUI_PAGE_INSTFILES |
| 137 | + |
| 138 | +!insertmacro MUI_UNPAGE_WELCOME |
| 139 | +!insertmacro MUI_UNPAGE_CONFIRM |
| 140 | +!insertmacro MUI_UNPAGE_INSTFILES |
| 141 | +!insertmacro MUI_UNPAGE_FINISH |
| 142 | + |
| 143 | +!insertmacro MUI_LANGUAGE "English" |
| 144 | + |
| 145 | +!ifdef SIGN |
| 146 | +!define OutFileSignSHA1 "SignTool.exe sign /f ${SIGN} /p ${SIGNPASS} /fd sha1 /t http://timestamp.comodoca.com /v" |
| 147 | +!define OutFileSignSHA256 "SignTool.exe sign /f ${SIGN} /p ${SIGNPASS} /fd sha256 /tr http://timestamp.comodoca.com?td=sha256 /td sha256 /v" |
| 148 | + |
| 149 | +!finalize "${OutFileSignSHA1} .\openssl-${VERSION}-installer.exe" |
| 150 | +!finalize "${OutFileSignSHA256} .\openssl-${VERSION}-installer.exe" |
| 151 | +!endif |
0 commit comments