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 -a -m -n -q"
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 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1539 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1540 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1541 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1542 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1543 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1546 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1547 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1548 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1549 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1550 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1551 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1553 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1554 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1555 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1556 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1557 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1558 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1563 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1564 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1565 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1566 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1567 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1568 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1569 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1570 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1571 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1572 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1573 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1574 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1577 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1578 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1579 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1580 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1581 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1582 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1583 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1584 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1585 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1586 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1587 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1588 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1590 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1591 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1592 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1598 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1600 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1602 Delete "$WINDIR\afsdcell.ini"
1604 Delete "$WINDIR\afsdsbmt.ini"
1605 ; Only remove krb5.ini if KfW was installed
1607 Delete "$WINDIR\krb5.ini"
1609 Delete "$WINDIR\afsdns.ini"
1610 Delete "$WINDIR\afs_freelance.ini"
1613 Delete "$WINDIR\afsd_init.log"
1614 Delete "$INSTDIR\Uninstall.exe"
1617 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1618 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1619 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1620 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1621 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1622 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1623 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1624 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1625 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1626 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1627 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1628 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1629 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1630 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1631 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1632 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1633 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1636 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1637 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1638 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1639 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1640 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1641 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1642 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1643 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1644 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1645 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1646 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1647 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1648 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1649 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1650 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1651 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1652 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1655 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1656 RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1657 RmDir /r "$INSTDIR\Server\usr\afs\etc"
1658 RmDir /r "$INSTDIR\Server\usr\afs\local"
1659 RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1661 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1662 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1665 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1666 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1669 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1670 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1671 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1672 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1673 RMDIr /r "$INSTDIR\Documentation\html"
1675 RMDir "$INSTDIR\Documentation"
1676 ; Delete DOC short cut
1677 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1680 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1683 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1684 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1685 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1686 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1687 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1688 RMDir "$INSTDIR\Client\Program\Sample"
1689 RMDir "$INSTDIR\Client\Program\Include\afs"
1690 RMDir "$INSTDIR\Client\Program\Include\rx"
1691 RMDir "$INSTDIR\Client\Program\Include"
1692 RMDir "$INSTDIR\Client\Program"
1693 RMDir "$INSTDIR\Client"
1697 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1698 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1699 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1700 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1701 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1702 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1705 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1706 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1707 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1708 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1709 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1710 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1712 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1713 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1714 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1715 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1716 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1717 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1722 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1723 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1724 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1725 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1726 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1727 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1728 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1729 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1730 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1731 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1732 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1733 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1736 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1737 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1738 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1739 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1740 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1741 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1742 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1743 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1744 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1745 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1746 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1747 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1749 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1750 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1751 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1756 Delete /REBOOTOK "$INSTDIR\Common\*"
1757 RMDir "$INSTDIR\Common"
1761 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1762 RMDIR /r "$INSTDIR\kfw\bin"
1763 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1764 RMDIR /r "$INSTDIR\kfw\doc"
1765 RMDIR /r "$INSTDIR\kfw"
1768 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1770 ; Remove control center
1771 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1772 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1773 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1774 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1776 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1777 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1778 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1780 RMDir "$INSTDIR\Control Center"
1782 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1783 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1784 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1785 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1786 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1787 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1788 RMDir /r "$SMPROGRAMS\OpenAFS"
1789 Delete "$SMSTARTUP\AFS Credentials.lnk"
1791 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1793 Delete "$R0\AFSCache"
1794 Delete "C:\AFSCache"
1796 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1797 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1798 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1799 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1800 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1802 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1803 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1804 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1805 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1806 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1807 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1808 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1809 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1810 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1811 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1812 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1818 ;--------------------------------
1819 ;Uninstaller Functions
1823 ;Get language from registry
1824 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1828 Function un.onUninstSuccess
1830 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1834 ;------------------------------
1835 ; Get the CellServDB file from the Internet
1837 Function afs.GetCellServDB
1839 ;Check if we should download CellServDB
1840 ReadINIStr $R0 $0 "Field 4" "State"
1841 StrCmp $R0 "1" DoDownload
1843 ;Do nothing if we're keeping the existing file
1844 ReadINIStr $R0 $0 "Field 2" "State"
1847 ReadINIStr $R0 $0 "Field 6" "State"
1848 StrCmp $R0 "1" CheckOther
1850 ReadINIStr $R0 $0 "Field 3" "State"
1851 StrCmp $R0 "1" UsePackaged
1853 ; If none of these, grab file from other location
1857 ReadINIStr $R0 $0 "Field 5" "State"
1858 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
1859 Pop $R0 ;Get the return value
1860 StrCmp $R0 "success" +2
1861 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1865 SetOutPath "$WINDIR"
1870 ReadINIStr $R0 $0 "Field 7" "State"
1872 CopyFiles $R0 "$WINDIR\afsdcell.ini"
1878 Function AddProvider
1881 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1883 StrCpy $R0 "TransarcAFSDaemon"
1887 StrCmp $R0 "" +1 DoOther
1888 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1889 StrCpy $R0 "$R1,TransarcAFSDaemon"
1890 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1892 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1894 StrCpy $R0 "TransarcAFSDaemon"
1898 StrCmp $R0 "" +1 End
1899 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1900 StrCpy $R0 "$R1,TransarcAFSDaemon"
1901 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
1907 Function un.RemoveProvider
1909 StrCpy $R0 "TransarcAFSDaemon"
1911 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
1912 Call un.RemoveFromProvider
1913 StrCpy $R0 "TransarcAFSDaemon"
1915 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
1916 Call un.RemoveFromProvider
1920 Function un.RemoveFromProvider
1929 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
1930 StrCpy $5 $1 1 -1 # copy last char
1931 StrCmp $5 "," +2 # if last char != ,
1932 StrCpy $1 "$1," # append ,
1935 Call un.StrStr ; Find `$0,` in $1
1936 Pop $2 ; pos of our dir
1937 StrCmp $2 "" unRemoveFromPath_done
1938 ; else, it is in path
1943 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
1944 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
1947 StrCpy $5 $3 1 -1 # copy last char
1948 StrCmp $5 "," 0 +2 # if last char == ,
1949 StrCpy $3 $3 -1 # remove last char
1951 WriteRegStr HKLM "$R0" "ProviderOrder" $3
1953 unRemoveFromPath_done:
1963 Function CheckPathForAFS
1968 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
1977 IfFileExists "$3\afsd_service.exe" Error
1978 StrCpy $1 $0 32768 1
1980 IntCmp $2 0 Done Done loop
1983 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."
1984 Abort "Unable to install OpenAFS"
1992 Function AddToUniquePath
1996 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2000 StrCmp $R0 "" +1 Done
2006 ;-------------------------------
2007 ;Do the page to get the CellServDB
2009 Function AFSPageGetCellServDB
2010 ; Skip this page if we are not installing the client
2011 SectionGetFlags ${secClient} $R0
2012 IntOp $R0 $R0 & ${SF_SELECTED}
2015 ; Set the install options here
2018 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2019 WriteINIStr $0 "Field 3" "State" "1"
2020 WriteINISTR $0 "Field 4" "State" "0"
2021 WriteINIStr $0 "Field 6" "State" "0"
2023 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
2024 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
2025 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2026 WriteINIStr $0 "Field 2" "State" "1"
2027 WriteINIStr $0 "Field 3" "State" "0"
2031 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2032 InstallOptions::dialog $0
2034 StrCmp $R1 "cancel" exit
2035 StrCmp $R1 "back" done
2036 StrCmp $R1 "success" done
2040 ; Check that if a file is set, a valid filename is entered...
2041 ReadINIStr $R0 $0 "Field 6" "State"
2042 StrCmp $R0 "1" CheckFileName
2044 ;Check if a URL is specified, one *IS* specified
2045 ReadINIStr $R0 $0 "Field 4" "State"
2046 StrCmp $R0 "1" CheckURL Skip
2049 ReadINIStr $R0 $0 "Field 5" "State"
2050 StrCmp $R0 "" +1 Skip
2051 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2052 WriteINIStr $0 "Field 4" "State" "0"
2056 ReadINIStr $R0 $0 "Field 7" "State"
2057 IfFileExists $R0 Skip
2059 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2060 WriteINIStr $0 "Field 6" "State" "0"
2068 Function AFSPageGetCellName
2070 ; Skip this page if we are not installing the client
2071 SectionGetFlags ${secClient} $R0
2072 IntOp $R0 $R0 & ${SF_SELECTED}
2076 ; If this is a server install, we do NOT want to recommend the Freelance client
2077 ; And we do not need to ask for the cell name.
2078 SectionGetFlags ${secServer} $R1
2079 IntOp $R1 $R1 & ${SF_SELECTED}
2080 StrCmp $R1 "1" +1 NotServer
2081 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2082 WriteINIStr $1 "Field 5" "State" "0"
2083 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2084 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2087 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2088 WriteINIStr $1 "Field 5" "State" "1"
2089 WriteINIStr $1 "Field 1" "Flags" ""
2090 WriteINIStr $1 "Field 2" "Flags" ""
2092 ; Get the current cell name, if any
2093 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2095 WriteINIStr $1 "Field 2" "State" $R1
2096 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2097 InstallOptions::dialog $1
2099 StrCmp $R1 "cancel" exit
2100 StrCmp $R1 "back" done
2101 StrCmp $R1 "success" done
2104 ReadINIStr $R0 $1 "Field 2" "State"
2105 StrCmp $R0 "" +1 good
2107 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2113 ; Common install routines for each module
2114 Function AFSCommon.Install
2116 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2117 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2119 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2121 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2123 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2128 ;-------------------
2129 ; Get the currently installed version and place it on the stack
2131 Function GetInstalledVersion
2136 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2137 StrCmp $R0 "" NotTransarc done
2141 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2150 ; Functions to get each component of the version number
2151 Function GetInstalledVersionMajor
2156 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2157 StrCmp $R0 "" NotTransarc done
2161 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2170 Function GetInstalledVersionMinor
2175 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2176 StrCmp $R0 "" NotTransarc done
2180 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2189 Function GetInstalledVersionPatch
2194 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2195 StrCmp $R0 "" NotTransarc done
2199 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2210 ;-------------------------------
2211 ; Check if the client should be checked for default install
2212 Function ShouldClientInstall
2214 StrCpy $R2 "AFS Client"
2215 Call GetInstalledVersion
2218 StrCmp $R0 "" NotInstalled
2219 ; Now we see if it's an older or newer version
2221 Call GetInstalledVersionMajor
2223 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2225 Call GetInstalledVersionMinor
2227 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2229 Call GetInstalledVersionPatch
2231 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2254 ;-------------------------------
2255 ; Check how the server options should be set
2256 Function ShouldServerInstall
2258 StrCpy $R2 "AFS Server"
2259 Call GetInstalledVersion
2262 StrCmp $R0 "" NotInstalled
2263 ; Now we see if it's an older or newer version
2265 Call GetInstalledVersionMajor
2267 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2269 Call GetInstalledVersionMinor
2271 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2273 Call GetInstalledVersionPatch
2275 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2300 ; See if AFS Server is installed
2301 ; Returns: "1" if it is, 0 if it is not (on the stack)
2302 Function IsServerInstalled
2304 StrCpy $R2 "AFS Server"
2305 Call GetInstalledVersion
2308 StrCmp $R0 "" NotInstalled
2321 ; See if AFS Client is installed
2322 ; Returns: "1" if it is, 0 if it is not (on the stack)
2323 Function IsClientInstalled
2325 StrCpy $R2 "AFS Client"
2326 Call GetInstalledVersion
2329 StrCmp $R0 "" NotInstalled
2343 ; See if AFS Documentation is installed
2344 ; Returns: "1" if it is, 0 if it is not (on the stack)
2345 Function IsDocumentationInstalled
2347 StrCpy $R2 "AFS Supplemental Documentation"
2348 Call GetInstalledVersion
2351 StrCmp $R0 "" NotInstalled
2364 ; See if Control Center is installed
2365 ; Returns: "1" if it is, 0 if it is not (on the stack)
2366 Function IsControlInstalled
2368 StrCpy $R2 "AFS Control Center"
2369 Call GetInstalledVersion
2372 StrCmp $R0 "" NotInstalled
2387 ; output, top of stack (replaces, with e.g. whatever)
2388 ; modifies no other variables.
2390 Function GetParameters
2394 StrCpy $R0 $CMDLINE 1
2398 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2400 StrCpy $R0 $CMDLINE 1 $R2
2401 StrCmp $R0 $R1 loop2
2407 StrCpy $R0 $CMDLINE 1 $R2
2408 StrCmp $R0 " " loop2
2409 StrCpy $R0 $CMDLINE "" $R2
2416 ;Check to see if any AFS component is installed
2417 ;Returns: Value on stack: "1" if it is, "0" if it is not
2418 Function IsAnyAFSInstalled
2423 Call IsClientInstalled
2425 Call IsServerInstalled
2427 Call IsControlInstalled
2429 Call IsDocumentationInstalled
2431 ; Now we must see if ANY of the $Rn values are 1
2432 StrCmp $R0 "1" SomethingInstalled
2433 StrCmp $R1 "1" SomethingInstalled
2434 StrCmp $R2 "1" SomethingInstalled
2435 StrCmp $R3 "1" SomethingInstalled
2449 ;Install English Language Files
2450 Function AFSLangFiles
2452 SetOutPath "$INSTDIR\Common"
2453 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2454 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2455 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2456 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2457 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2458 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2459 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2460 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2461 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2462 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2463 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2464 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2465 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2466 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2470 File "${SYSTEMDIR}\msvcr71d.dll"
2471 File "${SYSTEMDIR}\msvcr71d.pdb"
2472 File "${SYSTEMDIR}\msvcp71d.dll"
2473 File "${SYSTEMDIR}\msvcp71d.pdb"
2474 File "${SYSTEMDIR}\mfc71d.dll"
2475 File "${SYSTEMDIR}\mfc71d.pdb"
2476 File "${SYSTEMDIR}\MFC71CHS.DLL"
2477 File "${SYSTEMDIR}\MFC71CHT.DLL"
2478 File "${SYSTEMDIR}\MFC71DEU.DLL"
2479 File "${SYSTEMDIR}\MFC71ENU.DLL"
2480 File "${SYSTEMDIR}\MFC71ESP.DLL"
2481 File "${SYSTEMDIR}\MFC71FRA.DLL"
2482 File "${SYSTEMDIR}\MFC71ITA.DLL"
2483 File "${SYSTEMDIR}\MFC71JPN.DLL"
2484 File "${SYSTEMDIR}\MFC71KOR.DLL"
2487 File "${SYSTEMDIR}\msvcr70d.dll"
2488 File "${SYSTEMDIR}\msvcr70d.pdb"
2489 File "${SYSTEMDIR}\msvcp70d.dll"
2490 File "${SYSTEMDIR}\msvcp70d.pdb"
2491 File "${SYSTEMDIR}\mfc70d.dll"
2492 File "${SYSTEMDIR}\mfc70d.pdb"
2493 File "${SYSTEMDIR}\MFC70CHS.DLL"
2494 File "${SYSTEMDIR}\MFC70CHT.DLL"
2495 File "${SYSTEMDIR}\MFC70DEU.DLL"
2496 File "${SYSTEMDIR}\MFC70ENU.DLL"
2497 File "${SYSTEMDIR}\MFC70ESP.DLL"
2498 File "${SYSTEMDIR}\MFC70FRA.DLL"
2499 File "${SYSTEMDIR}\MFC70ITA.DLL"
2500 File "${SYSTEMDIR}\MFC70JPN.DLL"
2501 File "${SYSTEMDIR}\MFC70KOR.DLL"
2503 File "${SYSTEMDIR}\mfc42d.dll"
2504 File "${SYSTEMDIR}\mfc42d.pdb"
2505 File "${SYSTEMDIR}\msvcp60d.dll"
2506 File "${SYSTEMDIR}\msvcp60d.pdb"
2507 File "${SYSTEMDIR}\msvcrtd.dll"
2508 File "${SYSTEMDIR}\msvcrtd.pdb"
2513 File "${SYSTEMDIR}\mfc71.dll"
2514 File "${SYSTEMDIR}\msvcr71.dll"
2515 File "${SYSTEMDIR}\msvcp71.dll"
2516 File "${SYSTEMDIR}\MFC71CHS.DLL"
2517 File "${SYSTEMDIR}\MFC71CHT.DLL"
2518 File "${SYSTEMDIR}\MFC71DEU.DLL"
2519 File "${SYSTEMDIR}\MFC71ENU.DLL"
2520 File "${SYSTEMDIR}\MFC71ESP.DLL"
2521 File "${SYSTEMDIR}\MFC71FRA.DLL"
2522 File "${SYSTEMDIR}\MFC71ITA.DLL"
2523 File "${SYSTEMDIR}\MFC71JPN.DLL"
2524 File "${SYSTEMDIR}\MFC71KOR.DLL"
2527 File "${SYSTEMDIR}\mfc70.dll"
2528 File "${SYSTEMDIR}\msvcr70.dll"
2529 File "${SYSTEMDIR}\msvcp70.dll"
2530 File "${SYSTEMDIR}\MFC70CHS.DLL"
2531 File "${SYSTEMDIR}\MFC70CHT.DLL"
2532 File "${SYSTEMDIR}\MFC70DEU.DLL"
2533 File "${SYSTEMDIR}\MFC70ENU.DLL"
2534 File "${SYSTEMDIR}\MFC70ESP.DLL"
2535 File "${SYSTEMDIR}\MFC70FRA.DLL"
2536 File "${SYSTEMDIR}\MFC70ITA.DLL"
2537 File "${SYSTEMDIR}\MFC70JPN.DLL"
2538 File "${SYSTEMDIR}\MFC70KOR.DLL"
2540 File "${SYSTEMDIR}\mfc42.dll"
2541 File "${SYSTEMDIR}\msvcp60.dll"
2542 File "${SYSTEMDIR}\msvcrt.dll"
2548 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
2549 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
2550 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
2551 File "${AFS_DESTDIR}\lib\afspthread.pdb"
2552 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
2553 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
2554 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
2555 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2556 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
2557 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2558 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
2559 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
2560 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
2561 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
2564 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2565 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2566 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2567 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2568 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2569 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2570 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2571 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2575 SetOutPath "$INSTDIR\Documentation"
2576 File "..\..\doc\install\Documentation\en_US\README.TXT"
2578 SetOutPath "$INSTDIR\Client\Program"
2579 File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll"
2580 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2582 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2583 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2586 SetOutPath "$INSTDIR\Common"
2587 File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll"
2588 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll"
2589 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
2590 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
2591 File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
2592 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll"
2593 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll"
2594 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll"
2595 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll"
2596 File "..\..\doc\help\en_US\afs-cc.CNT"
2597 File "..\..\doc\help\en_US\afs-cc.hlp"
2598 File "..\..\doc\help\en_US\afs-light.CNT"
2599 File "..\..\doc\help\en_US\afs-light.hlp"
2600 File "..\..\doc\help\en_US\afs-nt.CNT"
2601 File "..\..\doc\help\en_US\afs-nt.HLP"
2602 File "..\..\doc\help\en_US\taafscfg.CNT"
2603 File "..\..\doc\help\en_US\taafscfg.hlp"
2604 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2605 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2606 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2607 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2610 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2611 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2612 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2613 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2614 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2615 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2616 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2617 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2623 SetOutPath "$INSTDIR\Documentation"
2624 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2626 SetOutPath "$INSTDIR\Client\Program"
2627 File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll"
2628 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2630 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2631 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2634 SetOutPath "$INSTDIR\Common"
2635 File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll"
2636 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll"
2637 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll"
2638 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll"
2639 File "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll"
2640 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll"
2641 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll"
2642 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll"
2643 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll"
2644 File "..\..\doc\help\de_DE\afs-cc.CNT"
2645 File "..\..\doc\help\de_DE\afs-cc.hlp"
2646 File "..\..\doc\help\de_DE\afs-light.CNT"
2647 File "..\..\doc\help\de_DE\afs-light.hlp"
2648 File "..\..\doc\help\de_DE\afs-nt.CNT"
2649 File "..\..\doc\help\de_DE\afs-nt.HLP"
2650 File "..\..\doc\help\de_DE\taafscfg.CNT"
2651 File "..\..\doc\help\de_DE\taafscfg.hlp"
2652 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2653 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2654 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2655 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2658 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2659 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2660 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2661 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2662 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2663 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2664 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2665 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2671 SetOutPath "$INSTDIR\Documentation"
2672 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2674 SetOutPath "$INSTDIR\Client\Program"
2675 File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll"
2676 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2678 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2679 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2682 SetOutPath "$INSTDIR\Common"
2683 File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll"
2684 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll"
2685 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll"
2686 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll"
2687 File "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll"
2688 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll"
2689 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll"
2690 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll"
2691 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll"
2692 File "..\..\doc\help\es_ES\afs-cc.CNT"
2693 File "..\..\doc\help\es_ES\afs-cc.hlp"
2694 File "..\..\doc\help\es_ES\afs-light.CNT"
2695 File "..\..\doc\help\es_ES\afs-light.hlp"
2696 File "..\..\doc\help\es_ES\afs-nt.CNT"
2697 File "..\..\doc\help\es_ES\afs-nt.HLP"
2698 File "..\..\doc\help\es_ES\taafscfg.CNT"
2699 File "..\..\doc\help\es_ES\taafscfg.hlp"
2700 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2701 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2702 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2703 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2706 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2707 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2708 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2709 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2710 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2711 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2712 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2713 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2719 SetOutPath "$INSTDIR\Documentation"
2720 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2722 SetOutPath "$INSTDIR\Client\Program"
2723 File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll"
2724 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2726 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2727 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2730 SetOutPath "$INSTDIR\Common"
2731 File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll"
2732 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll"
2733 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll"
2734 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll"
2735 File "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll"
2736 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll"
2737 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll"
2738 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll"
2739 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll"
2740 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2741 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2742 File "..\..\doc\help\ja_JP\afs-light.CNT"
2743 File "..\..\doc\help\ja_JP\afs-light.hlp"
2744 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2745 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2746 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2747 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2748 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2749 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2750 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2751 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2754 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2755 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2756 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2757 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2758 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2759 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2760 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2761 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2767 SetOutPath "$INSTDIR\Documentation"
2768 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2770 SetOutPath "$INSTDIR\Client\Program"
2771 File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll"
2772 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2774 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2775 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2778 SetOutPath "$INSTDIR\Common"
2779 File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll"
2780 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll"
2781 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll"
2782 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll"
2783 File "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll"
2784 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll"
2785 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll"
2786 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll"
2787 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll"
2788 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2789 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2790 File "..\..\doc\help\ko_KR\afs-light.CNT"
2791 File "..\..\doc\help\ko_KR\afs-light.hlp"
2792 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2793 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2794 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2795 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2796 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2797 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2798 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2799 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2802 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2803 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2804 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2805 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2806 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2807 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2808 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2809 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2816 SetOutPath "$INSTDIR\Documentation"
2817 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2819 SetOutPath "$INSTDIR\Client\Program"
2820 File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll"
2821 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2823 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2824 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2827 SetOutPath "$INSTDIR\Common"
2828 File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll"
2829 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll"
2830 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll"
2831 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll"
2832 File "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll"
2833 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll"
2834 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll"
2835 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll"
2836 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll"
2837 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2838 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2839 File "..\..\doc\help\pt_BR\afs-light.CNT"
2840 File "..\..\doc\help\pt_BR\afs-light.hlp"
2841 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2842 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2843 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2844 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2845 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2846 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2847 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2848 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2851 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2852 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2853 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2854 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2855 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2856 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2857 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2858 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2864 SetOutPath "$INSTDIR\Documentation"
2865 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2867 SetOutPath "$INSTDIR\Client\Program"
2868 File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll"
2869 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2871 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2872 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2875 SetOutPath "$INSTDIR\Common"
2876 File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll"
2877 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll"
2878 File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll"
2879 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll"
2880 File "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll"
2881 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll"
2882 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll"
2883 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll"
2884 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll"
2885 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2886 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2887 File "..\..\doc\help\zh_CN\afs-light.CNT"
2888 File "..\..\doc\help\zh_CN\afs-light.hlp"
2889 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2890 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2891 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2892 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2893 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2894 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2895 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2896 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2899 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
2900 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
2901 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
2902 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
2903 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
2904 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
2905 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
2906 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
2912 SetOutPath "$INSTDIR\Documentation"
2913 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
2915 SetOutPath "$INSTDIR\Client\Program"
2916 File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll"
2917 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
2919 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
2920 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
2923 SetOutPath "$INSTDIR\Common"
2924 File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll"
2925 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll"
2926 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll"
2927 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll"
2928 File "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll"
2929 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll"
2930 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll"
2931 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll"
2932 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll"
2933 File "..\..\doc\help\zh_TW\afs-cc.CNT"
2934 File "..\..\doc\help\zh_TW\afs-cc.hlp"
2935 File "..\..\doc\help\zh_TW\afs-light.CNT"
2936 File "..\..\doc\help\zh_TW\afs-light.hlp"
2937 File "..\..\doc\help\zh_TW\afs-nt.CNT"
2938 File "..\..\doc\help\zh_TW\afs-nt.HLP"
2939 File "..\..\doc\help\zh_TW\taafscfg.CNT"
2940 File "..\..\doc\help\zh_TW\taafscfg.hlp"
2941 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
2942 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
2943 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
2944 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
2947 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
2948 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
2949 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
2950 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
2951 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
2952 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
2953 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
2954 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
2963 ;====================================================
2964 ; AddToPath - Adds the given dir to the search path.
2965 ; Input - head of the stack
2966 ; Note - Win9x systems requires reboot
2967 ;====================================================
2974 # don't add if the path doesn't exist
2975 IfFileExists $0 "" AddToPath_done
2982 StrCmp $2 "" "" AddToPath_done
2987 StrCmp $2 "" "" AddToPath_done
2988 GetFullPathName /SHORT $3 $0
2993 StrCmp $2 "" "" AddToPath_done
2998 StrCmp $2 "" "" AddToPath_done
3002 StrCmp $1 1 AddToPath_NT
3005 FileOpen $1 "$1\autoexec.bat" a
3008 IntCmp $2 26 0 +2 +2 # DOS EOF
3009 FileSeek $1 -1 END # write over EOF
3010 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3016 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3017 StrCpy $2 $1 1 -1 # copy last char
3018 StrCmp $2 ";" 0 +2 # if last char == ;
3019 StrCpy $1 $1 -1 # remove last char
3020 StrCmp $1 "" AddToPath_NTdoIt
3023 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3024 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3033 ;====================================================
3034 ; RemoveFromPath - Remove a given dir from the path
3035 ; Input: head of the stack
3036 ;====================================================
3037 Function un.RemoveFromPath
3046 IntFmt $6 "%c" 26 # DOS EOF
3050 StrCmp $1 1 unRemoveFromPath_NT
3053 FileOpen $1 "$1\autoexec.bat" r
3056 GetFullPathName /SHORT $0 $0
3057 StrCpy $0 "SET PATH=%PATH%;$0"
3058 Goto unRemoveFromPath_dosLoop
3060 unRemoveFromPath_dosLoop:
3062 StrCpy $5 $3 1 -1 # read last char
3063 StrCmp $5 $6 0 +2 # if DOS EOF
3064 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3065 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3066 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3067 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3068 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3070 Goto unRemoveFromPath_dosLoop
3071 unRemoveFromPath_dosLoopRemoveLine:
3073 Goto unRemoveFromPath_dosLoop
3075 unRemoveFromPath_dosLoopEnd:
3079 Delete "$1\autoexec.bat"
3080 CopyFiles /SILENT $4 "$1\autoexec.bat"
3082 Goto unRemoveFromPath_done
3084 unRemoveFromPath_NT:
3085 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3086 StrCpy $5 $1 1 -1 # copy last char
3087 StrCmp $5 ";" +2 # if last char != ;
3088 StrCpy $1 "$1;" # append ;
3091 Call un.StrStr ; Find `$0;` in $1
3092 Pop $2 ; pos of our dir
3093 StrCmp $2 "" unRemoveFromPath_done
3094 ; else, it is in path
3099 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3100 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3103 StrCpy $5 $3 1 -1 # copy last char
3104 StrCmp $5 ";" 0 +2 # if last char == ;
3105 StrCpy $3 $3 -1 # remove last char
3107 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3108 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3110 unRemoveFromPath_done:
3120 ;====================================================
3121 ; IsNT - Returns 1 if the current system is NT, 0
3123 ; Output: head of the stack
3124 ;====================================================
3128 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3129 StrCmp $0 "" 0 IsNT_yes
3141 !insertmacro IsNT ""
3142 !insertmacro IsNT "un."
3144 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3146 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3147 ;====================================================
3148 ; StrStr - Finds a given string in another given string.
3149 ; Returns -1 if not found and the pos if found.
3150 ; Input: head of the stack - string to find
3151 ; second in the stack - string to find in
3152 ; Output: head of the stack
3153 ;====================================================
3155 Function ${un}StrStr
3156 Exch $R1 ; st=haystack,old$R1, $R1=needle
3157 Exch ; st=old$R1,haystack
3158 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3170 StrCpy $R5 $R2 $R3 $R4
3176 StrCpy $R1 $R2 "" $R4
3184 !insertmacro StrStr ""
3185 !insertmacro StrStr "un."
3188 !ifdef ADDSHAREDDLLUSED
3191 ; Increments a shared DLLs reference count.
3192 ; Use by passing one item on the stack (the full path of the DLL).
3195 ; Push $SYSDIR\myDll.dll
3199 Function AddSharedDLL
3202 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3204 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3210 ; un.RemoveSharedDLL
3212 ; Decrements a shared DLLs reference count, and removes if necessary.
3213 ; Use by passing one item on the stack (the full path of the DLL).
3214 ; Note: for use in the main installer (not the uninstaller), rename the
3215 ; function to RemoveSharedDLL.
3218 ; Push $SYSDIR\myDll.dll
3219 ; Call un.RemoveSharedDLL
3222 Function un.RemoveSharedDLL
3225 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3226 StrCmp $R0 "" remove
3228 IntCmp $R0 0 rk rk uk
3230 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3233 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3236 Delete /REBOOTOK $R1
3245 !ifdef INSTALL_LOOPBACK
3246 Function afs.InstallMSLoopback
3248 File /oname=$R0 "loopback_install.dll"
3249 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
3250 Call GetWindowsVersion
3252 StrCmp $R1 "2000" +1 +2
3253 nsExec::Exec "rundll32.exe $R0 disableLoopBackEntry"
3261 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3262 ; Updated by Joost Verburg
3264 ; Returns on top of stack
3266 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3268 ; '' (Unknown Windows Version)
3271 ; Call GetWindowsVersion
3273 ; ; at this point $R0 is "NT 4.0" or whatnot
3275 Function GetWindowsVersion
3282 ReadRegStr $R0 HKLM \
3283 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3285 IfErrors 0 lbl_winnt
3288 ReadRegStr $R0 HKLM \
3289 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3292 StrCmp $R1 '4' 0 lbl_error
3296 StrCmp $R1 '4.0' lbl_win32_95
3297 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3315 StrCmp $R1 '3' lbl_winnt_x
3316 StrCmp $R1 '4' lbl_winnt_x
3320 StrCmp $R1 '5.0' lbl_winnt_2000
3321 StrCmp $R1 '5.1' lbl_winnt_XP
3322 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3325 StrCpy $R0 "NT $R0" 6
3350 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3351 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3352 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3353 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3357 ; Pop $R0 ; at this point $R0 is "true" or "false"
3359 Function IsUserAdmin
3368 UserInfo::GetAccountType
3371 StrCmp $R2 "Admin" 0 Continue
3372 ; Observation: I get here when running Win98SE. (Lilla)
3373 ; The functions UserInfo.dll looks for are there on Win98 too,
3374 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3375 ; on Win98, returns admin anyway. (per kichik)
3376 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3381 ; You should still check for an empty string because the functions
3382 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3385 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3389 ; comment/message below is by UserInfo.nsi author:
3390 ; This one means you don't need to care about admin or
3391 ; not admin because Windows 9x doesn't either
3392 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3396 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3404 ; input, top of stack (e.g. C:\Program Files\Poop)
3405 ; output, top of stack (replaces, with e.g. C:\Program Files)
3406 ; modifies no other variables.
3409 ; Push "C:\Program Files\Directory\Whatever"
3412 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3426 IntCmp $R1 $R2 get 0 get
3427 StrCpy $R3 $R0 1 -$R1
3442 ;--------------------------------
3443 ;Handle what must and what must not be installed
3444 Function .onSelChange
3445 ; If they install the server, they MUST install the client
3446 SectionGetFlags ${secServer} $R0
3447 IntOp $R0 $R0 & ${SF_SELECTED}
3448 StrCmp $R0 "1" MakeClientSelected
3450 ; If they install the control center, we'll give them the client.
3451 ; It may not be required, but it's a bit more useful
3452 SectionGetFlags ${secControl} $R0
3453 IntOp $R0 $R0 & ${SF_SELECTED}
3454 StrCmp $R0 "1" MakeClientSelected
3458 SectionGetFlags ${secClient} $R0
3459 IntOp $R0 $R0 | ${SF_SELECTED}
3460 SectionSetFlags ${secClient} $R0
3465 Function RegWriteMultiStr
3466 !define HKEY_CLASSES_ROOT 0x80000000
3467 !define HKEY_CURRENT_USER 0x80000001
3468 !define HKEY_LOCAL_MACHINE 0x80000002
3469 !define HKEY_USERS 0x80000003
3470 !define HKEY_PERFORMANCE_DATA 0x80000004
3471 !define HKEY_PERFORMANCE_TEXT 0x80000050
3472 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3473 !define HKEY_CURRENT_CONFIG 0x80000005
3474 !define HKEY_DYN_DATA 0x80000006
3476 !define KEY_QUERY_VALUE 0x0001
3477 !define KEY_SET_VALUE 0x0002
3478 !define KEY_CREATE_SUB_KEY 0x0004
3479 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3480 !define KEY_NOTIFY 0x0010
3481 !define KEY_CREATE_LINK 0x0020
3485 !define REG_EXPAND_SZ 2
3486 !define REG_BINARY 3
3488 !define REG_DWORD_LITTLE_ENDIAN 4
3489 !define REG_DWORD_BIG_ENDIAN 5
3491 !define REG_MULTI_SZ 7
3493 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3494 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3495 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3502 SetPluginUnload alwaysoff
3503 ; Create a buffer for the multi_sz value
3504 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3505 ; Open/create the registry key
3506 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3509 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3513 ; Fill in the buffer with our strings
3514 StrCpy $2 $1 ; Initial position
3516 StrLen $9 '$REG_DATA_1' ; Length of first string
3517 IntOp $9 $9 + 1 ; Plus null
3518 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3519 IntOp $2 $2 + $9 ; Advance to the next position
3521 StrCmp '$REG_DATA_2' "" terminate
3522 StrLen $9 '$REG_DATA_2' ; Length of second string
3523 IntOp $9 $9 + 1 ; Plus null
3524 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3525 IntOp $2 $2 + $9 ; Advance to the next position
3527 StrCmp '$REG_DATA_3' "" terminate
3528 StrLen $9 '$REG_DATA_3' ; Length of third string
3529 IntOp $9 $9 + 1 ; Plus null
3530 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3531 IntOp $2 $2 + $9 ; Advance to the next position
3534 System::Call "*$2(&t1 '')" ; Place the terminating null
3535 IntOp $2 $2 + 1 ; Advance to the next position
3537 ; Create/write the value
3538 IntOp $2 $2 - $1 ; Total length
3539 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3542 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3546 ; Close the registry key
3547 System::Call "${RegCloseKey}(r0)"
3551 SetPluginUnload manual