1 ;OpenAFS Install Script for NSIS
2 ; This version compiles with NSIS v2.0
4 ; Originally written by Rob Murawski <rsm4@ieee.org>
6 ;Redistribution and use in source and binary forms, with or without modification, are permitted
7 ;provided that the following conditions are met:
9 ; Redistributions of source code must retain the above copyright notice, this list of conditions
10 ; and the following disclaimer. Redistributions in binary form must reproduce the above copyright
11 ; notice, this list of conditions and the following disclaimer in the documentation and/or other
12 ; materials provided with the distribution. The name of the author may not be used to endorse or
13 ; promote products derived from this software without specific prior written permission.
15 ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17 ; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
18 ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21 ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
22 ; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 ; Some code originally based on:
26 ; NSIS Modern User Interface version 1.63
27 ; MultiLanguage Example Script
28 ; Written by Joost Verburg
30 ; Read in the environment information
31 !include ${INCLUDEDIR}\nsi-includes.nsi
35 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
37 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
38 !endif ; End DEBUG/!DEBUG
41 Name "OpenAFS ${AFS_VERSION}"
43 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
44 !endif ; End DEBUG/!DEBUG
46 VIProductVersion "${AFS_VERSION}.00"
47 VIAddVersionKey "ProductName" "OpenAFS"
48 VIAddVersionKey "CompanyName" "OpenAFS.org"
49 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
50 VIAddVersionKey "FileVersion" ${AFS_VERSION}
51 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
52 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
54 VIAddVersionKey "PrivateBuild" "Checked/Debug"
61 ;--------------------------------
64 !define REPLACEDLL_NOREGISTER
68 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
70 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
74 !define MUI_ICON "..\..\client_config\afs_config.ico"
75 !define MUI_UNICON "..\..\client_config\afs_config.ico"
76 !define AFS_COMPANY_NAME "OpenAFS"
77 !define AFS_PRODUCT_NAME "OpenAFS"
78 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
81 ;Folder selection page
82 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
84 ;Remember install folder
85 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
87 ;Remember the installer language
88 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
89 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
90 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
93 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
94 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
95 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
96 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
97 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
98 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
99 !define SYSTEMDIR "$%SystemRoot%\System32"
101 ;--------------------------------
102 ;Modern UI Configuration
104 ;!define MUI_LICENSEPAGE
105 !define MUI_CUSTOMPAGECOMMANDS
106 !define MUI_WELCOMEPAGE
107 !define MUI_COMPONENTSPAGE
108 !define MUI_COMPONENTSPAGE_SMALLDESC
109 !define MUI_DIRECTORYPAGE
111 !define MUI_ABORTWARNING
112 !define MUI_FINISHPAGE
114 !define MUI_UNINSTALLER
115 !define MUI_UNCONFIRMPAGE
118 !insertmacro MUI_PAGE_WELCOME
119 !insertmacro MUI_PAGE_COMPONENTS
120 !insertmacro MUI_PAGE_DIRECTORY
121 Page custom AFSPageGetCellServDB
122 Page custom AFSPageGetCellName
123 Page custom AFSPageConfigAFSCreds
124 !insertmacro MUI_PAGE_INSTFILES
125 !insertmacro MUI_PAGE_FINISH
127 ;LicenseData "Licenses.rtf"
128 ;--------------------------------
131 !insertmacro MUI_LANGUAGE "English"
132 ;!insertmacro MUI_LANGUAGE "French"
133 !insertmacro MUI_LANGUAGE "German"
134 !insertmacro MUI_LANGUAGE "Spanish"
135 !insertmacro MUI_LANGUAGE "SimpChinese"
136 !insertmacro MUI_LANGUAGE "TradChinese"
137 !insertmacro MUI_LANGUAGE "Japanese"
138 !insertmacro MUI_LANGUAGE "Korean"
139 ;!insertmacro MUI_LANGUAGE "Italian"
140 ;!insertmacro MUI_LANGUAGE "Dutch"
141 ;!insertmacro MUI_LANGUAGE "Danish"
142 ;!insertmacro MUI_LANGUAGE "Greek"
143 ;!insertmacro MUI_LANGUAGE "Russian"
144 !insertmacro MUI_LANGUAGE "PortugueseBR"
145 ;!insertmacro MUI_LANGUAGE "Polish"
146 ;!insertmacro MUI_LANGUAGE "Ukrainian"
147 ;!insertmacro MUI_LANGUAGE "Czech"
148 ;!insertmacro MUI_LANGUAGE "Slovak"
149 ;!insertmacro MUI_LANGUAGE "Croatian"
150 ;!insertmacro MUI_LANGUAGE "Bulgarian"
151 ;!insertmacro MUI_LANGUAGE "Hungarian"
152 ;!insertmacro MUI_LANGUAGE "Thai"
153 ;!insertmacro MUI_LANGUAGE "Romanian"
154 ;!insertmacro MUI_LANGUAGE "Macedonian"
155 ;!insertmacro MUI_LANGUAGE "Turkish"
157 ;--------------------------------
161 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
162 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
163 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
164 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
165 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
166 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
167 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
168 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
169 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
170 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
171 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
172 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
173 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
174 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
175 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
176 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
177 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
178 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
179 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
180 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
181 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
182 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
183 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
184 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
185 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
187 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
188 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
189 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
190 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
191 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
192 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
193 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
194 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
196 LangString DESC_secLoopback ${LANG_ENGLISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
197 LangString DESC_secLoopback ${LANG_GERMAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
198 LangString DESC_secLoopback ${LANG_SPANISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
199 LangString DESC_secLoopback ${LANG_SIMPCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
200 LangString DESC_secLoopback ${LANG_TRADCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
201 LangString DESC_secLoopback ${LANG_JAPANESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
202 LangString DESC_secLoopback ${LANG_KOREAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
203 LangString DESC_secLoopback ${LANG_PORTUGUESEBR} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
205 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
206 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
207 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
208 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
209 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
210 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
211 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
212 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
214 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
215 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
216 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
217 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
218 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
219 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
220 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
221 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
223 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
224 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
225 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
226 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
227 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
228 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
229 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
230 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
232 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
233 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
234 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
235 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
236 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
237 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
238 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
239 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
241 LangString DESC_secDEBUG ${LANG_ENGLISH} "Debug symbols: Used for debugging problems with OpenAFS."
242 LangString DESC_secDEBUG ${LANG_GERMAN} "Debug symbols: Used for debugging problems with OpenAFS."
243 LangString DESC_secDEBUG ${LANG_SPANISH} "Debug symbols: Used for debugging problems with OpenAFS."
244 LangString DESC_secDEBUG ${LANG_SIMPCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
245 LangString DESC_secDEBUG ${LANG_TRADCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
246 LangString DESC_secDEBUG ${LANG_JAPANESE} "Debug symbols: Used for debugging problems with OpenAFS."
247 LangString DESC_secDEBUG ${LANG_KOREAN} "Debug symbols: Used for debugging problems with OpenAFS."
248 LangString DESC_secDEBUG ${LANG_PORTUGUESEBR} "Debug symbols: Used for debugging problems with OpenAFS."
250 ; Popup error messages
251 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
252 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
253 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
254 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
255 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
256 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
257 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
258 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
260 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
261 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
262 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
263 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
264 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
265 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
266 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
267 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
269 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
270 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
271 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
272 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
273 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
274 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
275 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
276 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
279 ; Upgrade/re-install strings
280 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
281 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
282 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
283 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
284 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
285 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
286 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
287 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
289 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
290 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
291 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
292 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
293 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
294 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
295 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
296 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
298 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
299 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
300 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
301 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
302 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
303 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
304 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
305 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
307 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
308 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
309 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
310 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
311 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
312 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
313 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
314 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
316 ReserveFile "CellServPage.ini"
317 ReserveFile "AFSCell.ini"
318 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
319 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
320 ;--------------------------------
322 ; Macro - Upgrade DLL File
323 ; Written by Joost Verburg
324 ; ------------------------
327 ; LOCALFILE - Location of the new DLL file (on the compiler system)
328 ; DESTFILE - Location of the DLL file that should be upgraded
329 ; (on the user's system)
330 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
331 ; when the system has to be rebooted.
332 ; For Win9x support, this should be on the same volume as the
334 ; The Windows temp directory could be located on any volume,
335 ; so you cannot use this directory.
337 ; Define REPLACEDLL_NOREGISTER if you want to upgrade a DLL that does not
338 ; have to be registered.
340 ; Note: If you want to support Win9x, you can only use
341 ; short filenames (8.3).
344 ; !insertmacro ReplaceDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
347 !macro ReplaceDLL LOCALFILE DESTFILE TEMPBASEDIR
356 ;------------------------
357 ;Unique number for labels
359 !define REPLACEDLL_UNIQUE ${__LINE__}
361 ;------------------------
362 ;Copy the parameters used on run-time to a variable
363 ;This allows the usage of variables as paramter
365 StrCpy $R4 "${DESTFILE}"
366 StrCpy $R5 "${TEMPBASEDIR}"
368 ;------------------------
369 ;Check file and version
371 IfFileExists $R4 0 replacedll.copy_${REPLACEDLL_UNIQUE}
374 ; GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
375 ; GetDLLVersion $R4 $R2 $R3
376 ;IfErrors replacedll.upgrade_${REPLACEDLL_UNIQUE}
378 ;IntCmpU $R0 $R2 0 replacedll.done_${REPLACEDLL_UNIQUE} \
379 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
380 ;IntCmpU $R1 $R3 replacedll.done_${REPLACEDLL_UNIQUE} \
381 ; replacedll.done_${REPLACEDLL_UNIQUE} \
382 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
384 ;------------------------
385 ;Let's replace the DLL!
389 ;replacedll.upgrade_${REPLACEDLL_UNIQUE}:
390 !ifndef REPLACEDLL_NOREGISTER
395 ;------------------------
396 ;Try to copy the DLL directly
400 Call :replacedll.file_${REPLACEDLL_UNIQUE}
401 IfErrors 0 replacedll.noreboot_${REPLACEDLL_UNIQUE}
403 ;------------------------
404 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
406 GetTempFileName $R0 $R5
407 Call :replacedll.file_${REPLACEDLL_UNIQUE}
408 Rename /REBOOTOK $R0 $R4
410 ;------------------------
411 ;Register the DLL on reboot
413 !ifndef REPLACEDLL_NOREGISTER
414 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
415 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
418 Goto replacedll.done_${REPLACEDLL_UNIQUE}
420 ;------------------------
421 ;DLL does not exist - just extract
423 replacedll.copy_${REPLACEDLL_UNIQUE}:
425 Call :replacedll.file_${REPLACEDLL_UNIQUE}
427 ;------------------------
430 replacedll.noreboot_${REPLACEDLL_UNIQUE}:
431 !ifndef REPLACEDLL_NOREGISTER
435 ;------------------------
438 replacedll.done_${REPLACEDLL_UNIQUE}:
447 ;------------------------
450 Goto replacedll.end_${REPLACEDLL_UNIQUE}
452 ;------------------------
453 ;Called to extract the DLL
455 replacedll.file_${REPLACEDLL_UNIQUE}:
456 File /oname=$R0 "${LOCALFILE}"
459 replacedll.end_${REPLACEDLL_UNIQUE}:
461 ;------------------------
464 SetOverwrite lastused
466 !undef REPLACEDLL_UNIQUE
471 ;--------------------------------
474 ;Things that need to be extracted on first (keep these lines before any File command!)
475 ;Only useful for BZIP2 compression
476 !insertmacro MUI_RESERVEFILE_LANGDLL
478 ;--------------------------------
488 ;--------------------------------
491 ;----------------------
493 Section "AFS Client" secClient
495 SetShellVarContext all
497 ; Check for bad previous installation (if we are doing a new install)
498 Call IsAnyAFSInstalled
500 StrCmp $R0 "0" +1 skipCheck
504 ; Stop any running services or we can't replace the files
505 ; Stop the running processes
507 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
508 nsExec::Exec '$R0 afsd_service.exe'
509 nsExec::Exec '$R0 afscreds.exe'
510 Exec "afscreds.exe -z"
511 ; in case we are upgrading an old version that does not support -z
512 nsExec::Exec '$R0 afscreds.exe'
514 ;nsExec::Exec '$R0 krbcc32s.exe'
517 nsExec::Exec "net stop TransarcAFSDaemon"
518 nsExec::Exec "net stop TransarcAFSServer"
520 ; Do client components
521 SetOutPath "$INSTDIR\Client\Program"
522 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
523 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
524 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
525 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
526 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
527 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
528 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
529 File "${AFS_CLIENT_BUILDDIR}\afsdacl.exe"
530 File "${AFS_CLIENT_BUILDDIR}\cmdebug.exe"
531 File "${AFS_CLIENT_BUILDDIR}\aklog.exe"
532 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
533 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
534 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
535 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
536 File "${AFS_DESTDIR}\bin\kpasswd.exe"
537 File "${AFS_SERVER_BUILDDIR}\pts.exe"
538 File "${AFS_SERVER_BUILDDIR}\bos.exe"
539 File "${AFS_SERVER_BUILDDIR}\kas.exe"
540 File "${AFS_SERVER_BUILDDIR}\vos.exe"
541 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
542 File "${AFS_DESTDIR}\bin\translate_et.exe"
543 File "${AFS_DESTDIR}\etc\rxdebug.exe"
544 File "${AFS_DESTDIR}\etc\backup.exe"
545 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$INSTDIR\Client\Program\afs_cpa.cpl" "$INSTDIR"
548 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$SYSDIR\afslogon.dll" "$INSTDIR"
552 ; Get AFS CellServDB file
553 Call afs.GetCellServDB
556 File /oname=$R0 "${AFS_WININSTALL_DIR}\AdminGroup.exe"
557 nsExec::Exec '$R0 -create'
560 ; Include Kerberos for Windows files in the installer...
561 SetOutPath "$INSTDIR\kfw\bin\"
562 File "${KFW_SOURCE}\bin\*"
563 SetOutPath "$INSTDIR\kfw\doc"
564 File "${KFW_SOURCE}\doc\*"
567 ;Store install folder
568 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
569 Call AFSCommon.Install
571 ; Write registry entries
572 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
573 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
574 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
575 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
576 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
577 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
578 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa" "$INSTDIR\Client\Program\afs_cpa.cpl"
580 ; Support for apps that wrote submount data directly to afsdsbmt.ini
581 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini" "AFS Mappings" "USR:Software\OpenAFS\Client\mappings"
582 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini" "AFS Submounts" "SYS:OpenAFS\Client\Submounts"
585 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
586 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
587 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
588 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
589 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
590 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
591 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
592 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
593 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
594 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
595 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
596 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
597 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
598 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
599 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
600 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
601 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
603 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
604 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
606 ; Delete the DEBUG string
607 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
608 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
611 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
612 Call GetWindowsVersion
614 StrCmp $R1 "2000" +1 +2
615 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
617 ;Write start menu entries
618 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
619 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
621 ; Create command line options for AFSCreds...
623 ReadINIStr $R1 $2 "Field 3" "State"
626 ReadINIStr $R1 $2 "Field 5" "State"
629 ReadINIStr $R1 $2 "Field 7" "State"
632 ReadINIStr $R1 $2 "Field 9" "State"
635 ReadINIStr $R1 $2 "Field 13" "State"
639 WriteRegStr HKLM "SOFTWARE\OpenAFS\Client" "AfscredsShortcutParams" "$R2"
641 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
643 ReadINIStr $R1 $2 "Field 1" "State"
645 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
647 Push "$INSTDIR\Client\Program"
649 Push "$INSTDIR\Common"
653 ; Add kfw to path too
654 Push "$INSTDIR\kfw\bin"
658 ; Create the AFS service
659 SetOutPath "$INSTDIR\Common"
660 File "${AFS_WININSTALL_DIR}\Service.exe"
661 nsExec::Exec "net stop TransarcAFSDaemon"
662 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
663 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
665 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
666 StrCmp $R2 "" +1 skipremove
667 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
668 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
670 Delete "$INSTDIR\Common\service.exe"
673 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
674 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$SYSDIR\afslogon.dll"
675 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$SYSDIR\afslogon.dll"
676 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
677 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
679 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
680 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
681 ; to also include the service name.
683 ReadINIStr $R0 $1 "Field 7" "State"
684 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R0
685 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
686 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
689 ReadINIStr $R0 $1 "Field 2" "State"
690 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
691 ReadINIStr $R0 $1 "Field 3" "State"
692 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
693 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
694 ReadINIStr $R0 $1 "Field 5" "State"
695 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
696 ReadINIStr $R0 $1 "Field 9" "State"
697 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
698 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
699 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
700 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
701 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
702 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
704 ; Find Lana By Name appears to be causing grief for many people
705 ; I do not have time to track this down so I am simply going to disable it
706 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
708 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
709 strcpy $REG_VALUE "DependOnGroup"
710 strcpy $REG_DATA_1 "PNP_TDI"
711 strcpy $REG_DATA_2 ""
712 strcpy $REG_DATA_3 ""
713 Call RegWriteMultiStr
714 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
715 strcpy $REG_VALUE "DependOnService"
716 strcpy $REG_DATA_1 "Tcpip"
717 strcpy $REG_DATA_2 "NETBIOS"
718 strcpy $REG_DATA_3 "RpcSs"
719 Call RegWriteMultiStr
721 ; WinLogon Event Notification
722 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
723 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
724 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
725 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logon" "AFS_Logon_Event"
726 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
727 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
731 WriteUninstaller "$INSTDIR\Uninstall.exe"
732 Call CreateDesktopIni
738 ; MS Loopback adapter
739 Section "MS Loopback Adapter" secLoopback
741 Call afs.InstallMSLoopback
746 ;------------------------
748 Section "AFS Server" secServer
750 SetShellVarContext all
752 ; Check for bad previous installation (if we are doing a new install)
753 Call IsAnyAFSInstalled
755 StrCmp $R0 "0" +1 skipCheck
759 ; Stop any running services or we can't replace the files
760 ; Stop the running processes
762 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
763 nsExec::Exec '$R0 afscreds.exe'
764 Exec "afscreds.exe -z"
765 ; in case we are upgrading an old version that does not support -z
767 nsExec::Exec '$R0 afscreds.exe'
769 ;nsExec::Exec '$R0 krbcc32s.exe'
774 nsExec::Exec "net stop TransarcAFSDaemon"
775 nsExec::Exec "net stop TransarcAFSServer"
777 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
778 CreateDirectory "$INSTDIR\Server\usr\afs\local"
779 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
781 SetOutPath "$INSTDIR\Server\usr\afs\bin"
782 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
783 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
784 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
785 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
786 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
787 File "${AFS_ETC_BUILDDIR}\butc.exe"
788 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
789 File "${AFS_ETC_BUILDDIR}\fms.exe"
790 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
791 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
792 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
793 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
794 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
795 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
796 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
797 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
799 ;AFS Server common files
800 SetOutPath "$INSTDIR\Common"
801 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
802 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
803 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
804 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
805 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
807 SetOutPath "$INSTDIR\Common"
811 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
813 ;Store install folder
814 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
816 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
817 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
818 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
819 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
820 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
821 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
822 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
823 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
824 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
825 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
826 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
827 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
828 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
829 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
830 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
831 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
832 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
834 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
835 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
837 ; Delete the DEBUG string
838 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
839 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
841 ; Install the service
842 SetOutPath "$INSTDIR\Common"
843 File "${AFS_WININSTALL_DIR}\Service.exe"
845 File "${AFS_WININSTALL_DIR}\Service.pdb"
848 ; Check if the service exists--if it does, this is an upgrade/re-install
849 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
850 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
852 ; If an uninstall was done, but we kept the config files, also skip
853 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
855 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
856 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
860 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
861 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
862 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
863 Delete "$INSTDIR\Common\service.exe"
865 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
866 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
869 WriteUninstaller "$INSTDIR\Uninstall.exe"
874 ;----------------------------
875 ; OpenAFS Control Center
876 Section "AFS Control Center" secControl
878 SetShellVarContext all
880 SetOutPath "$INSTDIR\Control Center"
881 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
882 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
883 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
886 ;AFS Server common files
887 Call AFSCommon.Install
889 SetOutPath "$INSTDIR\Common"
891 ;Store install folder
892 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
893 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
894 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
895 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
896 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
897 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
898 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
899 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
900 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
902 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
903 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
905 ; Delete the DEBUG string
906 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
907 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
910 ;Write start menu entries
911 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
912 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
913 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
915 WriteUninstaller "$INSTDIR\Uninstall.exe"
920 ;----------------------------
921 ; OpenAFS Supplemental Documentation
922 Section "Supplemental Documentation" secDocs
923 SetShellVarContext all
925 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
926 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
927 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
928 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
929 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
930 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
931 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
932 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
936 SetOutPath "$INSTDIR\Documentation\html"
937 File "..\..\doc\install\Documentation\en_US\html\*"
938 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
939 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
940 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
941 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
942 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
943 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
944 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
945 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
949 SetOutPath "$INSTDIR\Documentation"
950 File "..\..\doc\install\Documentation\de_DE\README.TXT"
951 SetOutPath "$INSTDIR\Documentation\html"
952 File "..\..\doc\install\Documentation\de_DE\html\*"
953 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
954 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
955 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
956 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
957 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
958 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
959 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
960 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
964 SetOutPath "$INSTDIR\Documentation"
965 File "..\..\doc\install\Documentation\es_ES\README.TXT"
966 SetOutPath "$INSTDIR\Documentation\html"
967 File "..\..\doc\install\Documentation\es_ES\html\*"
968 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
969 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
970 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
971 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
972 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
973 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
974 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
975 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
979 SetOutPath "$INSTDIR\Documentation"
980 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
981 SetOutPath "$INSTDIR\Documentation\html"
982 File "..\..\doc\install\Documentation\ja_JP\html\*"
983 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
984 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
985 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
986 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
987 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
988 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
989 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
990 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
994 SetOutPath "$INSTDIR\Documentation"
995 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
996 SetOutPath "$INSTDIR\Documentation\html"
997 File "..\..\doc\install\Documentation\ko_KR\html\*"
998 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
999 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1000 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1001 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
1002 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1003 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
1004 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1005 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1009 SetOutPath "$INSTDIR\Documentation"
1010 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1011 SetOutPath "$INSTDIR\Documentation\html"
1012 File "..\..\doc\install\Documentation\pt_BR\html\*"
1013 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1014 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1015 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1016 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1017 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1018 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1019 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1020 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1024 SetOutPath "$INSTDIR\Documentation"
1025 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1026 SetOutPath "$INSTDIR\Documentation\html"
1027 File "..\..\doc\install\Documentation\zh_CN\html\*"
1028 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1029 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1030 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1031 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1032 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1033 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1034 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1035 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1039 SetOutPath "$INSTDIR\Documentation"
1040 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1041 SetOutPath "$INSTDIR\Documentation\html"
1042 File "..\..\doc\install\Documentation\zh_TW\html\*"
1043 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1044 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1045 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1046 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1047 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1048 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1049 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1050 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1055 ;Store install folder
1056 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1057 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1058 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1059 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1060 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1061 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1062 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1063 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1064 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1066 ; Write start menu shortcut
1067 SetOutPath "$SMPROGRAMS\OpenAFS"
1068 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1071 WriteUninstaller "$INSTDIR\Uninstall.exe"
1072 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1073 Call AFSCommon.Install
1077 Section "Software Development Kit (SDK)" secSDK
1079 SetOutPath "$INSTDIR\Client\Program\lib"
1080 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1082 SetOutPath "$INSTDIR\Client\Program\Include"
1083 File /r "${AFS_BUILD_INCDIR}\*.*"
1086 SetOutPath "$INSTDIR\Client\Program\Sample"
1087 File "..\..\afsd\sample\token.c"
1089 ;Store install folder
1090 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1091 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1092 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1093 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1094 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1095 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1096 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1097 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1098 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1100 WriteUninstaller "$INSTDIR\Uninstall.exe"
1101 SetOutPath "$SMPROGRAMS\OpenAFS"
1102 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1104 Call AFSCommon.Install
1108 Section "Debug symbols" secDebug
1109 SectionGetFlags ${secClient} $R0
1110 IntOp $R0 $R0 & ${SF_SELECTED}
1111 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1113 ; Do client components
1114 SetOutPath "$INSTDIR\Client\Program"
1115 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1116 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1117 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1118 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1119 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1120 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1121 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1122 File "${AFS_CLIENT_BUILDDIR}\afsdacl.pdb"
1123 File "${AFS_CLIENT_BUILDDIR}\cmdebug.pdb"
1124 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1125 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1126 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1127 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1128 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1129 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1130 File "${AFS_DESTDIR}\bin\pts.pdb"
1131 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1132 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1133 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1134 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1135 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1136 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1137 File "${AFS_DESTDIR}\etc\backup.pdb"
1138 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1140 SetOutPath "$SYSDIR"
1141 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1144 SectionGetFlags ${secServer} $R0
1145 IntOp $R0 $R0 & ${SF_SELECTED}
1146 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1148 ; Do server components
1149 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1150 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1151 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1152 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1153 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1154 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1155 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1156 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1157 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1158 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1159 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1160 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1161 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1162 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1163 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1164 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1165 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1167 ; Do server common components
1168 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1169 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1170 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1171 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1172 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1174 SetOutPath "$SYSDIR"
1175 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1177 ; Do control center components
1179 SectionGetFlags ${secControl} $R0
1180 IntOp $R0 $R0 & ${SF_SELECTED}
1181 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1183 SetOutPath "$INSTDIR\Control Center"
1184 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1185 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1186 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1189 SetOutPath "$INSTDIR\Common"
1191 File "${SYSTEMDIR}\msvcr80d.pdb"
1192 File "${SYSTEMDIR}\msvcp80d.pdb"
1193 File "${SYSTEMDIR}\mfc80d.pdb"
1196 File "${SYSTEMDIR}\msvcr71d.pdb"
1197 File "${SYSTEMDIR}\msvcp71d.pdb"
1198 File "${SYSTEMDIR}\mfc71d.pdb"
1201 File "${SYSTEMDIR}\msvcr70d.pdb"
1202 File "${SYSTEMDIR}\msvcp70d.pdb"
1203 File "${SYSTEMDIR}\mfc70d.pdb"
1205 File "${SYSTEMDIR}\mfc42d.pdb"
1206 File "${SYSTEMDIR}\msvcp60d.pdb"
1207 File "${SYSTEMDIR}\msvcrtd.pdb"
1213 SetOutPath "$INSTDIR\Common"
1214 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1215 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1216 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1217 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1218 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1219 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1220 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1221 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1222 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1223 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1224 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1225 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1226 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1227 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1232 ;Display the Finish header
1233 ;Insert this macro after the sections if you are not using a finish page
1234 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1236 ;--------------------------------
1237 ;Installer Functions
1241 !insertmacro MUI_LANGDLL_DISPLAY
1243 ; Set the default install options
1248 StrCmp $R0 "true" contInstall
1250 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1255 ; Check that RPC functions are installed (I believe any one of these can be present for
1257 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1258 StrCmp $R0 "rpcrt4.dll" contInstall2
1259 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1260 StrCmp $R0 "rpcrt4.dll" contInstall2
1261 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1262 StrCmp $R0 "rpcrt4.dll" contInstall2
1264 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "An error was detected with your Windows RPC installation. Please make sure Windows RPC is installed before installing OpenAFS."
1270 ; If the Loopback is already installed, we mark the option OFF and Read Only
1271 ; so the user can not select it.
1272 Call afs.isLoopbackInstalled
1273 IntCmp $R1 0 SkipLoop
1274 SectionGetFlags ${secLoopback} $0
1275 IntOp $0 $0 & ${SECTION_OFF}
1276 IntOp $0 $0 | ${SF_RO}
1277 SectionSetFlags ${secLoopback} $0
1280 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1282 SectionGetFlags ${secDebug} $0
1283 IntOp $0 $0 & ${SECTION_OFF}
1284 SectionSetFlags ${secDebug} $0
1286 SectionGetFlags ${secDebug} $0
1287 IntOp $0 $0 | ${SF_SELECTED}
1288 SectionSetFlags ${secDebug} $0
1290 ; Our logic should be like this.
1291 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1292 ; 2) If existing modules are installed, we keep them selected
1293 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1295 Call IsAnyAFSInstalled
1297 StrCmp $R0 "0" DefaultOptions
1299 Call ShouldClientInstall
1302 ; Check if it was an IBM/Transarc version
1303 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1304 StrCmp $R0 "IBM AFS Client" DoIBM
1305 StrCmp $R0 "Transarc AFS Client" DoIBM
1308 StrCmp $R2 "0" NoClient
1309 StrCmp $R2 "1" ReinstallClient
1310 StrCmp $R2 "2" UpgradeClient
1311 StrCmp $R2 "3" DowngradeClient
1314 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1315 StrCmp $R0 "3" +1 NotIBM
1320 SectionGetFlags ${secClient} $0
1321 IntOp $0 $0 | ${SF_SELECTED}
1322 SectionSetFlags ${secClient} $0
1323 ;# !insertmacro SelectSection ${secClient}
1326 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1327 SectionGetFlags ${secClient} $0
1328 IntOp $0 $0 & ${SECTION_OFF}
1329 SectionSetFlags ${secClient} $0
1332 SectionGetFlags ${secClient} $0
1333 IntOp $0 $0 | ${SF_SELECTED}
1334 SectionSetFlags ${secClient} $0
1335 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1338 SectionGetFlags ${secClient} $0
1339 IntOp $0 $0 | ${SF_SELECTED}
1340 SectionSetFlags ${secClient} $0
1341 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1344 SectionGetFlags ${secClient} $0
1345 IntOp $0 $0 | ${SF_SELECTED}
1346 SectionSetFlags ${secClient} $0
1347 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1353 Call ShouldServerInstall
1355 StrCmp $R2 "0" NoServer
1356 StrCmp $R2 "1" ReinstallServer
1357 StrCmp $R2 "2" UpgradeServer
1358 StrCmp $R2 "3" DowngradeServer
1360 SectionGetFlags ${secServer} $0
1361 IntOp $0 $0 | ${SF_SELECTED}
1362 SectionSetFlags ${secServer} $0
1363 ;# !insertmacro UnselectSection ${secServer}
1367 SectionGetFlags ${secServer} $0
1368 IntOp $0 $0 | ${SF_SELECTED}
1369 SectionSetFlags ${secServer} $0
1370 SectionSetText ${secServer} $(UPGRADE_SERVER)
1374 SectionGetFlags ${secServer} $0
1375 IntOp $0 $0 | ${SF_SELECTED}
1376 SectionSetFlags ${secServer} $0
1377 SectionSetText ${secServer} $(REINSTALL_SERVER)
1381 SectionGetFlags ${secServer} $0
1382 IntOp $0 $0 | ${SF_SELECTED}
1383 SectionSetFlags ${secServer} $0
1384 SectionSetText ${secServer} $(REINSTALL_SERVER)
1388 SectionGetFlags ${secServer} $0
1389 IntOp $0 $0 & ${SECTION_OFF}
1390 SectionSetFlags ${secServer} $0
1391 ;# !insertmacro UnselectSection ${secServer}
1395 ; Check control center
1396 Call IsControlInstalled
1398 StrCmp $R2 "0" NoControl
1400 SectionGetFlags ${secControl} $0
1401 IntOp $0 $0 | ${SF_SELECTED}
1402 SectionSetFlags ${secControl} $0
1406 SectionGetFlags ${secControl} $0
1407 IntOp $0 $0 & ${SECTION_OFF}
1408 SectionSetFlags ${secControl} $0
1409 ;# !insertmacro UnselectSection ${secControl}
1412 ; Check Documentation
1413 Call IsDocumentationInstalled
1415 StrCmp $R2 "0" NoDocs
1416 SectionGetFlags ${secDocs} $0
1417 IntOp $0 $0 | ${SF_SELECTED}
1418 SectionSetFlags ${secDocs} $0
1422 SectionGetFlags ${secDocs} $0
1423 IntOp $0 $0 & ${SECTION_OFF}
1424 SectionSetFlags ${secDocs} $0
1427 ; To check the SDK, we simply look to see if the files exist. If they do,
1428 ; the SDK is installed. If not, we don't need to push it on the user.
1429 ; If they are there, we want to make sure they match the installed version.
1431 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1432 SectionGetFlags ${secSDK} $0
1433 IntOp $0 $0 | ${SF_SELECTED}
1434 SectionSetFlags ${secSDK} $0
1438 SectionGetFlags ${secSDK} $0
1439 IntOp $0 $0 & ${SECTION_OFF}
1440 SectionSetFlags ${secSDK} $0
1445 SectionGetFlags ${secClient} $0
1446 IntOp $0 $0 | ${SF_SELECTED}
1447 SectionSetFlags ${secClient} $0
1449 ; Server NOT selected
1450 SectionGetFlags ${secServer} $0
1451 IntOp $0 $0 & ${SECTION_OFF}
1452 SectionSetFlags ${secServer} $0
1454 ; Control Center NOT selected
1455 SectionGetFlags ${secControl} $0
1456 IntOp $0 $0 & ${SECTION_OFF}
1457 SectionSetFlags ${secControl} $0
1458 ;# !insertmacro UnselectSection ${secControl}
1460 ; Documentation selected
1461 SectionGetFlags ${secDocs} $0
1462 IntOp $0 $0 | ${SF_SELECTED}
1463 SectionSetFlags ${secDocs} $0
1464 ;# !insertmacro UnselectSection ${secDocs}
1467 SectionGetFlags ${secSDK} $0
1468 IntOp $0 $0 & ${SECTION_OFF}
1469 SectionSetFlags ${secSDK} $0
1470 ;# !insertmacro UnselectSection ${secSDK}
1479 ; See if we can set a default installation path...
1480 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1481 StrCmp $R0 "" TryServer
1485 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1486 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1487 StrCmp $R0 "1" +1 SkipParent
1488 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1489 StrCmp $R0 "3" +1 SkipParent
1490 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1491 StrCmp $R0 "5000" UpParent
1492 StrCmp $R0 "5100" UpParent
1493 StrCmp $R0 "5200" UpParent
1494 StrCmp $R0 "5201" UpParent
1495 StrCmp $R0 "5299" UpParent
1507 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1508 StrCmp $R0 "" TryControl
1516 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1524 File /oname=$0 CellServPage.ini
1526 File /oname=$1 AFSCell.ini
1528 File /oname=$2 AFSCreds.ini
1529 ;File /oname=$1 ConfigURL.ini
1537 ;--------------------------------
1538 ; These are our cleanup functions
1539 Function .onInstFailed
1544 Function .onInstSuccess
1550 ;--------------------------------
1553 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1554 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1555 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1556 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1557 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1558 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1559 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1560 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1561 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1563 ;--------------------------------
1564 ;Uninstaller Section
1567 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1568 IfSilent StartRemove ; New in v2.0b4
1569 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1574 SetShellVarContext all
1575 ; Stop the running processes
1577 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1578 nsExec::Exec '$R0 afscreds.exe'
1579 Exec "afscreds.exe -z"
1580 ; in case we are upgrading an old version that does not support -z
1582 nsExec::Exec '$R0 afscreds.exe'
1584 nsExec::Exec '$R0 krbcc32s.exe'
1587 ; Delete the AFS service
1589 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1590 nsExec::Exec "net stop TransarcAFSDaemon"
1591 nsExec::Exec "net stop TransarcAFSServer"
1592 nsExec::Exec '$R0 u TransarcAFSDaemon'
1593 ; After we stop the service, but before we delete it, we have to remove the volume data
1594 ; This is because the storage locations are in the registry under the service key.
1595 ; Call un.RemoveAFSVolumes
1596 nsExec::Exec '$R0 u TransarcAFSServer'
1599 Call un.RemoveProvider
1601 Push "$INSTDIR\Client\Program"
1602 Call un.RemoveFromPath
1603 Push "$INSTDIR\Common"
1604 Call un.RemoveFromPath
1606 Push "$INSTDIR\kfw\bin"
1607 Call un.RemoveFromPath
1610 ; Delete documentation
1611 Delete "$INSTDIR\Documentation\README.TXT"
1612 Delete "$INSTDIR\Documentation\html\*"
1613 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1614 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1615 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1616 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1618 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1619 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1620 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1621 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1622 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1623 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1624 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1625 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1626 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1627 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1628 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1629 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1630 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1631 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1632 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1634 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1635 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1636 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1637 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1638 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1639 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1640 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1641 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1642 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1643 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1644 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1645 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1646 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1647 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1648 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1651 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.dll"
1652 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.pdb"
1653 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.dll"
1654 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.pdb"
1655 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.dll"
1656 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.pdb"
1659 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1660 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1661 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1662 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1663 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1664 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1667 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1668 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1669 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1670 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1671 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1672 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1674 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1675 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1676 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1677 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1678 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1679 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1685 Delete /REBOOTOK "$INSTDIR\bin\mfc80.dll"
1686 Delete /REBOOTOK "$INSTDIR\bin\msvcr80.dll"
1687 Delete /REBOOTOK "$INSTDIR\bin\msvcp80.dll"
1688 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHS.DLL"
1689 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHT.DLL"
1690 Delete /REBOOTOK "$INSTDIR\bin\MFC80DEU.DLL"
1691 Delete /REBOOTOK "$INSTDIR\bin\MFC80ENU.DLL"
1692 Delete /REBOOTOK "$INSTDIR\bin\MFC80ESP.DLL"
1693 Delete /REBOOTOK "$INSTDIR\bin\MFC80FRA.DLL"
1694 Delete /REBOOTOK "$INSTDIR\bin\MFC80ITA.DLL"
1695 Delete /REBOOTOK "$INSTDIR\bin\MFC80JPN.DLL"
1696 Delete /REBOOTOK "$INSTDIR\bin\MFC80KOR.DLL"
1699 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1700 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1701 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1702 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1703 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1704 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1705 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1706 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1707 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1708 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1709 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1710 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1713 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1714 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1715 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1716 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1717 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1718 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1719 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1720 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1721 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1722 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1723 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1724 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1726 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1727 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1728 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1735 ; IfFileExists "$INSTDIR\Client\CellServDB" CellExists SkipDelAsk
1737 MessageBox MB_YESNO "Would you like to keep your configuration information?" IDYES SkipDel
1738 Delete "$INSTDIR\Client\CellServDB"
1740 ; Only remove krb5.ini if KfW was installed
1742 Delete "$WINDIR\krb5.ini"
1744 Delete "$INSTDIR\Client\afsdns.ini"
1747 File /oname=$R0 "${AFS_WININSTALL_DIR}\AdminGroup.exe"
1748 nsExec::Exec '$R0 -remove'
1751 Delete "$WINDIR\afsd_init.log"
1752 Delete "$INSTDIR\Uninstall.exe"
1755 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1756 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1757 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1758 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1759 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1760 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1761 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1762 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1763 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1764 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1765 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1766 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1767 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1768 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1769 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1770 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1771 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1773 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1774 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1775 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1776 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1777 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1778 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1779 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1780 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1781 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1782 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1783 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1784 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1785 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1786 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1787 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1788 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1789 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1791 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1792 ; do not delete the server configuration files
1793 ; or we will lose the volumes and authentication
1795 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1796 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1797 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1798 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1800 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1801 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1802 Delete /REBOOTOK "$SYSDIR\afslogon.dll"
1804 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1805 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1806 Delete /REBOOTOK "$SYSDIR\afslogon.pdb"
1808 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1809 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1810 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1811 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1812 RMDIr /r "$INSTDIR\Documentation\html"
1814 RMDir "$INSTDIR\Documentation"
1815 ; Delete DOC short cut
1816 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1818 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1820 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1821 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1822 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1823 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1824 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1825 RMDir "$INSTDIR\Client\Program\Sample"
1826 RMDir "$INSTDIR\Client\Program\Include\afs"
1827 RMDir "$INSTDIR\Client\Program\Include\rx"
1828 RMDir "$INSTDIR\Client\Program\Include"
1829 RMDir "$INSTDIR\Client\Program"
1830 RMDir "$INSTDIR\Client"
1834 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.dll"
1835 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.pdb"
1836 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.dll"
1837 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.pdb"
1838 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.dll"
1839 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.pdb"
1842 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1843 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1844 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1845 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1846 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1847 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1850 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1851 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1852 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1853 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1854 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1855 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1857 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1858 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1859 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1860 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1861 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1862 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1868 Delete /REBOOTOK "$INSTDIR\bin\mfc80.dll"
1869 Delete /REBOOTOK "$INSTDIR\bin\msvcr80.dll"
1870 Delete /REBOOTOK "$INSTDIR\bin\msvcp80.dll"
1871 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHS.DLL"
1872 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHT.DLL"
1873 Delete /REBOOTOK "$INSTDIR\bin\MFC80DEU.DLL"
1874 Delete /REBOOTOK "$INSTDIR\bin\MFC80ENU.DLL"
1875 Delete /REBOOTOK "$INSTDIR\bin\MFC80ESP.DLL"
1876 Delete /REBOOTOK "$INSTDIR\bin\MFC80FRA.DLL"
1877 Delete /REBOOTOK "$INSTDIR\bin\MFC80ITA.DLL"
1878 Delete /REBOOTOK "$INSTDIR\bin\MFC80JPN.DLL"
1879 Delete /REBOOTOK "$INSTDIR\bin\MFC80KOR.DLL"
1882 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1883 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1884 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1885 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1886 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1887 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1888 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1889 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1890 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1891 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1892 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1893 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1896 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1897 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1898 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1899 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1900 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1901 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1902 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1903 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1904 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1905 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1906 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1907 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1909 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1910 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1911 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1917 Delete /REBOOTOK "$INSTDIR\Common\*"
1918 RMDir "$INSTDIR\Common"
1922 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1923 RMDIR /r "$INSTDIR\kfw\bin"
1924 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1925 RMDIR /r "$INSTDIR\kfw\doc"
1926 RMDIR /r "$INSTDIR\kfw"
1929 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1931 ; Remove control center
1932 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1933 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1934 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1935 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1936 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1937 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1938 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1939 RMDir "$INSTDIR\Control Center"
1941 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1942 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1943 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1944 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1945 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1946 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1947 RMDir /r "$SMPROGRAMS\OpenAFS"
1948 Delete "$SMSTARTUP\AFS Credentials.lnk"
1950 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1952 Delete "$R0\AFSCache"
1953 Delete "C:\AFSCache"
1955 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1956 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1957 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1958 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1959 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1960 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1962 ; WinLogon Event Notification
1963 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1965 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1966 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1967 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1968 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1969 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1970 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1971 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1972 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1973 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1974 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1975 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1977 ; Support for apps that wrote submount data directly to afsdsbmt.ini
1978 DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini"
1984 ;--------------------------------
1985 ;Uninstaller Functions
1989 ;Get language from registry
1990 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1994 Function un.onUninstSuccess
1997 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
2002 ;------------------------------
2003 ; Get the CellServDB file from the Internet
2005 Function afs.GetCellServDB
2007 ;Check if we should download CellServDB
2008 ReadINIStr $R0 $0 "Field 4" "State"
2009 StrCmp $R0 "1" DoDownload
2011 ;Do nothing if we're keeping the existing file
2012 ReadINIStr $R0 $0 "Field 2" "State"
2015 ReadINIStr $R0 $0 "Field 6" "State"
2016 StrCmp $R0 "1" CheckOther
2018 ReadINIStr $R0 $0 "Field 3" "State"
2019 StrCmp $R0 "1" UsePackaged
2021 ; If none of these, grab file from other location
2025 ReadINIStr $R0 $0 "Field 5" "State"
2026 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
2027 Pop $R0 ;Get the return value
2028 StrCmp $R0 "success" +2
2029 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
2033 SetOutPath "$INSTDIR\Client"
2038 ReadINIStr $R0 $0 "Field 7" "State"
2040 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
2046 Function AddProvider
2049 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2051 StrCpy $R0 "TransarcAFSDaemon"
2055 StrCmp $R0 "" +1 DoOther
2056 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2057 StrCpy $R0 "$R1,TransarcAFSDaemon"
2058 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
2060 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2062 StrCpy $R0 "TransarcAFSDaemon"
2066 StrCmp $R0 "" +1 End
2067 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2068 StrCpy $R0 "$R1,TransarcAFSDaemon"
2069 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2075 Function un.RemoveProvider
2077 StrCpy $R0 "TransarcAFSDaemon"
2079 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2080 Call un.RemoveFromProvider
2081 StrCpy $R0 "TransarcAFSDaemon"
2083 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2084 Call un.RemoveFromProvider
2088 Function un.RemoveFromProvider
2097 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2098 StrCpy $5 $1 1 -1 # copy last char
2099 StrCmp $5 "," +2 # if last char != ,
2100 StrCpy $1 "$1," # append ,
2103 Call un.StrStr ; Find `$0,` in $1
2104 Pop $2 ; pos of our dir
2105 StrCmp $2 "" unRemoveFromPath_done
2106 ; else, it is in path
2111 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2112 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2115 StrCpy $5 $3 1 -1 # copy last char
2116 StrCmp $5 "," 0 +2 # if last char == ,
2117 StrCpy $3 $3 -1 # remove last char
2119 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2121 unRemoveFromPath_done:
2131 Function CheckPathForAFS
2136 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2145 IfFileExists "$3\afsd_service.exe" Error
2146 StrCpy $1 $0 32768 1
2148 IntCmp $2 0 Done Done loop
2151 MessageBox MB_ICONSTOP|MB_OK|MB_TOPMOST "This installer is unable to upgrade the previous version of AFS. Please uninstall the current AFS version before continuing."
2152 Abort "Unable to install OpenAFS"
2160 Function AddToUniquePath
2164 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2168 StrCmp $R0 "" +1 Done
2174 ;-------------------------------
2175 ;Do the page to get the CellServDB
2177 Function AFSPageGetCellServDB
2178 ; Skip this page if we are not installing the client
2179 SectionGetFlags ${secClient} $R0
2180 IntOp $R0 $R0 & ${SF_SELECTED}
2183 ; Set the install options here
2186 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2187 WriteINIStr $0 "Field 3" "State" "1"
2188 WriteINISTR $0 "Field 4" "State" "0"
2189 WriteINIStr $0 "Field 6" "State" "0"
2191 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2192 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2193 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2194 Delete "$WINDIR\afsdcell.ini"
2195 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2196 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2197 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2198 WriteINIStr $0 "Field 2" "State" "1"
2199 WriteINIStr $0 "Field 3" "State" "0"
2203 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2204 InstallOptions::dialog $0
2206 StrCmp $R1 "cancel" exit
2207 StrCmp $R1 "back" done
2208 StrCmp $R1 "success" done
2212 ; Check that if a file is set, a valid filename is entered...
2213 ReadINIStr $R0 $0 "Field 6" "State"
2214 StrCmp $R0 "1" CheckFileName
2216 ;Check if a URL is specified, one *IS* specified
2217 ReadINIStr $R0 $0 "Field 4" "State"
2218 StrCmp $R0 "1" CheckURL Skip
2221 ReadINIStr $R0 $0 "Field 5" "State"
2222 StrCmp $R0 "" +1 Skip
2223 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2224 WriteINIStr $0 "Field 4" "State" "0"
2228 ReadINIStr $R0 $0 "Field 7" "State"
2229 IfFileExists $R0 Skip
2231 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2232 WriteINIStr $0 "Field 6" "State" "0"
2240 Function AFSPageGetCellName
2242 ; Skip this page if we are not installing the client
2243 SectionGetFlags ${secClient} $R0
2244 IntOp $R0 $R0 & ${SF_SELECTED}
2248 ; We want to read in the existing parameters and make them the defaults
2251 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel"
2253 WriteINIStr $1 "Field 3" "State" $R1
2255 WriteINIStr $1 "Field 3" "State" "1"
2258 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS"
2260 WriteINIStr $1 "Field 9" "State" $R1
2262 WriteINIStr $1 "Field 9" "State" "1"
2264 ; Use integrated logon
2265 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "LogonOptions"
2267 WriteINIStr $1 "Field 7" "State" $R1
2269 WriteINIStr $1 "Field 7" "State" "0"
2271 ; If this is a server install, we do NOT want to recommend the Freelance client
2272 ; And we do not need to ask for the cell name.
2273 SectionGetFlags ${secServer} $R1
2274 IntOp $R1 $R1 & ${SF_SELECTED}
2275 StrCmp $R1 "1" +1 NotServer
2276 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2277 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient"
2279 WriteINIStr $1 "Field 5" "State" $R1
2281 WriteINIStr $1 "Field 5" "State" "0"
2282 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2283 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2286 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2287 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient"
2289 WriteINIStr $1 "Field 5" "State" $R1
2291 WriteINIStr $1 "Field 5" "State" "1"
2292 WriteINIStr $1 "Field 1" "Flags" ""
2293 WriteINIStr $1 "Field 2" "Flags" ""
2295 ; Get the current cell name, if any
2296 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2298 WriteINIStr $1 "Field 2" "State" $R1
2299 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2300 InstallOptions::dialog $1
2302 StrCmp $R1 "cancel" exit
2303 StrCmp $R1 "back" done
2304 StrCmp $R1 "success" done
2307 ReadINIStr $R0 $1 "Field 2" "State"
2308 StrCmp $R0 "" +1 good
2310 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2316 ;---------------------------------------------------------
2317 ;Do the page to get the afscreds.exe startup configuration
2319 Function AFSPageConfigAFSCreds
2320 ; Skip this page if we are not installing the client
2321 SectionGetFlags ${secClient} $R0
2322 IntOp $R0 $R0 & ${SF_SELECTED}
2325 ; Set the install options here
2327 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2328 InstallOptions::dialog $2
2330 StrCmp $R1 "cancel" exit
2331 StrCmp $R1 "back" done
2332 StrCmp $R1 "success" done
2340 ; Common install routines for each module
2341 Function AFSCommon.Install
2343 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2344 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2346 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2348 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2350 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2355 ;-------------------
2356 ; Get the currently installed version and place it on the stack
2358 Function GetInstalledVersion
2363 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2364 StrCmp $R0 "" NotTransarc done
2368 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2377 ; Functions to get each component of the version number
2378 Function GetInstalledVersionMajor
2383 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2384 StrCmp $R0 "" NotTransarc done
2388 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2397 Function GetInstalledVersionMinor
2402 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2403 StrCmp $R0 "" NotTransarc done
2407 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2416 Function GetInstalledVersionPatch
2421 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2422 StrCmp $R0 "" NotTransarc done
2426 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2437 ;-------------------------------
2438 ; Check if the client should be checked for default install
2439 Function ShouldClientInstall
2441 StrCpy $R2 "AFS Client"
2442 Call GetInstalledVersion
2445 StrCmp $R0 "" NotInstalled
2446 ; Now we see if it's an older or newer version
2448 Call GetInstalledVersionMajor
2450 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2452 Call GetInstalledVersionMinor
2454 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2456 Call GetInstalledVersionPatch
2458 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2481 ;-------------------------------
2482 ; Check how the server options should be set
2483 Function ShouldServerInstall
2485 StrCpy $R2 "AFS Server"
2486 Call GetInstalledVersion
2489 StrCmp $R0 "" NotInstalled
2490 ; Now we see if it's an older or newer version
2492 Call GetInstalledVersionMajor
2494 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2496 Call GetInstalledVersionMinor
2498 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2500 Call GetInstalledVersionPatch
2502 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2527 ; See if AFS Server is installed
2528 ; Returns: "1" if it is, 0 if it is not (on the stack)
2529 Function IsServerInstalled
2531 StrCpy $R2 "AFS Server"
2532 Call GetInstalledVersion
2535 StrCmp $R0 "" NotInstalled
2548 ; See if AFS Client is installed
2549 ; Returns: "1" if it is, 0 if it is not (on the stack)
2550 Function IsClientInstalled
2552 StrCpy $R2 "AFS Client"
2553 Call GetInstalledVersion
2556 StrCmp $R0 "" NotInstalled
2570 ; See if AFS Documentation is installed
2571 ; Returns: "1" if it is, 0 if it is not (on the stack)
2572 Function IsDocumentationInstalled
2574 StrCpy $R2 "AFS Supplemental Documentation"
2575 Call GetInstalledVersion
2578 StrCmp $R0 "" NotInstalled
2591 ; See if Control Center is installed
2592 ; Returns: "1" if it is, 0 if it is not (on the stack)
2593 Function IsControlInstalled
2595 StrCpy $R2 "AFS Control Center"
2596 Call GetInstalledVersion
2599 StrCmp $R0 "" NotInstalled
2614 ; output, top of stack (replaces, with e.g. whatever)
2615 ; modifies no other variables.
2617 Function GetParameters
2621 StrCpy $R0 $CMDLINE 1
2625 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2627 StrCpy $R0 $CMDLINE 1 $R2
2628 StrCmp $R0 $R1 loop2
2634 StrCpy $R0 $CMDLINE 1 $R2
2635 StrCmp $R0 " " loop2
2636 StrCpy $R0 $CMDLINE "" $R2
2643 ;Check to see if any AFS component is installed
2644 ;Returns: Value on stack: "1" if it is, "0" if it is not
2645 Function IsAnyAFSInstalled
2650 Call IsClientInstalled
2652 Call IsServerInstalled
2654 Call IsControlInstalled
2656 Call IsDocumentationInstalled
2658 ; Now we must see if ANY of the $Rn values are 1
2659 StrCmp $R0 "1" SomethingInstalled
2660 StrCmp $R1 "1" SomethingInstalled
2661 StrCmp $R2 "1" SomethingInstalled
2662 StrCmp $R3 "1" SomethingInstalled
2676 ;Install English Language Files
2677 Function AFSLangFiles
2679 SetOutPath "$INSTDIR\Common"
2680 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2681 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2682 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2683 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2684 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2685 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2686 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2687 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2688 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2689 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2690 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2691 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2692 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2693 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2695 SetOutPath "$INSTDIR\Common"
2699 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr80d.dll" "$INSTDIR\Common\msvcr80d.dll" "$INSTDIR"
2700 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp80d.dll" "$INSTDIR\Common\msvcp80d.dll" "$INSTDIR"
2701 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc80d.dll" "$INSTDIR\Common\mfc80d.dll" "$INSTDIR"
2702 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHS.DLL" "$INSTDIR\Common\MFC80CHS.DLL" "$INSTDIR"
2703 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHT.DLL" "$INSTDIR\Common\MFC80CHT.DLL" "$INSTDIR"
2704 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80DEU.DLL" "$INSTDIR\Common\MFC80DEU.DLL" "$INSTDIR"
2705 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ENU.DLL" "$INSTDIR\Common\MFC80ENU.DLL" "$INSTDIR"
2706 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ESP.DLL" "$INSTDIR\Common\MFC80ESP.DLL" "$INSTDIR"
2707 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80FRA.DLL" "$INSTDIR\Common\MFC80FRA.DLL" "$INSTDIR"
2708 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ITA.DLL" "$INSTDIR\Common\MFC80ITA.DLL" "$INSTDIR"
2709 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80JPN.DLL" "$INSTDIR\Common\MFC80JPN.DLL" "$INSTDIR"
2710 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80KOR.DLL" "$INSTDIR\Common\MFC80KOR.DLL" "$INSTDIR"
2713 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2714 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2715 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2716 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2717 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2718 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2719 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2720 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2721 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2722 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2723 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2724 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2727 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2728 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2729 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2730 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2731 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2732 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2733 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2734 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2735 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2736 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2737 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2738 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2740 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2741 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2742 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2748 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc80.dll" "$INSTDIR\Common\mfc80.dll" "$INSTDIR"
2749 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr80.dll" "$INSTDIR\Common\msvcr80.dll" "$INSTDIR"
2750 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp80.dll" "$INSTDIR\Common\msvcp80.dll" "$INSTDIR"
2751 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHS.DLL" "$INSTDIR\Common\MFC80CHS.DLL" "$INSTDIR"
2752 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHT.DLL" "$INSTDIR\Common\MFC80CHT.DLL" "$INSTDIR"
2753 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80DEU.DLL" "$INSTDIR\Common\MFC80DEU.DLL" "$INSTDIR"
2754 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ENU.DLL" "$INSTDIR\Common\MFC80ENU.DLL" "$INSTDIR"
2755 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ESP.DLL" "$INSTDIR\Common\MFC80ESP.DLL" "$INSTDIR"
2756 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80FRA.DLL" "$INSTDIR\Common\MFC80FRA.DLL" "$INSTDIR"
2757 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ITA.DLL" "$INSTDIR\Common\MFC80ITA.DLL" "$INSTDIR"
2758 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80JPN.DLL" "$INSTDIR\Common\MFC80JPN.DLL" "$INSTDIR"
2759 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80KOR.DLL" "$INSTDIR\Common\MFC80KOR.DLL" "$INSTDIR"
2762 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2763 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2764 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2765 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2766 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2767 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2768 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2769 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2770 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2771 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2772 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2773 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2776 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2777 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2778 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2779 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2780 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2781 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2782 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2783 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2784 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2785 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2786 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2787 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2789 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2790 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2791 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2797 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2798 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2799 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2800 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2801 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2802 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2803 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2804 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2808 SetOutPath "$INSTDIR\Documentation"
2809 File "..\..\doc\install\Documentation\en_US\README.TXT"
2811 SetOutPath "$INSTDIR\Client\Program"
2812 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2813 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2815 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2816 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2819 SetOutPath "$INSTDIR\Common"
2820 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2821 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2822 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2823 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2824 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2825 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2826 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2827 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2828 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2829 File "..\..\doc\help\en_US\afs-cc.CNT"
2830 File "..\..\doc\help\en_US\afs-cc.hlp"
2831 File "..\..\doc\help\en_US\afs-light.CNT"
2832 File "..\..\doc\help\en_US\afs-light.hlp"
2833 File "..\..\doc\help\en_US\afs-nt.CNT"
2834 File "..\..\doc\help\en_US\afs-nt.HLP"
2835 File "..\..\doc\help\en_US\taafscfg.CNT"
2836 File "..\..\doc\help\en_US\taafscfg.hlp"
2837 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2838 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2839 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2840 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2843 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2844 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2845 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2846 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2847 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2848 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2849 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2850 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2856 SetOutPath "$INSTDIR\Documentation"
2857 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2859 SetOutPath "$INSTDIR\Client\Program"
2860 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2861 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2863 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2864 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2867 SetOutPath "$INSTDIR\Common"
2868 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2869 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2870 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2871 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2872 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2873 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2874 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2875 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2876 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2877 File "..\..\doc\help\de_DE\afs-cc.CNT"
2878 File "..\..\doc\help\de_DE\afs-cc.hlp"
2879 File "..\..\doc\help\de_DE\afs-light.CNT"
2880 File "..\..\doc\help\de_DE\afs-light.hlp"
2881 File "..\..\doc\help\de_DE\afs-nt.CNT"
2882 File "..\..\doc\help\de_DE\afs-nt.HLP"
2883 File "..\..\doc\help\de_DE\taafscfg.CNT"
2884 File "..\..\doc\help\de_DE\taafscfg.hlp"
2885 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2886 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2887 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2888 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2891 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2892 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2893 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2894 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2895 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2896 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2897 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2898 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2904 SetOutPath "$INSTDIR\Documentation"
2905 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2907 SetOutPath "$INSTDIR\Client\Program"
2908 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2909 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2911 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2912 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2915 SetOutPath "$INSTDIR\Common"
2916 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2917 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2918 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2919 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2920 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2921 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2922 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2923 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2924 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2925 File "..\..\doc\help\es_ES\afs-cc.CNT"
2926 File "..\..\doc\help\es_ES\afs-cc.hlp"
2927 File "..\..\doc\help\es_ES\afs-light.CNT"
2928 File "..\..\doc\help\es_ES\afs-light.hlp"
2929 File "..\..\doc\help\es_ES\afs-nt.CNT"
2930 File "..\..\doc\help\es_ES\afs-nt.HLP"
2931 File "..\..\doc\help\es_ES\taafscfg.CNT"
2932 File "..\..\doc\help\es_ES\taafscfg.hlp"
2933 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2934 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2935 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2936 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2939 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2940 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2941 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2942 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2943 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2944 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2945 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2946 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2952 SetOutPath "$INSTDIR\Documentation"
2953 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2955 SetOutPath "$INSTDIR\Client\Program"
2956 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2957 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2959 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2960 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2963 SetOutPath "$INSTDIR\Common"
2964 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2965 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2966 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2967 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2968 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2969 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2970 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2971 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2972 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2973 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2974 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2975 File "..\..\doc\help\ja_JP\afs-light.CNT"
2976 File "..\..\doc\help\ja_JP\afs-light.hlp"
2977 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2978 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2979 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2980 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2981 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2982 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2983 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2984 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2987 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2988 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2989 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2990 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2991 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2992 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2993 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2994 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
3000 SetOutPath "$INSTDIR\Documentation"
3001 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
3003 SetOutPath "$INSTDIR\Client\Program"
3004 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
3005 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
3007 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
3008 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
3011 SetOutPath "$INSTDIR\Common"
3012 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
3013 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
3014 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
3015 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
3016 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
3017 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
3018 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
3019 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
3020 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
3021 File "..\..\doc\help\ko_KR\afs-cc.CNT"
3022 File "..\..\doc\help\ko_KR\afs-cc.hlp"
3023 File "..\..\doc\help\ko_KR\afs-light.CNT"
3024 File "..\..\doc\help\ko_KR\afs-light.hlp"
3025 File "..\..\doc\help\ko_KR\afs-nt.CNT"
3026 File "..\..\doc\help\ko_KR\afs-nt.HLP"
3027 File "..\..\doc\help\ko_KR\taafscfg.CNT"
3028 File "..\..\doc\help\ko_KR\taafscfg.hlp"
3029 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
3030 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
3031 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
3032 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
3035 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
3036 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
3037 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
3038 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
3039 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
3040 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
3041 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
3042 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
3049 SetOutPath "$INSTDIR\Documentation"
3050 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
3052 SetOutPath "$INSTDIR\Client\Program"
3053 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
3054 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
3056 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
3057 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
3060 SetOutPath "$INSTDIR\Common"
3061 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
3062 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
3063 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
3064 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
3065 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
3066 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
3067 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
3068 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
3069 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
3070 File "..\..\doc\help\pt_BR\afs-cc.CNT"
3071 File "..\..\doc\help\pt_BR\afs-cc.hlp"
3072 File "..\..\doc\help\pt_BR\afs-light.CNT"
3073 File "..\..\doc\help\pt_BR\afs-light.hlp"
3074 File "..\..\doc\help\pt_BR\afs-nt.CNT"
3075 File "..\..\doc\help\pt_BR\afs-nt.HLP"
3076 File "..\..\doc\help\pt_BR\taafscfg.CNT"
3077 File "..\..\doc\help\pt_BR\taafscfg.hlp"
3078 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
3079 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
3080 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
3081 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
3084 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
3085 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
3086 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
3087 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
3088 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
3089 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
3090 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
3091 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
3097 SetOutPath "$INSTDIR\Documentation"
3098 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
3100 SetOutPath "$INSTDIR\Client\Program"
3101 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
3102 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
3104 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
3105 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
3108 SetOutPath "$INSTDIR\Common"
3109 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
3110 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
3111 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
3112 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
3113 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
3114 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
3115 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
3116 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
3117 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
3118 File "..\..\doc\help\zh_CN\afs-cc.CNT"
3119 File "..\..\doc\help\zh_CN\afs-cc.hlp"
3120 File "..\..\doc\help\zh_CN\afs-light.CNT"
3121 File "..\..\doc\help\zh_CN\afs-light.hlp"
3122 File "..\..\doc\help\zh_CN\afs-nt.CNT"
3123 File "..\..\doc\help\zh_CN\afs-nt.HLP"
3124 File "..\..\doc\help\zh_CN\taafscfg.CNT"
3125 File "..\..\doc\help\zh_CN\taafscfg.hlp"
3126 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
3127 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
3128 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
3129 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3132 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3133 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3134 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3135 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3136 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3137 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3138 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3139 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3145 SetOutPath "$INSTDIR\Documentation"
3146 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3148 SetOutPath "$INSTDIR\Client\Program"
3149 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3150 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3152 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3153 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3156 SetOutPath "$INSTDIR\Common"
3157 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3158 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3159 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3160 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3161 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3162 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3163 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3164 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3165 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3166 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3167 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3168 File "..\..\doc\help\zh_TW\afs-light.CNT"
3169 File "..\..\doc\help\zh_TW\afs-light.hlp"
3170 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3171 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3172 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3173 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3174 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3175 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3176 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3177 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3180 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3181 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3182 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3183 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3184 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3185 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3186 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3187 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3196 ;====================================================
3197 ; AddToPath - Adds the given dir to the search path.
3198 ; Input - head of the stack
3199 ; Note - Win9x systems requires reboot
3200 ;====================================================
3207 # don't add if the path doesn't exist
3208 IfFileExists $0 "" AddToPath_done
3215 StrCmp $2 "" "" AddToPath_done
3220 StrCmp $2 "" "" AddToPath_done
3221 GetFullPathName /SHORT $3 $0
3226 StrCmp $2 "" "" AddToPath_done
3231 StrCmp $2 "" "" AddToPath_done
3235 StrCmp $1 1 AddToPath_NT
3238 FileOpen $1 "$1\autoexec.bat" a
3241 IntCmp $2 26 0 +2 +2 # DOS EOF
3242 FileSeek $1 -1 END # write over EOF
3243 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3249 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3250 StrCpy $2 $1 1 -1 # copy last char
3251 StrCmp $2 ";" 0 +2 # if last char == ;
3252 StrCpy $1 $1 -1 # remove last char
3253 StrCmp $1 "" AddToPath_NTdoIt
3256 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3257 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3266 ;====================================================
3267 ; RemoveFromPath - Remove a given dir from the path
3268 ; Input: head of the stack
3269 ;====================================================
3270 Function un.RemoveFromPath
3279 IntFmt $6 "%c" 26 # DOS EOF
3283 StrCmp $1 1 unRemoveFromPath_NT
3286 FileOpen $1 "$1\autoexec.bat" r
3289 GetFullPathName /SHORT $0 $0
3290 StrCpy $0 "SET PATH=%PATH%;$0"
3291 Goto unRemoveFromPath_dosLoop
3293 unRemoveFromPath_dosLoop:
3295 StrCpy $5 $3 1 -1 # read last char
3296 StrCmp $5 $6 0 +2 # if DOS EOF
3297 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3298 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3299 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3300 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3301 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3303 Goto unRemoveFromPath_dosLoop
3304 unRemoveFromPath_dosLoopRemoveLine:
3306 Goto unRemoveFromPath_dosLoop
3308 unRemoveFromPath_dosLoopEnd:
3312 Delete "$1\autoexec.bat"
3313 CopyFiles /SILENT $4 "$1\autoexec.bat"
3315 Goto unRemoveFromPath_done
3317 unRemoveFromPath_NT:
3318 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3319 StrCpy $5 $1 1 -1 # copy last char
3320 StrCmp $5 ";" +2 # if last char != ;
3321 StrCpy $1 "$1;" # append ;
3324 Call un.StrStr ; Find `$0;` in $1
3325 Pop $2 ; pos of our dir
3326 StrCmp $2 "" unRemoveFromPath_done
3327 ; else, it is in path
3332 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3333 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3336 StrCpy $5 $3 1 -1 # copy last char
3337 StrCmp $5 ";" 0 +2 # if last char == ;
3338 StrCpy $3 $3 -1 # remove last char
3340 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3341 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3343 unRemoveFromPath_done:
3353 ;====================================================
3354 ; IsNT - Returns 1 if the current system is NT, 0
3356 ; Output: head of the stack
3357 ;====================================================
3361 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3362 StrCmp $0 "" 0 IsNT_yes
3374 !insertmacro IsNT ""
3375 !insertmacro IsNT "un."
3377 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3379 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3380 ;====================================================
3381 ; StrStr - Finds a given string in another given string.
3382 ; Returns -1 if not found and the pos if found.
3383 ; Input: head of the stack - string to find
3384 ; second in the stack - string to find in
3385 ; Output: head of the stack
3386 ;====================================================
3388 Function ${un}StrStr
3389 Exch $R1 ; st=haystack,old$R1, $R1=needle
3390 Exch ; st=old$R1,haystack
3391 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3403 StrCpy $R5 $R2 $R3 $R4
3409 StrCpy $R1 $R2 "" $R4
3417 !insertmacro StrStr ""
3418 !insertmacro StrStr "un."
3421 !ifdef ADDSHAREDDLLUSED
3424 ; Increments a shared DLLs reference count.
3425 ; Use by passing one item on the stack (the full path of the DLL).
3428 ; Push $SYSDIR\myDll.dll
3432 Function AddSharedDLL
3435 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3437 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3443 ; un.RemoveSharedDLL
3445 ; Decrements a shared DLLs reference count, and removes if necessary.
3446 ; Use by passing one item on the stack (the full path of the DLL).
3447 ; Note: for use in the main installer (not the uninstaller), rename the
3448 ; function to RemoveSharedDLL.
3451 ; Push $SYSDIR\myDll.dll
3452 ; Call un.RemoveSharedDLL
3455 Function un.RemoveSharedDLL
3458 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3459 StrCmp $R0 "" remove
3461 IntCmp $R0 0 rk rk uk
3463 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3466 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3469 Delete /REBOOTOK $R1
3477 ; Installs the loopback adpater and disables it on Windows 2000
3478 Function afs.InstallMSLoopback
3480 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3481 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3485 Function afs.isLoopbackInstalled
3487 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3488 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3489 Delete "$TEMP\afsloopback.dll"
3495 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3496 ; Updated by Joost Verburg
3498 ; Returns on top of stack
3500 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3502 ; '' (Unknown Windows Version)
3505 ; Call GetWindowsVersion
3507 ; ; at this point $R0 is "NT 4.0" or whatnot
3509 Function GetWindowsVersion
3516 ReadRegStr $R0 HKLM \
3517 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3519 IfErrors 0 lbl_winnt
3522 ReadRegStr $R0 HKLM \
3523 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3526 StrCmp $R1 '4' 0 lbl_error
3530 StrCmp $R1 '4.0' lbl_win32_95
3531 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3549 StrCmp $R1 '3' lbl_winnt_x
3550 StrCmp $R1 '4' lbl_winnt_x
3554 StrCmp $R1 '5.0' lbl_winnt_2000
3555 StrCmp $R1 '5.1' lbl_winnt_XP
3556 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3559 StrCpy $R0 "NT $R0" 6
3584 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3585 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3586 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3587 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3591 ; Pop $R0 ; at this point $R0 is "true" or "false"
3593 Function IsUserAdmin
3602 UserInfo::GetAccountType
3605 StrCmp $R2 "Admin" 0 Continue
3606 ; Observation: I get here when running Win98SE. (Lilla)
3607 ; The functions UserInfo.dll looks for are there on Win98 too,
3608 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3609 ; on Win98, returns admin anyway. (per kichik)
3610 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3615 ; You should still check for an empty string because the functions
3616 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3619 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3623 ; comment/message below is by UserInfo.nsi author:
3624 ; This one means you don't need to care about admin or
3625 ; not admin because Windows 9x doesn't either
3626 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3630 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3638 ; input, top of stack (e.g. C:\Program Files\Poop)
3639 ; output, top of stack (replaces, with e.g. C:\Program Files)
3640 ; modifies no other variables.
3643 ; Push "C:\Program Files\Directory\Whatever"
3646 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3660 IntCmp $R1 $R2 get 0 get
3661 StrCpy $R3 $R0 1 -$R1
3676 ;--------------------------------
3677 ;Handle what must and what must not be installed
3678 Function .onSelChange
3679 ; If they install the server, they MUST install the client
3680 SectionGetFlags ${secServer} $R0
3681 IntOp $R0 $R0 & ${SF_SELECTED}
3682 StrCmp $R0 "1" MakeClientSelected
3684 ; If they install the control center, we'll give them the client.
3685 ; It may not be required, but it's a bit more useful
3686 SectionGetFlags ${secControl} $R0
3687 IntOp $R0 $R0 & ${SF_SELECTED}
3688 StrCmp $R0 "1" MakeClientSelected
3692 SectionGetFlags ${secClient} $R0
3693 IntOp $R0 $R0 | ${SF_SELECTED}
3694 SectionSetFlags ${secClient} $R0
3699 Function RegWriteMultiStr
3700 !define HKEY_CLASSES_ROOT 0x80000000
3701 !define HKEY_CURRENT_USER 0x80000001
3702 !define HKEY_LOCAL_MACHINE 0x80000002
3703 !define HKEY_USERS 0x80000003
3704 !define HKEY_PERFORMANCE_DATA 0x80000004
3705 !define HKEY_PERFORMANCE_TEXT 0x80000050
3706 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3707 !define HKEY_CURRENT_CONFIG 0x80000005
3708 !define HKEY_DYN_DATA 0x80000006
3710 !define KEY_QUERY_VALUE 0x0001
3711 !define KEY_SET_VALUE 0x0002
3712 !define KEY_CREATE_SUB_KEY 0x0004
3713 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3714 !define KEY_NOTIFY 0x0010
3715 !define KEY_CREATE_LINK 0x0020
3719 !define REG_EXPAND_SZ 2
3720 !define REG_BINARY 3
3722 !define REG_DWORD_LITTLE_ENDIAN 4
3723 !define REG_DWORD_BIG_ENDIAN 5
3725 !define REG_MULTI_SZ 7
3727 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3728 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3729 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3736 SetPluginUnload alwaysoff
3737 ; Create a buffer for the multi_sz value
3738 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3739 ; Open/create the registry key
3740 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3743 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3747 ; Fill in the buffer with our strings
3748 StrCpy $2 $1 ; Initial position
3750 StrLen $9 '$REG_DATA_1' ; Length of first string
3751 IntOp $9 $9 + 1 ; Plus null
3752 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3753 IntOp $2 $2 + $9 ; Advance to the next position
3755 StrCmp '$REG_DATA_2' "" terminate
3756 StrLen $9 '$REG_DATA_2' ; Length of second string
3757 IntOp $9 $9 + 1 ; Plus null
3758 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3759 IntOp $2 $2 + $9 ; Advance to the next position
3761 StrCmp '$REG_DATA_3' "" terminate
3762 StrLen $9 '$REG_DATA_3' ; Length of third string
3763 IntOp $9 $9 + 1 ; Plus null
3764 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3765 IntOp $2 $2 + $9 ; Advance to the next position
3768 System::Call "*$2(&t1 '')" ; Place the terminating null
3769 IntOp $2 $2 + 1 ; Advance to the next position
3771 ; Create/write the value
3772 IntOp $2 $2 - $1 ; Total length
3773 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3776 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3780 ; Close the registry key
3781 System::Call "${RegCloseKey}(r0)"
3785 SetPluginUnload manual
3794 Function CreateDesktopIni
3795 WriteIniStr "$INSTDIR\Desktop.ini" ".ShellClassInfo" "IconFile" "client\program\afsd_service.exe"
3796 WriteIniStr "$INSTDIR\Desktop.ini" ".ShellClassInfo" "IconIndex" "0"
3797 SetFileAttributes "$INSTDIR\Desktop.ini" HIDDEN|SYSTEM
3798 SetFileAttributes "$INSTDIR\" READONLY