1 ;OpenAFS Install Script for NSIS
3 ; Written by Rob Murawski <rsm4@ieee.org>
6 ;NSIS Modern User Interface version 1.63
7 ;MultiLanguage Example Script
8 ;Written by Joost Verburg
10 ; Read in the environment information
11 !include ${INCLUDEDIR}\nsi-includes.nsi
12 ; Define DEBUG if building a DEBUG installer
14 ; This version compiles with NSIS v2.0
18 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
20 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
21 !endif ; End DEBUG/!DEBUG
24 Name "OpenAFS ${AFS_VERSION}"
26 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
27 !endif ; End DEBUG/!DEBUG
29 VIProductVersion "${AFS_VERSION}.00"
30 VIAddVersionKey "ProductName" "OpenAFS"
31 VIAddVersionKey "CompanyName" "OpenAFS.org"
32 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
33 VIAddVersionKey "FileVersion" ${AFS_VERSION}
34 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
35 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
37 VIAddVersionKey "PrivateBuild" "Checked/Debug"
44 ;--------------------------------
49 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
51 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
55 !define MUI_ICON "..\..\client_config\afs_config.ico"
56 !define MUI_UNICON "..\..\client_config\afs_config.ico"
57 !define AFS_COMPANY_NAME "OpenAFS"
58 !define AFS_PRODUCT_NAME "OpenAFS"
59 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
62 ;Folder selection page
63 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
65 ;Remember install folder
66 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
68 ;Remember the installer language
69 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
70 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
71 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
74 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
75 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
76 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
77 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
78 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
79 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
80 !define SYSTEMDIR "$%SystemRoot%\System32"
82 ;--------------------------------
83 ;Modern UI Configuration
85 ;!define MUI_LICENSEPAGE
86 !define MUI_CUSTOMPAGECOMMANDS
87 !define MUI_WELCOMEPAGE
88 !define MUI_COMPONENTSPAGE
89 !define MUI_COMPONENTSPAGE_SMALLDESC
90 !define MUI_DIRECTORYPAGE
92 !define MUI_ABORTWARNING
93 !define MUI_FINISHPAGE
95 !define MUI_UNINSTALLER
96 !define MUI_UNCONFIRMPAGE
99 !insertmacro MUI_PAGE_WELCOME
100 !insertmacro MUI_PAGE_COMPONENTS
101 !insertmacro MUI_PAGE_DIRECTORY
102 Page custom AFSPageGetCellServDB
103 Page custom AFSPageGetCellName
104 !insertmacro MUI_PAGE_INSTFILES
105 !insertmacro MUI_PAGE_FINISH
107 ;LicenseData "Licenses.rtf"
108 ;--------------------------------
111 !insertmacro MUI_LANGUAGE "English"
112 ;!insertmacro MUI_LANGUAGE "French"
113 !insertmacro MUI_LANGUAGE "German"
114 !insertmacro MUI_LANGUAGE "Spanish"
115 !insertmacro MUI_LANGUAGE "SimpChinese"
116 !insertmacro MUI_LANGUAGE "TradChinese"
117 !insertmacro MUI_LANGUAGE "Japanese"
118 !insertmacro MUI_LANGUAGE "Korean"
119 ;!insertmacro MUI_LANGUAGE "Italian"
120 ;!insertmacro MUI_LANGUAGE "Dutch"
121 ;!insertmacro MUI_LANGUAGE "Danish"
122 ;!insertmacro MUI_LANGUAGE "Greek"
123 ;!insertmacro MUI_LANGUAGE "Russian"
124 !insertmacro MUI_LANGUAGE "PortugueseBR"
125 ;!insertmacro MUI_LANGUAGE "Polish"
126 ;!insertmacro MUI_LANGUAGE "Ukrainian"
127 ;!insertmacro MUI_LANGUAGE "Czech"
128 ;!insertmacro MUI_LANGUAGE "Slovak"
129 ;!insertmacro MUI_LANGUAGE "Croatian"
130 ;!insertmacro MUI_LANGUAGE "Bulgarian"
131 ;!insertmacro MUI_LANGUAGE "Hungarian"
132 ;!insertmacro MUI_LANGUAGE "Thai"
133 ;!insertmacro MUI_LANGUAGE "Romanian"
134 ;!insertmacro MUI_LANGUAGE "Macedonian"
135 ;!insertmacro MUI_LANGUAGE "Turkish"
137 ;--------------------------------
141 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
142 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
143 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
144 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
145 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
146 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
147 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
148 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
149 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
150 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
151 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
152 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
153 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
154 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
155 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
156 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
157 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
158 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
159 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
160 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
161 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
162 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
163 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
164 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
165 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
167 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
168 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
169 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
170 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
171 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
172 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
173 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
174 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
176 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
177 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
178 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
179 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
180 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
181 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
182 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
183 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
185 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
186 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
187 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
188 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
189 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
190 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
191 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
192 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
194 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
195 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
196 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
197 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
198 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
199 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
200 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
201 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
203 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
204 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
205 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
206 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
207 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
208 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
209 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
210 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
212 ; Popup error messages
213 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
214 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
215 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
216 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
217 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
218 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
219 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
220 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
222 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
223 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
224 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
225 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
226 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
227 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
228 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
229 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
231 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
232 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
233 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
234 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
235 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
236 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
237 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
238 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
241 ; Upgrade/re-install strings
242 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
243 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
244 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
245 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
246 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
247 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
248 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
249 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
251 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
252 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
253 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
254 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
255 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
256 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
257 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
258 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
260 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
261 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
262 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
263 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
264 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
265 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
266 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
267 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
269 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
270 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
271 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
272 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
273 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
274 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
275 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
276 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
278 ReserveFile "CellServPage.ini"
279 ReserveFile "AFSCell.ini"
280 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
281 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
282 ;--------------------------------
284 ; Macro - Upgrade DLL File
285 ; Written by Joost Verburg
286 ; ------------------------
289 ; LOCALFILE - Location of the new DLL file (on the compiler system)
290 ; DESTFILE - Location of the DLL file that should be upgraded
291 ; (on the user's system)
292 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
293 ; when the system has to be rebooted.
294 ; For Win9x support, this should be on the same volume as the
296 ; The Windows temp directory could be located on any volume,
297 ; so you cannot use this directory.
299 ; Define UPGRADEDLL_NOREGISTER if you want to upgrade a DLL that does not
300 ; have to be registered.
302 ; Note: If you want to support Win9x, you can only use
303 ; short filenames (8.3).
306 ; !insertmacro UpgradeDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
309 !macro UpgradeDLL LOCALFILE DESTFILE TEMPBASEDIR
318 ;------------------------
319 ;Unique number for labels
321 !define UPGRADEDLL_UNIQUE ${__LINE__}
323 ;------------------------
324 ;Copy the parameters used on run-time to a variable
325 ;This allows the usage of variables as paramter
327 StrCpy $R4 "${DESTFILE}"
328 StrCpy $R5 "${TEMPBASEDIR}"
330 ;------------------------
331 ;Check file and version
333 IfFileExists $R4 0 upgradedll.copy_${UPGRADEDLL_UNIQUE}
336 GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
337 GetDLLVersion $R4 $R2 $R3
338 IfErrors upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
340 IntCmpU $R0 $R2 0 upgradedll.done_${UPGRADEDLL_UNIQUE} \
341 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
342 IntCmpU $R1 $R3 upgradedll.done_${UPGRADEDLL_UNIQUE} \
343 upgradedll.done_${UPGRADEDLL_UNIQUE} \
344 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
346 ;------------------------
347 ;Let's upgrade the DLL!
351 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}:
352 !ifndef UPGRADEDLL_NOREGISTER
357 ;------------------------
358 ;Try to copy the DLL directly
362 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
363 IfErrors 0 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}
365 ;------------------------
366 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
368 GetTempFileName $R0 $R5
369 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
370 Rename /REBOOTOK $R0 $R4
372 ;------------------------
373 ;Register the DLL on reboot
375 !ifndef UPGRADEDLL_NOREGISTER
376 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
377 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
380 Goto upgradedll.done_${UPGRADEDLL_UNIQUE}
382 ;------------------------
383 ;DLL does not exist - just extract
385 upgradedll.copy_${UPGRADEDLL_UNIQUE}:
387 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
389 ;------------------------
392 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}:
393 !ifndef UPGRADEDLL_NOREGISTER
397 ;------------------------
400 upgradedll.done_${UPGRADEDLL_UNIQUE}:
409 ;------------------------
412 Goto upgradedll.end_${UPGRADEDLL_UNIQUE}
414 ;------------------------
415 ;Called to extract the DLL
417 upgradedll.file_${UPGRADEDLL_UNIQUE}:
418 File /oname=$R0 "${LOCALFILE}"
421 upgradedll.end_${UPGRADEDLL_UNIQUE}:
423 ;------------------------
426 SetOverwrite lastused
428 !undef UPGRADEDLL_UNIQUE
433 ;--------------------------------
436 ;Things that need to be extracted on first (keep these lines before any File command!)
437 ;Only useful for BZIP2 compression
438 !insertmacro MUI_RESERVEFILE_LANGDLL
440 ;--------------------------------
450 ;--------------------------------
453 ;----------------------
455 Section "AFS Client" secClient
457 SetShellVarContext all
459 ; Check for bad previous installation (if we are doing a new install)
460 Call IsAnyAFSInstalled
462 StrCmp $R0 "0" +1 skipCheck
466 ; Stop any running services or we can't replace the files
467 ; Stop the running processes
469 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
470 nsExec::Exec '$R0 afscreds.exe'
471 Exec "afscreds.exe -z"
472 ; in case we are upgrading an old version that does not support -z
473 nsExec::Exec '$R0 afscreds.exe'
475 ;nsExec::Exec '$R0 krbcc32s.exe'
478 nsExec::Exec "net stop TransarcAFSDaemon"
479 nsExec::Exec "net stop TransarcAFSServer"
481 ; Do client components
482 SetOutPath "$INSTDIR\Client\Program"
483 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
484 !define UPGRADEDLL_NOREGISTER
485 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
486 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
487 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
488 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
489 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
490 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
491 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
492 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
493 File "${AFS_BUILD_INCDIR}\afs\auth.h"
494 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
495 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
496 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
497 File "${AFS_DESTDIR}\bin\kpasswd.exe"
498 File "${AFS_SERVER_BUILDDIR}\pts.exe"
499 File "${AFS_SERVER_BUILDDIR}\bos.exe"
500 File "${AFS_SERVER_BUILDDIR}\kas.exe"
501 File "${AFS_SERVER_BUILDDIR}\vos.exe"
502 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
503 File "${AFS_DESTDIR}\bin\translate_et.exe"
504 File "${AFS_DESTDIR}\etc\rxdebug.exe"
505 File "${AFS_DESTDIR}\etc\backup.exe"
508 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
509 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
510 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
511 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
512 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
513 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
514 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
515 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
516 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
517 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
518 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
519 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
520 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
521 ;File "${AFS_SERVER_BUILDDIR}\pts.pdb"
522 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
523 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
524 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
525 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
526 File "${AFS_DESTDIR}\bin\translate_et.pdb"
527 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
528 File "${AFS_DESTDIR}\etc\backup.pdb"
536 ; Do WINDOWSDIR components
538 ; Do Windows SYSDIR (Control panel)
540 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
542 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
545 ; Get AFS CellServDB file
546 Call afs.GetCellServDB
547 !ifdef INSTALL_LOOPBACK
548 Call afs.InstallMSLoopback
552 ; Include Kerberos for Windows files in the installer...
553 SetOutPath "$INSTDIR\kfw\bin\"
554 File "${KFW_SOURCE}\bin\*"
555 SetOutPath "$INSTDIR\kfw\doc"
556 File "${KFW_SOURCE}\doc\*"
559 ;Store install folder
560 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
561 Call AFSCommon.Install
563 ; Write registry entries
564 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
565 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
566 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
567 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
568 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
569 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
572 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
573 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
574 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
575 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
576 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
577 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
578 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
579 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
580 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
581 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
582 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
583 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
585 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
586 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
587 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
588 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
590 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
591 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
593 ; Delete the DEBUG string
594 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
595 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
598 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
599 Call GetWindowsVersion
601 StrCmp $R1 "2000" +1 +2
602 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
604 ;Write start menu entries
605 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
606 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
607 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
608 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
610 Push "$INSTDIR\Client\Program"
612 Push "$INSTDIR\Common"
616 ; Add kfw to path too
617 Push "$INSTDIR\kfw\bin"
621 ; Create the AFS service
622 SetOutPath "$INSTDIR\Common"
623 File "${AFS_WININSTALL_DIR}\Service.exe"
624 nsExec::Exec "net stop TransarcAFSDaemon"
625 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
626 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
628 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
629 StrCmp $R2 "" +1 skipremove
630 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
631 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
633 Delete "$INSTDIR\Common\service.exe"
636 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
637 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
638 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
639 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
640 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
641 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
643 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
644 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
645 ; to also include the service name.
647 ReadINIStr $R0 $1 "Field 7" "State"
648 ReadINIStr $R1 $1 "Field 9" "State"
649 ; Complicated way to do $R1 = ($R1 *2) + $R0
652 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R1
653 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x"
654 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
657 ReadINIStr $R0 $1 "Field 2" "State"
658 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
659 ReadINIStr $R0 $1 "Field 3" "State"
660 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
661 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
662 ReadINIStr $R0 $1 "Field 5" "State"
663 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
664 ReadINIStr $R0 $1 "Field 11" "State"
665 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
666 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
667 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
668 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
669 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
670 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
671 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "TruncateNetbios" "on"
673 ; Find Lana By Name appears to be causing grief for many people
674 ; I do not have time to track this down so I am simply going to disable it
675 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
677 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
678 strcpy $REG_VALUE "DependOnGroup"
679 strcpy $REG_DATA_1 "PNP_TDI"
680 strcpy $REG_DATA_2 ""
681 strcpy $REG_DATA_3 ""
682 Call RegWriteMultiStr
683 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
684 strcpy $REG_VALUE "DependOnService"
685 strcpy $REG_DATA_1 "Tcpip"
686 strcpy $REG_DATA_2 "NETBIOS"
687 strcpy $REG_DATA_3 "RpcSs"
688 Call RegWriteMultiStr
692 WriteUninstaller "$INSTDIR\Uninstall.exe"
696 ;------------------------
698 Section "AFS Server" secServer
700 SetShellVarContext all
702 ; Check for bad previous installation (if we are doing a new install)
703 Call IsAnyAFSInstalled
705 StrCmp $R0 "0" +1 skipCheck
709 ; Stop any running services or we can't replace the files
710 ; Stop the running processes
712 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
713 nsExec::Exec '$R0 afscreds.exe'
714 Exec "afscreds.exe -z"
715 ; in case we are upgrading an old version that does not support -z
717 nsExec::Exec '$R0 afscreds.exe'
719 ;nsExec::Exec '$R0 krbcc32s.exe'
722 nsExec::Exec "net stop TransarcAFSDaemon"
723 nsExec::Exec "net stop TransarcAFSServer"
725 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
726 CreateDirectory "$INSTDIR\Server\usr\afs\local"
727 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
729 SetOutPath "$INSTDIR\Server\usr\afs\bin"
730 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
731 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
732 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
733 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
734 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
735 File "${AFS_ETC_BUILDDIR}\butc.exe"
736 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
737 File "${AFS_ETC_BUILDDIR}\fms.exe"
738 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
739 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
740 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
741 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
742 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
743 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
744 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
745 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
748 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
749 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
750 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
751 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
752 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
753 File "${AFS_ETC_BUILDDIR}\butc.pdb"
754 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
755 File "${AFS_ETC_BUILDDIR}\fms.pdb"
756 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
757 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
758 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
759 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
760 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
761 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
762 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
763 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
766 ;AFS Server common files
767 SetOutPath "$INSTDIR\Common"
768 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
769 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
770 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
771 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
772 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
775 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
776 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
777 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
778 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
779 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
781 SetOutPath "$INSTDIR\Common"
785 File "${AFS_SERVER_BUILDDIR}\afsserver.cpl"
788 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
791 ;Store install folder
792 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
794 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
795 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
796 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
797 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
798 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
799 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
800 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
801 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
802 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
803 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
804 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
805 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
806 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
807 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
808 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
809 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
810 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
812 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
813 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
815 ; Delete the DEBUG string
816 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
817 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
819 ; Install the service
820 SetOutPath "$INSTDIR\Common"
821 File "${AFS_WININSTALL_DIR}\Service.exe"
823 File "${AFS_WININSTALL_DIR}\Service.pdb"
825 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
826 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
827 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
828 Delete "$INSTDIR\Common\service.exe"
830 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
831 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
833 ; Make the server config wizard auto-start on bootup
834 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
836 WriteUninstaller "$INSTDIR\Uninstall.exe"
841 ;----------------------------
842 ; OpenAFS Control Center
843 Section "AFS Control Center" secControl
845 SetShellVarContext all
847 SetOutPath "$INSTDIR\Control Center"
848 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
849 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
850 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
853 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
854 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
855 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
858 ;AFS Server common files
859 Call AFSCommon.Install
861 SetOutPath "$INSTDIR\Common"
863 SetOutPath "$INSTDIR\Common"
866 File "${SYSTEMDIR}\msvcr71d.dll"
867 File "${SYSTEMDIR}\msvcr71d.pdb"
868 File "${SYSTEMDIR}\msvcp71d.dll"
869 File "${SYSTEMDIR}\msvcp71d.pdb"
870 File "${SYSTEMDIR}\mfc71d.dll"
871 File "${SYSTEMDIR}\mfc71d.pdb"
872 File "${SYSTEMDIR}\MFC71CHS.DLL"
873 File "${SYSTEMDIR}\MFC71CHT.DLL"
874 File "${SYSTEMDIR}\MFC71DEU.DLL"
875 File "${SYSTEMDIR}\MFC71ENU.DLL"
876 File "${SYSTEMDIR}\MFC71ESP.DLL"
877 File "${SYSTEMDIR}\MFC71FRA.DLL"
878 File "${SYSTEMDIR}\MFC71ITA.DLL"
879 File "${SYSTEMDIR}\MFC71JPN.DLL"
880 File "${SYSTEMDIR}\MFC71KOR.DLL"
883 File "${SYSTEMDIR}\msvcr70d.dll"
884 File "${SYSTEMDIR}\msvcr70d.pdb"
885 File "${SYSTEMDIR}\msvcp70d.dll"
886 File "${SYSTEMDIR}\msvcp70d.pdb"
887 File "${SYSTEMDIR}\mfc70d.dll"
888 File "${SYSTEMDIR}\mfc70d.pdb"
889 File "${SYSTEMDIR}\MFC70CHS.DLL"
890 File "${SYSTEMDIR}\MFC70CHT.DLL"
891 File "${SYSTEMDIR}\MFC70DEU.DLL"
892 File "${SYSTEMDIR}\MFC70ENU.DLL"
893 File "${SYSTEMDIR}\MFC70ESP.DLL"
894 File "${SYSTEMDIR}\MFC70FRA.DLL"
895 File "${SYSTEMDIR}\MFC70ITA.DLL"
896 File "${SYSTEMDIR}\MFC70JPN.DLL"
897 File "${SYSTEMDIR}\MFC70KOR.DLL"
899 File "${SYSTEMDIR}\mfc42d.dll"
900 File "${SYSTEMDIR}\mfc42d.pdb"
901 File "${SYSTEMDIR}\msvcp60d.dll"
902 File "${SYSTEMDIR}\msvcp60d.pdb"
903 File "${SYSTEMDIR}\msvcrtd.dll"
904 File "${SYSTEMDIR}\msvcrtd.pdb"
909 File "${SYSTEMDIR}\mfc71.dll"
910 File "${SYSTEMDIR}\msvcr71.dll"
911 File "${SYSTEMDIR}\msvcp71.dll"
912 File "${SYSTEMDIR}\MFC71CHS.DLL"
913 File "${SYSTEMDIR}\MFC71CHT.DLL"
914 File "${SYSTEMDIR}\MFC71DEU.DLL"
915 File "${SYSTEMDIR}\MFC71ENU.DLL"
916 File "${SYSTEMDIR}\MFC71ESP.DLL"
917 File "${SYSTEMDIR}\MFC71FRA.DLL"
918 File "${SYSTEMDIR}\MFC71ITA.DLL"
919 File "${SYSTEMDIR}\MFC71JPN.DLL"
920 File "${SYSTEMDIR}\MFC71KOR.DLL"
923 File "${SYSTEMDIR}\mfc70.dll"
924 File "${SYSTEMDIR}\msvcr70.dll"
925 File "${SYSTEMDIR}\msvcp70.dll"
926 File "${SYSTEMDIR}\MFC70CHS.DLL"
927 File "${SYSTEMDIR}\MFC70CHT.DLL"
928 File "${SYSTEMDIR}\MFC70DEU.DLL"
929 File "${SYSTEMDIR}\MFC70ENU.DLL"
930 File "${SYSTEMDIR}\MFC70ESP.DLL"
931 File "${SYSTEMDIR}\MFC70FRA.DLL"
932 File "${SYSTEMDIR}\MFC70ITA.DLL"
933 File "${SYSTEMDIR}\MFC70JPN.DLL"
934 File "${SYSTEMDIR}\MFC70KOR.DLL"
936 File "${SYSTEMDIR}\mfc42.dll"
937 File "${SYSTEMDIR}\msvcp60.dll"
938 File "${SYSTEMDIR}\msvcrt.dll"
942 ;Store install folder
943 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
944 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
945 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
946 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
947 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
948 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
949 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
950 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
951 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
953 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
954 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
956 ; Delete the DEBUG string
957 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
958 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
961 ;Write start menu entries
962 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
963 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
964 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
966 WriteUninstaller "$INSTDIR\Uninstall.exe"
971 ;----------------------------
972 ; OpenAFS Supplemental Documentation
973 Section "Supplemental Documentation" secDocs
974 SetShellVarContext all
976 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
977 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
978 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
979 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
980 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
981 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
982 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
983 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
987 SetOutPath "$INSTDIR\Documentation\html"
988 File "..\..\doc\install\Documentation\en_US\html\*"
989 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
990 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
991 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
992 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
993 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
994 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
995 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
996 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
1000 SetOutPath "$INSTDIR\Documentation"
1001 File "..\..\doc\install\Documentation\de_DE\README.TXT"
1002 SetOutPath "$INSTDIR\Documentation\html"
1003 File "..\..\doc\install\Documentation\de_DE\html\*"
1004 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1005 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
1006 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1007 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
1008 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1009 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
1010 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1011 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
1015 SetOutPath "$INSTDIR\Documentation"
1016 File "..\..\doc\install\Documentation\es_ES\README.TXT"
1017 SetOutPath "$INSTDIR\Documentation\html"
1018 File "..\..\doc\install\Documentation\es_ES\html\*"
1019 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1020 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
1021 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1022 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
1023 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1024 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
1025 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1026 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
1030 SetOutPath "$INSTDIR\Documentation"
1031 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
1032 SetOutPath "$INSTDIR\Documentation\html"
1033 File "..\..\doc\install\Documentation\ja_JP\html\*"
1034 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1035 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
1036 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1037 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
1038 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1039 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
1040 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1041 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
1045 SetOutPath "$INSTDIR\Documentation"
1046 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
1047 SetOutPath "$INSTDIR\Documentation\html"
1048 File "..\..\doc\install\Documentation\ko_KR\html\*"
1049 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1050 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1051 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1052 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
1053 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1054 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
1055 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1056 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1060 SetOutPath "$INSTDIR\Documentation"
1061 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1062 SetOutPath "$INSTDIR\Documentation\html"
1063 File "..\..\doc\install\Documentation\pt_BR\html\*"
1064 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1065 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1066 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1067 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1068 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1069 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1070 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1071 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1075 SetOutPath "$INSTDIR\Documentation"
1076 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1077 SetOutPath "$INSTDIR\Documentation\html"
1078 File "..\..\doc\install\Documentation\zh_CN\html\*"
1079 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1080 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1081 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1082 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1083 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1084 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1085 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1086 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1090 SetOutPath "$INSTDIR\Documentation"
1091 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1092 SetOutPath "$INSTDIR\Documentation\html"
1093 File "..\..\doc\install\Documentation\zh_TW\html\*"
1094 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1095 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1096 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1097 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1098 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1099 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1100 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1101 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1106 ;Store install folder
1107 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1108 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1109 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1110 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1111 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1112 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1113 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1114 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1115 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1117 ; Write start menu shortcut
1118 SetOutPath "$SMPROGRAMS\OpenAFS"
1119 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1122 WriteUninstaller "$INSTDIR\Uninstall.exe"
1123 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1124 Call AFSCommon.Install
1128 Section "Software Development Kit (SDK)" secSDK
1130 SetOutPath "$INSTDIR\Client\Program\lib"
1131 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1133 SetOutPath "$INSTDIR\Client\Program\Include"
1134 File /r "${AFS_BUILD_INCDIR}\*.*"
1137 SetOutPath "$INSTDIR\Client\Program\Sample"
1138 File "..\..\afsd\sample\token.c"
1140 ;Store install folder
1141 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1142 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1143 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1144 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1145 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1146 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1147 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1148 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1149 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1151 WriteUninstaller "$INSTDIR\Uninstall.exe"
1152 SetOutPath "$SMPROGRAMS\OpenAFS"
1153 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1155 Call AFSCommon.Install
1158 ;Display the Finish header
1159 ;Insert this macro after the sections if you are not using a finish page
1160 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1162 ;--------------------------------
1163 ;Installer Functions
1167 !insertmacro MUI_LANGDLL_DISPLAY
1169 ; Set the default install options
1174 StrCmp $R0 "true" contInstall
1176 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1180 ; Our logic should be like this.
1181 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1182 ; 2) If existing modules are installed, we keep them selected
1183 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1185 Call IsAnyAFSInstalled
1187 StrCmp $R0 "0" DefaultOptions
1189 Call ShouldClientInstall
1192 ; Check if it was an IBM/Transarc version
1193 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1194 StrCmp $R0 "IBM AFS Client" DoIBM
1195 StrCmp $R0 "Transarc AFS Client" DoIBM
1198 StrCmp $R2 "0" NoClient
1199 StrCmp $R2 "1" ReinstallClient
1200 StrCmp $R2 "2" UpgradeClient
1201 StrCmp $R2 "3" DowngradeClient
1204 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1205 StrCmp $R0 "3" +1 NotIBM
1210 SectionGetFlags ${secClient} $0
1211 IntOp $0 $0 | ${SF_SELECTED}
1212 SectionSetFlags ${secClient} $0
1213 ;# !insertmacro SelectSection ${secClient}
1216 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1217 SectionGetFlags ${secClient} $0
1218 IntOp $0 $0 & ${SECTION_OFF}
1219 SectionSetFlags ${secClient} $0
1222 SectionGetFlags ${secClient} $0
1223 IntOp $0 $0 | ${SF_SELECTED}
1224 SectionSetFlags ${secClient} $0
1225 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1228 SectionGetFlags ${secClient} $0
1229 IntOp $0 $0 | ${SF_SELECTED}
1230 SectionSetFlags ${secClient} $0
1231 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1234 SectionGetFlags ${secClient} $0
1235 IntOp $0 $0 | ${SF_SELECTED}
1236 SectionSetFlags ${secClient} $0
1237 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1243 Call ShouldServerInstall
1245 StrCmp $R2 "0" NoServer
1246 StrCmp $R2 "1" ReinstallServer
1247 StrCmp $R2 "2" UpgradeServer
1248 StrCmp $R2 "3" DowngradeServer
1250 SectionGetFlags ${secServer} $0
1251 IntOp $0 $0 | ${SF_SELECTED}
1252 SectionSetFlags ${secServer} $0
1253 ;# !insertmacro UnselectSection ${secServer}
1257 SectionGetFlags ${secServer} $0
1258 IntOp $0 $0 | ${SF_SELECTED}
1259 SectionSetFlags ${secServer} $0
1260 SectionSetText ${secServer} $(UPGRADE_SERVER)
1264 SectionGetFlags ${secServer} $0
1265 IntOp $0 $0 | ${SF_SELECTED}
1266 SectionSetFlags ${secServer} $0
1267 SectionSetText ${secServer} $(REINSTALL_SERVER)
1271 SectionGetFlags ${secServer} $0
1272 IntOp $0 $0 | ${SF_SELECTED}
1273 SectionSetFlags ${secServer} $0
1274 SectionSetText ${secServer} $(REINSTALL_SERVER)
1278 SectionGetFlags ${secServer} $0
1279 IntOp $0 $0 & ${SECTION_OFF}
1280 SectionSetFlags ${secServer} $0
1281 ;# !insertmacro UnselectSection ${secServer}
1285 ; Check control center
1286 Call IsControlInstalled
1288 StrCmp $R2 "0" NoControl
1290 SectionGetFlags ${secControl} $0
1291 IntOp $0 $0 | ${SF_SELECTED}
1292 SectionSetFlags ${secControl} $0
1296 SectionGetFlags ${secControl} $0
1297 IntOp $0 $0 & ${SECTION_OFF}
1298 SectionSetFlags ${secControl} $0
1299 ;# !insertmacro UnselectSection ${secControl}
1302 ; Check Documentation
1303 Call IsDocumentationInstalled
1305 StrCmp $R2 "0" NoDocs
1306 SectionGetFlags ${secDocs} $0
1307 IntOp $0 $0 | ${SF_SELECTED}
1308 SectionSetFlags ${secDocs} $0
1312 SectionGetFlags ${secDocs} $0
1313 IntOp $0 $0 & ${SECTION_OFF}
1314 SectionSetFlags ${secDocs} $0
1317 ; To check the SDK, we simply look to see if the files exist. If they do,
1318 ; the SDK is installed. If not, we don't need to push it on the user.
1319 ; If they are there, we want to make sure they match the installed version.
1321 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1322 SectionGetFlags ${secSDK} $0
1323 IntOp $0 $0 | ${SF_SELECTED}
1324 SectionSetFlags ${secSDK} $0
1328 SectionGetFlags ${secSDK} $0
1329 IntOp $0 $0 & ${SECTION_OFF}
1330 SectionSetFlags ${secSDK} $0
1335 SectionGetFlags ${secClient} $0
1336 IntOp $0 $0 | ${SF_SELECTED}
1337 SectionSetFlags ${secClient} $0
1339 ; Server NOT selected
1340 SectionGetFlags ${secServer} $0
1341 IntOp $0 $0 & ${SECTION_OFF}
1342 SectionSetFlags ${secServer} $0
1344 ; Control Center NOT selected
1345 SectionGetFlags ${secControl} $0
1346 IntOp $0 $0 & ${SECTION_OFF}
1347 SectionSetFlags ${secControl} $0
1348 ;# !insertmacro UnselectSection ${secControl}
1350 ; Documentation selected
1351 SectionGetFlags ${secDocs} $0
1352 IntOp $0 $0 | ${SF_SELECTED}
1353 SectionSetFlags ${secDocs} $0
1354 ;# !insertmacro UnselectSection ${secDocs}
1357 SectionGetFlags ${secSDK} $0
1358 IntOp $0 $0 & ${SECTION_OFF}
1359 SectionSetFlags ${secSDK} $0
1360 ;# !insertmacro UnselectSection ${secSDK}
1369 ; See if we can set a default installation path...
1370 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1371 StrCmp $R0 "" TryServer
1375 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1376 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1377 StrCmp $R0 "1" +1 SkipParent
1378 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1379 StrCmp $R0 "3" +1 SkipParent
1380 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1381 StrCmp $R0 "5000" UpParent
1382 StrCmp $R0 "5100" UpParent
1383 StrCmp $R0 "5200" UpParent
1384 StrCmp $R0 "5201" UpParent
1385 StrCmp $R0 "5299" UpParent
1397 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1398 StrCmp $R0 "" TryControl
1406 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1414 File /oname=$0 CellServPage.ini
1416 File /oname=$1 AFSCell.ini
1417 ;File /oname=$1 ConfigURL.ini
1425 ;--------------------------------
1426 ; These are our cleanup functions
1427 Function .onInstFailed
1432 Function .onInstSuccess
1438 ;--------------------------------
1441 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1442 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1443 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1444 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1445 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1446 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1447 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1449 ;--------------------------------
1450 ;Uninstaller Section
1453 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1454 IfSilent StartRemove ; New in v2.0b4
1455 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1460 SetShellVarContext all
1461 ; Stop the running processes
1463 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1464 nsExec::Exec '$R0 afscreds.exe'
1465 Exec "afscreds.exe -z"
1466 ; in case we are upgrading an old version that does not support -z
1468 nsExec::Exec '$R0 afscreds.exe'
1470 nsExec::Exec '$R0 krbcc32s.exe'
1473 ; Delete the AFS service
1475 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1476 nsExec::Exec "net stop TransarcAFSDaemon"
1477 nsExec::Exec "net stop TransarcAFSServer"
1478 nsExec::Exec '$R0 u TransarcAFSDaemon'
1479 ; After we stop the service, but before we delete it, we have to remove the volume data
1480 ; This is because the storage locations are in the registry under the service key.
1481 ; Call un.RemoveAFSVolumes
1482 nsExec::Exec '$R0 u TransarcAFSServer'
1485 Call un.RemoveProvider
1487 Push "$INSTDIR\Client\Program"
1488 Call un.RemoveFromPath
1489 Push "$INSTDIR\Common"
1490 Call un.RemoveFromPath
1492 Push "$INSTDIR\kfw\bin"
1493 Call un.RemoveFromPath
1496 ; Delete documentation
1497 Delete "$INSTDIR\Documentation\README.TXT"
1498 Delete "$INSTDIR\Documentation\html\*"
1499 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1500 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1501 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1502 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1504 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1505 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1506 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1507 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1508 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1509 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1510 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1511 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1512 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1513 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1514 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1515 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1516 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1517 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1518 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1521 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1522 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1523 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1524 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1525 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1526 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1527 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1528 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1529 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1530 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1531 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1532 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1533 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1534 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1535 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1538 File "${SYSTEMDIR}\msvcr71d.dll"
1539 File "${SYSTEMDIR}\msvcr71d.pdb"
1540 File "${SYSTEMDIR}\msvcp71d.dll"
1541 File "${SYSTEMDIR}\msvcp71d.pdb"
1542 File "${SYSTEMDIR}\mfc71d.dll"
1543 File "${SYSTEMDIR}\mfc71d.pdb"
1544 File "${SYSTEMDIR}\MFC71CHS.DLL"
1545 File "${SYSTEMDIR}\MFC71CHT.DLL"
1546 File "${SYSTEMDIR}\MFC71DEU.DLL"
1547 File "${SYSTEMDIR}\MFC71ENU.DLL"
1548 File "${SYSTEMDIR}\MFC71ESP.DLL"
1549 File "${SYSTEMDIR}\MFC71FRA.DLL"
1550 File "${SYSTEMDIR}\MFC71ITA.DLL"
1551 File "${SYSTEMDIR}\MFC71JPN.DLL"
1552 File "${SYSTEMDIR}\MFC71KOR.DLL"
1555 File "${SYSTEMDIR}\msvcr70d.dll"
1556 File "${SYSTEMDIR}\msvcr70d.pdb"
1557 File "${SYSTEMDIR}\msvcp70d.dll"
1558 File "${SYSTEMDIR}\msvcp70d.pdb"
1559 File "${SYSTEMDIR}\mfc70d.dll"
1560 File "${SYSTEMDIR}\mfc70d.pdb"
1561 File "${SYSTEMDIR}\MFC70CHS.DLL"
1562 File "${SYSTEMDIR}\MFC70CHT.DLL"
1563 File "${SYSTEMDIR}\MFC70DEU.DLL"
1564 File "${SYSTEMDIR}\MFC70ENU.DLL"
1565 File "${SYSTEMDIR}\MFC70ESP.DLL"
1566 File "${SYSTEMDIR}\MFC70FRA.DLL"
1567 File "${SYSTEMDIR}\MFC70ITA.DLL"
1568 File "${SYSTEMDIR}\MFC70JPN.DLL"
1569 File "${SYSTEMDIR}\MFC70KOR.DLL"
1571 File "${SYSTEMDIR}\mfc42d.dll"
1572 File "${SYSTEMDIR}\mfc42d.pdb"
1573 File "${SYSTEMDIR}\msvcp60d.dll"
1574 File "${SYSTEMDIR}\msvcp60d.pdb"
1575 File "${SYSTEMDIR}\msvcrtd.dll"
1576 File "${SYSTEMDIR}\msvcrtd.pdb"
1581 File "${SYSTEMDIR}\mfc71.dll"
1582 File "${SYSTEMDIR}\msvcr71.dll"
1583 File "${SYSTEMDIR}\msvcp71.dll"
1584 File "${SYSTEMDIR}\MFC71CHS.DLL"
1585 File "${SYSTEMDIR}\MFC71CHT.DLL"
1586 File "${SYSTEMDIR}\MFC71DEU.DLL"
1587 File "${SYSTEMDIR}\MFC71ENU.DLL"
1588 File "${SYSTEMDIR}\MFC71ESP.DLL"
1589 File "${SYSTEMDIR}\MFC71FRA.DLL"
1590 File "${SYSTEMDIR}\MFC71ITA.DLL"
1591 File "${SYSTEMDIR}\MFC71JPN.DLL"
1592 File "${SYSTEMDIR}\MFC71KOR.DLL"
1595 File "${SYSTEMDIR}\mfc70.dll"
1596 File "${SYSTEMDIR}\msvcr70.dll"
1597 File "${SYSTEMDIR}\msvcp70.dll"
1598 File "${SYSTEMDIR}\MFC70CHS.DLL"
1599 File "${SYSTEMDIR}\MFC70CHT.DLL"
1600 File "${SYSTEMDIR}\MFC70DEU.DLL"
1601 File "${SYSTEMDIR}\MFC70ENU.DLL"
1602 File "${SYSTEMDIR}\MFC70ESP.DLL"
1603 File "${SYSTEMDIR}\MFC70FRA.DLL"
1604 File "${SYSTEMDIR}\MFC70ITA.DLL"
1605 File "${SYSTEMDIR}\MFC70JPN.DLL"
1606 File "${SYSTEMDIR}\MFC70KOR.DLL"
1608 File "${SYSTEMDIR}\mfc42.dll"
1609 File "${SYSTEMDIR}\msvcp60.dll"
1610 File "${SYSTEMDIR}\msvcrt.dll"
1616 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1618 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1620 Delete "$WINDIR\afsdcell.ini"
1622 Delete "$WINDIR\afsdsbmt.ini"
1623 ; Only remove krb5.ini if KfW was installed
1625 Delete "$WINDIR\krb5.ini"
1627 Delete "$WINDIR\afsdns.ini"
1628 Delete "$WINDIR\afs_freelance.ini"
1631 Delete "$WINDIR\afsd_init.log"
1632 Delete "$INSTDIR\Uninstall.exe"
1635 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1636 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1637 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1638 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1639 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1640 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1641 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1642 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1643 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1644 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1645 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1646 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1647 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1648 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1649 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1650 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1651 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1654 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1655 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1656 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1657 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1658 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1659 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1660 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1661 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1662 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1663 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1664 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1665 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1666 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1667 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1668 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1669 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1670 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1673 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1674 RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1675 RmDir /r "$INSTDIR\Server\usr\afs\etc"
1676 RmDir /r "$INSTDIR\Server\usr\afs\local"
1677 RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1679 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1680 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1683 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1684 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1687 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1688 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1689 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1690 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1691 RMDIr /r "$INSTDIR\Documentation\html"
1693 RMDir "$INSTDIR\Documentation"
1694 ; Delete DOC short cut
1695 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1698 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1701 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1702 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1703 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1704 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1705 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1706 RMDir "$INSTDIR\Client\Program\Sample"
1707 RMDir "$INSTDIR\Client\Program\Include\afs"
1708 RMDir "$INSTDIR\Client\Program\Include\rx"
1709 RMDir "$INSTDIR\Client\Program\Include"
1710 RMDir "$INSTDIR\Client\Program"
1711 RMDir "$INSTDIR\Client"
1715 File "${SYSTEMDIR}\msvcr71d.dll"
1716 File "${SYSTEMDIR}\msvcr71d.pdb"
1717 File "${SYSTEMDIR}\msvcp71d.dll"
1718 File "${SYSTEMDIR}\msvcp71d.pdb"
1719 File "${SYSTEMDIR}\mfc71d.dll"
1720 File "${SYSTEMDIR}\mfc71d.pdb"
1721 File "${SYSTEMDIR}\MFC71CHS.DLL"
1722 File "${SYSTEMDIR}\MFC71CHT.DLL"
1723 File "${SYSTEMDIR}\MFC71DEU.DLL"
1724 File "${SYSTEMDIR}\MFC71ENU.DLL"
1725 File "${SYSTEMDIR}\MFC71ESP.DLL"
1726 File "${SYSTEMDIR}\MFC71FRA.DLL"
1727 File "${SYSTEMDIR}\MFC71ITA.DLL"
1728 File "${SYSTEMDIR}\MFC71JPN.DLL"
1729 File "${SYSTEMDIR}\MFC71KOR.DLL"
1732 File "${SYSTEMDIR}\msvcr70d.dll"
1733 File "${SYSTEMDIR}\msvcr70d.pdb"
1734 File "${SYSTEMDIR}\msvcp70d.dll"
1735 File "${SYSTEMDIR}\msvcp70d.pdb"
1736 File "${SYSTEMDIR}\mfc70d.dll"
1737 File "${SYSTEMDIR}\mfc70d.pdb"
1738 File "${SYSTEMDIR}\MFC70CHS.DLL"
1739 File "${SYSTEMDIR}\MFC70CHT.DLL"
1740 File "${SYSTEMDIR}\MFC70DEU.DLL"
1741 File "${SYSTEMDIR}\MFC70ENU.DLL"
1742 File "${SYSTEMDIR}\MFC70ESP.DLL"
1743 File "${SYSTEMDIR}\MFC70FRA.DLL"
1744 File "${SYSTEMDIR}\MFC70ITA.DLL"
1745 File "${SYSTEMDIR}\MFC70JPN.DLL"
1746 File "${SYSTEMDIR}\MFC70KOR.DLL"
1748 File "${SYSTEMDIR}\mfc42d.dll"
1749 File "${SYSTEMDIR}\mfc42d.pdb"
1750 File "${SYSTEMDIR}\msvcp60d.dll"
1751 File "${SYSTEMDIR}\msvcp60d.pdb"
1752 File "${SYSTEMDIR}\msvcrtd.dll"
1753 File "${SYSTEMDIR}\msvcrtd.pdb"
1758 File "${SYSTEMDIR}\mfc71.dll"
1759 File "${SYSTEMDIR}\msvcr71.dll"
1760 File "${SYSTEMDIR}\msvcp71.dll"
1761 File "${SYSTEMDIR}\MFC71CHS.DLL"
1762 File "${SYSTEMDIR}\MFC71CHT.DLL"
1763 File "${SYSTEMDIR}\MFC71DEU.DLL"
1764 File "${SYSTEMDIR}\MFC71ENU.DLL"
1765 File "${SYSTEMDIR}\MFC71ESP.DLL"
1766 File "${SYSTEMDIR}\MFC71FRA.DLL"
1767 File "${SYSTEMDIR}\MFC71ITA.DLL"
1768 File "${SYSTEMDIR}\MFC71JPN.DLL"
1769 File "${SYSTEMDIR}\MFC71KOR.DLL"
1772 File "${SYSTEMDIR}\mfc70.dll"
1773 File "${SYSTEMDIR}\msvcr70.dll"
1774 File "${SYSTEMDIR}\msvcp70.dll"
1775 File "${SYSTEMDIR}\MFC70CHS.DLL"
1776 File "${SYSTEMDIR}\MFC70CHT.DLL"
1777 File "${SYSTEMDIR}\MFC70DEU.DLL"
1778 File "${SYSTEMDIR}\MFC70ENU.DLL"
1779 File "${SYSTEMDIR}\MFC70ESP.DLL"
1780 File "${SYSTEMDIR}\MFC70FRA.DLL"
1781 File "${SYSTEMDIR}\MFC70ITA.DLL"
1782 File "${SYSTEMDIR}\MFC70JPN.DLL"
1783 File "${SYSTEMDIR}\MFC70KOR.DLL"
1785 File "${SYSTEMDIR}\mfc42.dll"
1786 File "${SYSTEMDIR}\msvcp60.dll"
1787 File "${SYSTEMDIR}\msvcrt.dll"
1791 Delete /REBOOTOK "$INSTDIR\Common\*"
1792 RMDir "$INSTDIR\Common"
1796 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1797 RMDIR /r "$INSTDIR\kfw\bin"
1798 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1799 RMDIR /r "$INSTDIR\kfw\doc"
1800 RMDIR /r "$INSTDIR\kfw"
1803 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1805 ; Remove control center
1806 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1807 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1808 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1809 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1811 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1812 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1813 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1815 RMDir "$INSTDIR\Control Center"
1817 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1818 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1819 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1820 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1821 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1822 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1823 RMDir /r "$SMPROGRAMS\OpenAFS"
1824 Delete "$SMSTARTUP\AFS Credentials.lnk"
1826 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1828 Delete "$R0\AFSCache"
1829 Delete "C:\AFSCache"
1831 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1832 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1833 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1834 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1835 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1837 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1838 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1839 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1840 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1841 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1842 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1843 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1844 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1845 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1846 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1847 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1853 ;--------------------------------
1854 ;Uninstaller Functions
1858 ;Get language from registry
1859 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1863 Function un.onUninstSuccess
1865 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1869 ;------------------------------
1870 ; Get the CellServDB file from the Internet
1872 Function afs.GetCellServDB
1874 ;Check if we should download CellServDB
1875 ReadINIStr $R0 $0 "Field 4" "State"
1876 StrCmp $R0 "1" DoDownload
1878 ;Do nothing if we're keeping the existing file
1879 ReadINIStr $R0 $0 "Field 2" "State"
1882 ReadINIStr $R0 $0 "Field 6" "State"
1883 StrCmp $R0 "1" CheckOther
1885 ReadINIStr $R0 $0 "Field 3" "State"
1886 StrCmp $R0 "1" UsePackaged
1888 ; If none of these, grab file from other location
1892 ReadINIStr $R0 $0 "Field 5" "State"
1893 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
1894 Pop $R0 ;Get the return value
1895 StrCmp $R0 "success" +2
1896 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1900 SetOutPath "$WINDIR"
1905 ReadINIStr $R0 $0 "Field 7" "State"
1907 CopyFiles $R0 "$WINDIR\afsdcell.ini"
1913 Function AddProvider
1916 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1918 StrCpy $R0 "TransarcAFSDaemon"
1922 StrCmp $R0 "" +1 DoOther
1923 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1924 StrCpy $R0 "$R1,TransarcAFSDaemon"
1925 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1927 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1929 StrCpy $R0 "TransarcAFSDaemon"
1933 StrCmp $R0 "" +1 End
1934 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1935 StrCpy $R0 "$R1,TransarcAFSDaemon"
1936 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
1942 Function un.RemoveProvider
1944 StrCpy $R0 "TransarcAFSDaemon"
1946 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
1947 Call un.RemoveFromProvider
1948 StrCpy $R0 "TransarcAFSDaemon"
1950 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
1951 Call un.RemoveFromProvider
1955 Function un.RemoveFromProvider
1964 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
1965 StrCpy $5 $1 1 -1 # copy last char
1966 StrCmp $5 "," +2 # if last char != ,
1967 StrCpy $1 "$1," # append ,
1970 Call un.StrStr ; Find `$0,` in $1
1971 Pop $2 ; pos of our dir
1972 StrCmp $2 "" unRemoveFromPath_done
1973 ; else, it is in path
1978 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
1979 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
1982 StrCpy $5 $3 1 -1 # copy last char
1983 StrCmp $5 "," 0 +2 # if last char == ,
1984 StrCpy $3 $3 -1 # remove last char
1986 WriteRegStr HKLM "$R0" "ProviderOrder" $3
1988 unRemoveFromPath_done:
1998 Function CheckPathForAFS
2003 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2012 IfFileExists "$3\afsd_service.exe" Error
2013 StrCpy $1 $0 32768 1
2015 IntCmp $2 0 Done Done loop
2018 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."
2019 Abort "Unable to install OpenAFS"
2027 Function AddToUniquePath
2031 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2035 StrCmp $R0 "" +1 Done
2041 ;-------------------------------
2042 ;Do the page to get the CellServDB
2044 Function AFSPageGetCellServDB
2045 ; Skip this page if we are not installing the client
2046 SectionGetFlags ${secClient} $R0
2047 IntOp $R0 $R0 & ${SF_SELECTED}
2050 ; Set the install options here
2053 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2054 WriteINIStr $0 "Field 3" "State" "1"
2055 WriteINISTR $0 "Field 4" "State" "0"
2056 WriteINIStr $0 "Field 6" "State" "0"
2058 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
2059 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
2060 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2061 WriteINIStr $0 "Field 2" "State" "1"
2062 WriteINIStr $0 "Field 3" "State" "0"
2066 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2067 InstallOptions::dialog $0
2069 StrCmp $R1 "cancel" exit
2070 StrCmp $R1 "back" done
2071 StrCmp $R1 "success" done
2075 ; Check that if a file is set, a valid filename is entered...
2076 ReadINIStr $R0 $0 "Field 6" "State"
2077 StrCmp $R0 "1" CheckFileName
2079 ;Check if a URL is specified, one *IS* specified
2080 ReadINIStr $R0 $0 "Field 4" "State"
2081 StrCmp $R0 "1" CheckURL Skip
2084 ReadINIStr $R0 $0 "Field 5" "State"
2085 StrCmp $R0 "" +1 Skip
2086 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2087 WriteINIStr $0 "Field 4" "State" "0"
2091 ReadINIStr $R0 $0 "Field 7" "State"
2092 IfFileExists $R0 Skip
2094 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2095 WriteINIStr $0 "Field 6" "State" "0"
2103 Function AFSPageGetCellName
2105 ; Skip this page if we are not installing the client
2106 SectionGetFlags ${secClient} $R0
2107 IntOp $R0 $R0 & ${SF_SELECTED}
2111 ; If this is a server install, we do NOT want to recommend the Freelance client
2112 ; And we do not need to ask for the cell name.
2113 SectionGetFlags ${secServer} $R1
2114 IntOp $R1 $R1 & ${SF_SELECTED}
2115 StrCmp $R1 "1" +1 NotServer
2116 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2117 WriteINIStr $1 "Field 5" "State" "0"
2118 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2119 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2122 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2123 WriteINIStr $1 "Field 5" "State" "1"
2124 WriteINIStr $1 "Field 1" "Flags" ""
2125 WriteINIStr $1 "Field 2" "Flags" ""
2127 ; Get the current cell name, if any
2128 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2130 WriteINIStr $1 "Field 2" "State" $R1
2131 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2132 InstallOptions::dialog $1
2134 StrCmp $R1 "cancel" exit
2135 StrCmp $R1 "back" done
2136 StrCmp $R1 "success" done
2139 ReadINIStr $R0 $1 "Field 2" "State"
2140 StrCmp $R0 "" +1 good
2142 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2148 ; Common install routines for each module
2149 Function AFSCommon.Install
2151 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2152 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2154 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2156 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2158 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2163 ;-------------------
2164 ; Get the currently installed version and place it on the stack
2166 Function GetInstalledVersion
2171 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2172 StrCmp $R0 "" NotTransarc done
2176 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2185 ; Functions to get each component of the version number
2186 Function GetInstalledVersionMajor
2191 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2192 StrCmp $R0 "" NotTransarc done
2196 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2205 Function GetInstalledVersionMinor
2210 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2211 StrCmp $R0 "" NotTransarc done
2215 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2224 Function GetInstalledVersionPatch
2229 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2230 StrCmp $R0 "" NotTransarc done
2234 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2245 ;-------------------------------
2246 ; Check if the client should be checked for default install
2247 Function ShouldClientInstall
2249 StrCpy $R2 "AFS Client"
2250 Call GetInstalledVersion
2253 StrCmp $R0 "" NotInstalled
2254 ; Now we see if it's an older or newer version
2256 Call GetInstalledVersionMajor
2258 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2260 Call GetInstalledVersionMinor
2262 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2264 Call GetInstalledVersionPatch
2266 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2289 ;-------------------------------
2290 ; Check how the server options should be set
2291 Function ShouldServerInstall
2293 StrCpy $R2 "AFS Server"
2294 Call GetInstalledVersion
2297 StrCmp $R0 "" NotInstalled
2298 ; Now we see if it's an older or newer version
2300 Call GetInstalledVersionMajor
2302 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2304 Call GetInstalledVersionMinor
2306 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2308 Call GetInstalledVersionPatch
2310 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2335 ; See if AFS Server is installed
2336 ; Returns: "1" if it is, 0 if it is not (on the stack)
2337 Function IsServerInstalled
2339 StrCpy $R2 "AFS Server"
2340 Call GetInstalledVersion
2343 StrCmp $R0 "" NotInstalled
2356 ; See if AFS Client is installed
2357 ; Returns: "1" if it is, 0 if it is not (on the stack)
2358 Function IsClientInstalled
2360 StrCpy $R2 "AFS Client"
2361 Call GetInstalledVersion
2364 StrCmp $R0 "" NotInstalled
2378 ; See if AFS Documentation is installed
2379 ; Returns: "1" if it is, 0 if it is not (on the stack)
2380 Function IsDocumentationInstalled
2382 StrCpy $R2 "AFS Supplemental Documentation"
2383 Call GetInstalledVersion
2386 StrCmp $R0 "" NotInstalled
2399 ; See if Control Center is installed
2400 ; Returns: "1" if it is, 0 if it is not (on the stack)
2401 Function IsControlInstalled
2403 StrCpy $R2 "AFS Control Center"
2404 Call GetInstalledVersion
2407 StrCmp $R0 "" NotInstalled
2422 ; output, top of stack (replaces, with e.g. whatever)
2423 ; modifies no other variables.
2425 Function GetParameters
2429 StrCpy $R0 $CMDLINE 1
2433 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2435 StrCpy $R0 $CMDLINE 1 $R2
2436 StrCmp $R0 $R1 loop2
2442 StrCpy $R0 $CMDLINE 1 $R2
2443 StrCmp $R0 " " loop2
2444 StrCpy $R0 $CMDLINE "" $R2
2451 ;Check to see if any AFS component is installed
2452 ;Returns: Value on stack: "1" if it is, "0" if it is not
2453 Function IsAnyAFSInstalled
2458 Call IsClientInstalled
2460 Call IsServerInstalled
2462 Call IsControlInstalled
2464 Call IsDocumentationInstalled
2466 ; Now we must see if ANY of the $Rn values are 1
2467 StrCmp $R0 "1" SomethingInstalled
2468 StrCmp $R1 "1" SomethingInstalled
2469 StrCmp $R2 "1" SomethingInstalled
2470 StrCmp $R3 "1" SomethingInstalled
2484 ;Install English Language Files
2485 Function AFSLangFiles
2487 SetOutPath "$INSTDIR\Common"
2488 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2489 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2490 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2491 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2492 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2493 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2494 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2495 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2496 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2497 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2498 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2499 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2500 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2501 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2505 File "${SYSTEMDIR}\msvcr71d.dll"
2506 File "${SYSTEMDIR}\msvcr71d.pdb"
2507 File "${SYSTEMDIR}\msvcp71d.dll"
2508 File "${SYSTEMDIR}\msvcp71d.pdb"
2509 File "${SYSTEMDIR}\mfc71d.dll"
2510 File "${SYSTEMDIR}\mfc71d.pdb"
2511 File "${SYSTEMDIR}\MFC71CHS.DLL"
2512 File "${SYSTEMDIR}\MFC71CHT.DLL"
2513 File "${SYSTEMDIR}\MFC71DEU.DLL"
2514 File "${SYSTEMDIR}\MFC71ENU.DLL"
2515 File "${SYSTEMDIR}\MFC71ESP.DLL"
2516 File "${SYSTEMDIR}\MFC71FRA.DLL"
2517 File "${SYSTEMDIR}\MFC71ITA.DLL"
2518 File "${SYSTEMDIR}\MFC71JPN.DLL"
2519 File "${SYSTEMDIR}\MFC71KOR.DLL"
2522 File "${SYSTEMDIR}\msvcr70d.dll"
2523 File "${SYSTEMDIR}\msvcr70d.pdb"
2524 File "${SYSTEMDIR}\msvcp70d.dll"
2525 File "${SYSTEMDIR}\msvcp70d.pdb"
2526 File "${SYSTEMDIR}\mfc70d.dll"
2527 File "${SYSTEMDIR}\mfc70d.pdb"
2528 File "${SYSTEMDIR}\MFC70CHS.DLL"
2529 File "${SYSTEMDIR}\MFC70CHT.DLL"
2530 File "${SYSTEMDIR}\MFC70DEU.DLL"
2531 File "${SYSTEMDIR}\MFC70ENU.DLL"
2532 File "${SYSTEMDIR}\MFC70ESP.DLL"
2533 File "${SYSTEMDIR}\MFC70FRA.DLL"
2534 File "${SYSTEMDIR}\MFC70ITA.DLL"
2535 File "${SYSTEMDIR}\MFC70JPN.DLL"
2536 File "${SYSTEMDIR}\MFC70KOR.DLL"
2538 File "${SYSTEMDIR}\mfc42d.dll"
2539 File "${SYSTEMDIR}\mfc42d.pdb"
2540 File "${SYSTEMDIR}\msvcp60d.dll"
2541 File "${SYSTEMDIR}\msvcp60d.pdb"
2542 File "${SYSTEMDIR}\msvcrtd.dll"
2543 File "${SYSTEMDIR}\msvcrtd.pdb"
2548 File "${SYSTEMDIR}\mfc71.dll"
2549 File "${SYSTEMDIR}\msvcr71.dll"
2550 File "${SYSTEMDIR}\msvcp71.dll"
2551 File "${SYSTEMDIR}\MFC71CHS.DLL"
2552 File "${SYSTEMDIR}\MFC71CHT.DLL"
2553 File "${SYSTEMDIR}\MFC71DEU.DLL"
2554 File "${SYSTEMDIR}\MFC71ENU.DLL"
2555 File "${SYSTEMDIR}\MFC71ESP.DLL"
2556 File "${SYSTEMDIR}\MFC71FRA.DLL"
2557 File "${SYSTEMDIR}\MFC71ITA.DLL"
2558 File "${SYSTEMDIR}\MFC71JPN.DLL"
2559 File "${SYSTEMDIR}\MFC71KOR.DLL"
2562 File "${SYSTEMDIR}\mfc70.dll"
2563 File "${SYSTEMDIR}\msvcr70.dll"
2564 File "${SYSTEMDIR}\msvcp70.dll"
2565 File "${SYSTEMDIR}\MFC70CHS.DLL"
2566 File "${SYSTEMDIR}\MFC70CHT.DLL"
2567 File "${SYSTEMDIR}\MFC70DEU.DLL"
2568 File "${SYSTEMDIR}\MFC70ENU.DLL"
2569 File "${SYSTEMDIR}\MFC70ESP.DLL"
2570 File "${SYSTEMDIR}\MFC70FRA.DLL"
2571 File "${SYSTEMDIR}\MFC70ITA.DLL"
2572 File "${SYSTEMDIR}\MFC70JPN.DLL"
2573 File "${SYSTEMDIR}\MFC70KOR.DLL"
2575 File "${SYSTEMDIR}\mfc42.dll"
2576 File "${SYSTEMDIR}\msvcp60.dll"
2577 File "${SYSTEMDIR}\msvcrt.dll"
2583 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
2584 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
2585 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
2586 File "${AFS_DESTDIR}\lib\afspthread.pdb"
2587 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
2588 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
2589 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
2590 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2591 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
2592 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2593 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
2594 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
2595 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
2596 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
2599 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2600 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2601 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2602 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2603 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2604 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2605 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2606 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2610 SetOutPath "$INSTDIR\Documentation"
2611 File "..\..\doc\install\Documentation\en_US\README.TXT"
2613 SetOutPath "$INSTDIR\Client\Program"
2614 File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll"
2615 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2617 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2618 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2621 SetOutPath "$INSTDIR\Common"
2622 File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll"
2623 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll"
2624 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
2625 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
2626 File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
2627 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll"
2628 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll"
2629 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll"
2630 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll"
2631 File "..\..\doc\help\en_US\afs-cc.CNT"
2632 File "..\..\doc\help\en_US\afs-cc.hlp"
2633 File "..\..\doc\help\en_US\afs-light.CNT"
2634 File "..\..\doc\help\en_US\afs-light.hlp"
2635 File "..\..\doc\help\en_US\afs-nt.CNT"
2636 File "..\..\doc\help\en_US\afs-nt.HLP"
2637 File "..\..\doc\help\en_US\taafscfg.CNT"
2638 File "..\..\doc\help\en_US\taafscfg.hlp"
2639 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2640 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2641 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2642 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2645 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2646 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2647 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2648 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2649 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2650 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2651 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2652 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2658 SetOutPath "$INSTDIR\Documentation"
2659 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2661 SetOutPath "$INSTDIR\Client\Program"
2662 File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll"
2663 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2665 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2666 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2669 SetOutPath "$INSTDIR\Common"
2670 File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll"
2671 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll"
2672 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll"
2673 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll"
2674 File "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll"
2675 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll"
2676 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll"
2677 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll"
2678 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll"
2679 File "..\..\doc\help\de_DE\afs-cc.CNT"
2680 File "..\..\doc\help\de_DE\afs-cc.hlp"
2681 File "..\..\doc\help\de_DE\afs-light.CNT"
2682 File "..\..\doc\help\de_DE\afs-light.hlp"
2683 File "..\..\doc\help\de_DE\afs-nt.CNT"
2684 File "..\..\doc\help\de_DE\afs-nt.HLP"
2685 File "..\..\doc\help\de_DE\taafscfg.CNT"
2686 File "..\..\doc\help\de_DE\taafscfg.hlp"
2687 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2688 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2689 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2690 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2693 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2694 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2695 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2696 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2697 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2698 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2699 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2700 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2706 SetOutPath "$INSTDIR\Documentation"
2707 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2709 SetOutPath "$INSTDIR\Client\Program"
2710 File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll"
2711 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2713 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2714 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2717 SetOutPath "$INSTDIR\Common"
2718 File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll"
2719 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll"
2720 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll"
2721 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll"
2722 File "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll"
2723 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll"
2724 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll"
2725 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll"
2726 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll"
2727 File "..\..\doc\help\es_ES\afs-cc.CNT"
2728 File "..\..\doc\help\es_ES\afs-cc.hlp"
2729 File "..\..\doc\help\es_ES\afs-light.CNT"
2730 File "..\..\doc\help\es_ES\afs-light.hlp"
2731 File "..\..\doc\help\es_ES\afs-nt.CNT"
2732 File "..\..\doc\help\es_ES\afs-nt.HLP"
2733 File "..\..\doc\help\es_ES\taafscfg.CNT"
2734 File "..\..\doc\help\es_ES\taafscfg.hlp"
2735 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2736 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2737 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2738 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2741 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2742 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2743 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2744 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2745 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2746 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2747 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2748 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2754 SetOutPath "$INSTDIR\Documentation"
2755 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2757 SetOutPath "$INSTDIR\Client\Program"
2758 File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll"
2759 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2761 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2762 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2765 SetOutPath "$INSTDIR\Common"
2766 File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll"
2767 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll"
2768 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll"
2769 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll"
2770 File "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll"
2771 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll"
2772 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll"
2773 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll"
2774 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll"
2775 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2776 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2777 File "..\..\doc\help\ja_JP\afs-light.CNT"
2778 File "..\..\doc\help\ja_JP\afs-light.hlp"
2779 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2780 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2781 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2782 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2783 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2784 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2785 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2786 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2789 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2790 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2791 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2792 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2793 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2794 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2795 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2796 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2802 SetOutPath "$INSTDIR\Documentation"
2803 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2805 SetOutPath "$INSTDIR\Client\Program"
2806 File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll"
2807 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2809 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2810 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2813 SetOutPath "$INSTDIR\Common"
2814 File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll"
2815 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll"
2816 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll"
2817 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll"
2818 File "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll"
2819 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll"
2820 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll"
2821 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll"
2822 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll"
2823 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2824 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2825 File "..\..\doc\help\ko_KR\afs-light.CNT"
2826 File "..\..\doc\help\ko_KR\afs-light.hlp"
2827 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2828 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2829 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2830 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2831 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2832 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2833 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2834 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2837 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2838 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2839 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2840 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2841 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2842 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2843 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2844 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2851 SetOutPath "$INSTDIR\Documentation"
2852 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2854 SetOutPath "$INSTDIR\Client\Program"
2855 File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll"
2856 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2858 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2859 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2862 SetOutPath "$INSTDIR\Common"
2863 File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll"
2864 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll"
2865 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll"
2866 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll"
2867 File "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll"
2868 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll"
2869 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll"
2870 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll"
2871 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll"
2872 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2873 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2874 File "..\..\doc\help\pt_BR\afs-light.CNT"
2875 File "..\..\doc\help\pt_BR\afs-light.hlp"
2876 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2877 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2878 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2879 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2880 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2881 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2882 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2883 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2886 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2887 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2888 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2889 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2890 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2891 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2892 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2893 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2899 SetOutPath "$INSTDIR\Documentation"
2900 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2902 SetOutPath "$INSTDIR\Client\Program"
2903 File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll"
2904 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2906 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2907 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2910 SetOutPath "$INSTDIR\Common"
2911 File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll"
2912 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll"
2913 File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll"
2914 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll"
2915 File "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll"
2916 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll"
2917 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll"
2918 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll"
2919 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll"
2920 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2921 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2922 File "..\..\doc\help\zh_CN\afs-light.CNT"
2923 File "..\..\doc\help\zh_CN\afs-light.hlp"
2924 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2925 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2926 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2927 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2928 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2929 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2930 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2931 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2934 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
2935 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
2936 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
2937 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
2938 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
2939 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
2940 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
2941 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
2947 SetOutPath "$INSTDIR\Documentation"
2948 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
2950 SetOutPath "$INSTDIR\Client\Program"
2951 File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll"
2952 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
2954 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
2955 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
2958 SetOutPath "$INSTDIR\Common"
2959 File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll"
2960 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll"
2961 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll"
2962 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll"
2963 File "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll"
2964 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll"
2965 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll"
2966 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll"
2967 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll"
2968 File "..\..\doc\help\zh_TW\afs-cc.CNT"
2969 File "..\..\doc\help\zh_TW\afs-cc.hlp"
2970 File "..\..\doc\help\zh_TW\afs-light.CNT"
2971 File "..\..\doc\help\zh_TW\afs-light.hlp"
2972 File "..\..\doc\help\zh_TW\afs-nt.CNT"
2973 File "..\..\doc\help\zh_TW\afs-nt.HLP"
2974 File "..\..\doc\help\zh_TW\taafscfg.CNT"
2975 File "..\..\doc\help\zh_TW\taafscfg.hlp"
2976 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
2977 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
2978 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
2979 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
2982 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
2983 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
2984 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
2985 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
2986 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
2987 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
2988 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
2989 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
2998 ;====================================================
2999 ; AddToPath - Adds the given dir to the search path.
3000 ; Input - head of the stack
3001 ; Note - Win9x systems requires reboot
3002 ;====================================================
3009 # don't add if the path doesn't exist
3010 IfFileExists $0 "" AddToPath_done
3017 StrCmp $2 "" "" AddToPath_done
3022 StrCmp $2 "" "" AddToPath_done
3023 GetFullPathName /SHORT $3 $0
3028 StrCmp $2 "" "" AddToPath_done
3033 StrCmp $2 "" "" AddToPath_done
3037 StrCmp $1 1 AddToPath_NT
3040 FileOpen $1 "$1\autoexec.bat" a
3043 IntCmp $2 26 0 +2 +2 # DOS EOF
3044 FileSeek $1 -1 END # write over EOF
3045 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3051 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3052 StrCpy $2 $1 1 -1 # copy last char
3053 StrCmp $2 ";" 0 +2 # if last char == ;
3054 StrCpy $1 $1 -1 # remove last char
3055 StrCmp $1 "" AddToPath_NTdoIt
3058 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3059 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3068 ;====================================================
3069 ; RemoveFromPath - Remove a given dir from the path
3070 ; Input: head of the stack
3071 ;====================================================
3072 Function un.RemoveFromPath
3081 IntFmt $6 "%c" 26 # DOS EOF
3085 StrCmp $1 1 unRemoveFromPath_NT
3088 FileOpen $1 "$1\autoexec.bat" r
3091 GetFullPathName /SHORT $0 $0
3092 StrCpy $0 "SET PATH=%PATH%;$0"
3093 Goto unRemoveFromPath_dosLoop
3095 unRemoveFromPath_dosLoop:
3097 StrCpy $5 $3 1 -1 # read last char
3098 StrCmp $5 $6 0 +2 # if DOS EOF
3099 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3100 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3101 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3102 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3103 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3105 Goto unRemoveFromPath_dosLoop
3106 unRemoveFromPath_dosLoopRemoveLine:
3108 Goto unRemoveFromPath_dosLoop
3110 unRemoveFromPath_dosLoopEnd:
3114 Delete "$1\autoexec.bat"
3115 CopyFiles /SILENT $4 "$1\autoexec.bat"
3117 Goto unRemoveFromPath_done
3119 unRemoveFromPath_NT:
3120 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3121 StrCpy $5 $1 1 -1 # copy last char
3122 StrCmp $5 ";" +2 # if last char != ;
3123 StrCpy $1 "$1;" # append ;
3126 Call un.StrStr ; Find `$0;` in $1
3127 Pop $2 ; pos of our dir
3128 StrCmp $2 "" unRemoveFromPath_done
3129 ; else, it is in path
3134 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3135 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3138 StrCpy $5 $3 1 -1 # copy last char
3139 StrCmp $5 ";" 0 +2 # if last char == ;
3140 StrCpy $3 $3 -1 # remove last char
3142 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3143 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3145 unRemoveFromPath_done:
3155 ;====================================================
3156 ; IsNT - Returns 1 if the current system is NT, 0
3158 ; Output: head of the stack
3159 ;====================================================
3163 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3164 StrCmp $0 "" 0 IsNT_yes
3176 !insertmacro IsNT ""
3177 !insertmacro IsNT "un."
3179 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3181 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3182 ;====================================================
3183 ; StrStr - Finds a given string in another given string.
3184 ; Returns -1 if not found and the pos if found.
3185 ; Input: head of the stack - string to find
3186 ; second in the stack - string to find in
3187 ; Output: head of the stack
3188 ;====================================================
3190 Function ${un}StrStr
3191 Exch $R1 ; st=haystack,old$R1, $R1=needle
3192 Exch ; st=old$R1,haystack
3193 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3205 StrCpy $R5 $R2 $R3 $R4
3211 StrCpy $R1 $R2 "" $R4
3219 !insertmacro StrStr ""
3220 !insertmacro StrStr "un."
3223 !ifdef ADDSHAREDDLLUSED
3226 ; Increments a shared DLLs reference count.
3227 ; Use by passing one item on the stack (the full path of the DLL).
3230 ; Push $SYSDIR\myDll.dll
3234 Function AddSharedDLL
3237 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3239 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3245 ; un.RemoveSharedDLL
3247 ; Decrements a shared DLLs reference count, and removes if necessary.
3248 ; Use by passing one item on the stack (the full path of the DLL).
3249 ; Note: for use in the main installer (not the uninstaller), rename the
3250 ; function to RemoveSharedDLL.
3253 ; Push $SYSDIR\myDll.dll
3254 ; Call un.RemoveSharedDLL
3257 Function un.RemoveSharedDLL
3260 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3261 StrCmp $R0 "" remove
3263 IntCmp $R0 0 rk rk uk
3265 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3268 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3271 Delete /REBOOTOK $R1
3280 !ifdef INSTALL_LOOPBACK
3281 Function afs.InstallMSLoopback
3283 File /oname=$R0 "loopback_install.dll"
3284 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
3285 Call GetWindowsVersion
3287 StrCmp $R1 "2000" +1 +2
3288 nsExec::Exec "rundll32.exe $R0 disableLoopBackEntry"
3296 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3297 ; Updated by Joost Verburg
3299 ; Returns on top of stack
3301 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3303 ; '' (Unknown Windows Version)
3306 ; Call GetWindowsVersion
3308 ; ; at this point $R0 is "NT 4.0" or whatnot
3310 Function GetWindowsVersion
3317 ReadRegStr $R0 HKLM \
3318 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3320 IfErrors 0 lbl_winnt
3323 ReadRegStr $R0 HKLM \
3324 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3327 StrCmp $R1 '4' 0 lbl_error
3331 StrCmp $R1 '4.0' lbl_win32_95
3332 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3350 StrCmp $R1 '3' lbl_winnt_x
3351 StrCmp $R1 '4' lbl_winnt_x
3355 StrCmp $R1 '5.0' lbl_winnt_2000
3356 StrCmp $R1 '5.1' lbl_winnt_XP
3357 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3360 StrCpy $R0 "NT $R0" 6
3385 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3386 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3387 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3388 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3392 ; Pop $R0 ; at this point $R0 is "true" or "false"
3394 Function IsUserAdmin
3403 UserInfo::GetAccountType
3406 StrCmp $R2 "Admin" 0 Continue
3407 ; Observation: I get here when running Win98SE. (Lilla)
3408 ; The functions UserInfo.dll looks for are there on Win98 too,
3409 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3410 ; on Win98, returns admin anyway. (per kichik)
3411 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3416 ; You should still check for an empty string because the functions
3417 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3420 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3424 ; comment/message below is by UserInfo.nsi author:
3425 ; This one means you don't need to care about admin or
3426 ; not admin because Windows 9x doesn't either
3427 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3431 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3439 ; input, top of stack (e.g. C:\Program Files\Poop)
3440 ; output, top of stack (replaces, with e.g. C:\Program Files)
3441 ; modifies no other variables.
3444 ; Push "C:\Program Files\Directory\Whatever"
3447 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3461 IntCmp $R1 $R2 get 0 get
3462 StrCpy $R3 $R0 1 -$R1
3477 ;--------------------------------
3478 ;Handle what must and what must not be installed
3479 Function .onSelChange
3480 ; If they install the server, they MUST install the client
3481 SectionGetFlags ${secServer} $R0
3482 IntOp $R0 $R0 & ${SF_SELECTED}
3483 StrCmp $R0 "1" MakeClientSelected
3485 ; If they install the control center, we'll give them the client.
3486 ; It may not be required, but it's a bit more useful
3487 SectionGetFlags ${secControl} $R0
3488 IntOp $R0 $R0 & ${SF_SELECTED}
3489 StrCmp $R0 "1" MakeClientSelected
3493 SectionGetFlags ${secClient} $R0
3494 IntOp $R0 $R0 | ${SF_SELECTED}
3495 SectionSetFlags ${secClient} $R0
3500 Function RegWriteMultiStr
3501 !define HKEY_CLASSES_ROOT 0x80000000
3502 !define HKEY_CURRENT_USER 0x80000001
3503 !define HKEY_LOCAL_MACHINE 0x80000002
3504 !define HKEY_USERS 0x80000003
3505 !define HKEY_PERFORMANCE_DATA 0x80000004
3506 !define HKEY_PERFORMANCE_TEXT 0x80000050
3507 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3508 !define HKEY_CURRENT_CONFIG 0x80000005
3509 !define HKEY_DYN_DATA 0x80000006
3511 !define KEY_QUERY_VALUE 0x0001
3512 !define KEY_SET_VALUE 0x0002
3513 !define KEY_CREATE_SUB_KEY 0x0004
3514 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3515 !define KEY_NOTIFY 0x0010
3516 !define KEY_CREATE_LINK 0x0020
3520 !define REG_EXPAND_SZ 2
3521 !define REG_BINARY 3
3523 !define REG_DWORD_LITTLE_ENDIAN 4
3524 !define REG_DWORD_BIG_ENDIAN 5
3526 !define REG_MULTI_SZ 7
3528 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3529 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3530 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3537 SetPluginUnload alwaysoff
3538 ; Create a buffer for the multi_sz value
3539 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3540 ; Open/create the registry key
3541 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3544 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3548 ; Fill in the buffer with our strings
3549 StrCpy $2 $1 ; Initial position
3551 StrLen $9 '$REG_DATA_1' ; Length of first string
3552 IntOp $9 $9 + 1 ; Plus null
3553 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3554 IntOp $2 $2 + $9 ; Advance to the next position
3556 StrCmp '$REG_DATA_2' "" terminate
3557 StrLen $9 '$REG_DATA_2' ; Length of second string
3558 IntOp $9 $9 + 1 ; Plus null
3559 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3560 IntOp $2 $2 + $9 ; Advance to the next position
3562 StrCmp '$REG_DATA_3' "" terminate
3563 StrLen $9 '$REG_DATA_3' ; Length of third string
3564 IntOp $9 $9 + 1 ; Plus null
3565 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3566 IntOp $2 $2 + $9 ; Advance to the next position
3569 System::Call "*$2(&t1 '')" ; Place the terminating null
3570 IntOp $2 $2 + 1 ; Advance to the next position
3572 ; Create/write the value
3573 IntOp $2 $2 - $1 ; Total length
3574 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3577 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3581 ; Close the registry key
3582 System::Call "${RegCloseKey}(r0)"
3586 SetPluginUnload manual