1 ;OpenAFS Install Script for NSIS
3 ; Written by Rob Murawski <rsm4@ieee.org>
6 ;NSIS Modern User Interface version 1.63
7 ;MultiLanguage Example Script
8 ;Written by Joost Verburg
10 ; Read in the environment information
11 !include ${INCLUDEDIR}\nsi-includes.nsi
12 ; Define DEBUG if building a DEBUG installer
14 ; This version compiles with NSIS v2.0
18 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
20 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
21 !endif ; End DEBUG/!DEBUG
24 Name "OpenAFS ${AFS_VERSION}"
26 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
27 !endif ; End DEBUG/!DEBUG
29 VIProductVersion "${AFS_VERSION}.00"
30 VIAddVersionKey "ProductName" "OpenAFS"
31 VIAddVersionKey "CompanyName" "OpenAFS.org"
32 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
33 VIAddVersionKey "FileVersion" ${AFS_VERSION}
34 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
35 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
37 VIAddVersionKey "PrivateBuild" "Checked/Debug"
44 ;--------------------------------
49 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
51 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
55 !define MUI_ICON "..\..\client_config\afs_config.ico"
56 !define MUI_UNICON "..\..\client_config\afs_config.ico"
57 !define AFS_COMPANY_NAME "OpenAFS"
58 !define AFS_PRODUCT_NAME "OpenAFS"
59 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
62 ;Folder selection page
63 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
65 ;Remember install folder
66 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
68 ;Remember the installer language
69 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
70 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
71 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
74 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
75 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
76 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
77 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
78 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
79 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
80 !define SYSTEMDIR "$%SystemRoot%\System32"
82 ;--------------------------------
83 ;Modern UI Configuration
85 ;!define MUI_LICENSEPAGE
86 !define MUI_CUSTOMPAGECOMMANDS
87 !define MUI_WELCOMEPAGE
88 !define MUI_COMPONENTSPAGE
89 !define MUI_COMPONENTSPAGE_SMALLDESC
90 !define MUI_DIRECTORYPAGE
92 !define MUI_ABORTWARNING
93 !define MUI_FINISHPAGE
95 !define MUI_UNINSTALLER
96 !define MUI_UNCONFIRMPAGE
99 !insertmacro MUI_PAGE_WELCOME
100 !insertmacro MUI_PAGE_COMPONENTS
101 !insertmacro MUI_PAGE_DIRECTORY
102 Page custom AFSPageGetCellServDB
103 Page custom AFSPageGetCellName
104 !insertmacro MUI_PAGE_INSTFILES
105 !insertmacro MUI_PAGE_FINISH
107 ;LicenseData "Licenses.rtf"
108 ;--------------------------------
111 !insertmacro MUI_LANGUAGE "English"
112 ;!insertmacro MUI_LANGUAGE "French"
113 !insertmacro MUI_LANGUAGE "German"
114 !insertmacro MUI_LANGUAGE "Spanish"
115 !insertmacro MUI_LANGUAGE "SimpChinese"
116 !insertmacro MUI_LANGUAGE "TradChinese"
117 !insertmacro MUI_LANGUAGE "Japanese"
118 !insertmacro MUI_LANGUAGE "Korean"
119 ;!insertmacro MUI_LANGUAGE "Italian"
120 ;!insertmacro MUI_LANGUAGE "Dutch"
121 ;!insertmacro MUI_LANGUAGE "Danish"
122 ;!insertmacro MUI_LANGUAGE "Greek"
123 ;!insertmacro MUI_LANGUAGE "Russian"
124 !insertmacro MUI_LANGUAGE "PortugueseBR"
125 ;!insertmacro MUI_LANGUAGE "Polish"
126 ;!insertmacro MUI_LANGUAGE "Ukrainian"
127 ;!insertmacro MUI_LANGUAGE "Czech"
128 ;!insertmacro MUI_LANGUAGE "Slovak"
129 ;!insertmacro MUI_LANGUAGE "Croatian"
130 ;!insertmacro MUI_LANGUAGE "Bulgarian"
131 ;!insertmacro MUI_LANGUAGE "Hungarian"
132 ;!insertmacro MUI_LANGUAGE "Thai"
133 ;!insertmacro MUI_LANGUAGE "Romanian"
134 ;!insertmacro MUI_LANGUAGE "Macedonian"
135 ;!insertmacro MUI_LANGUAGE "Turkish"
137 ;--------------------------------
141 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
142 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
143 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
144 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
145 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
146 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
147 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
148 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
149 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
150 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
151 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
152 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
153 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
154 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
155 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
156 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
157 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
158 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
159 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
160 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
161 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
162 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
163 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
164 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
165 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
167 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
168 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
169 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
170 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
171 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
172 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
173 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
174 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
176 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
177 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
178 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
179 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
180 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
181 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
182 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
183 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
185 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
186 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
187 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
188 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
189 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
190 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
191 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
192 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
194 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
195 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
196 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
197 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
198 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
199 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
200 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
201 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
203 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
204 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
205 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
206 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
207 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
208 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
209 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
210 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
212 ; Popup error messages
213 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
214 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
215 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
216 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
217 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
218 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
219 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
220 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
222 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
223 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
224 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
225 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
226 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
227 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
228 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
229 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
231 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
232 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
233 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
234 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
235 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
236 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
237 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
238 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
241 ; Upgrade/re-install strings
242 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
243 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
244 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
245 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
246 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
247 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
248 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
249 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
251 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
252 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
253 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
254 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
255 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
256 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
257 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
258 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
260 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
261 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
262 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
263 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
264 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
265 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
266 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
267 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
269 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
270 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
271 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
272 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
273 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
274 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
275 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
276 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
278 ReserveFile "CellServPage.ini"
279 ReserveFile "AFSCell.ini"
280 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
281 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
282 ;--------------------------------
284 ; Macro - Upgrade DLL File
285 ; Written by Joost Verburg
286 ; ------------------------
289 ; LOCALFILE - Location of the new DLL file (on the compiler system)
290 ; DESTFILE - Location of the DLL file that should be upgraded
291 ; (on the user's system)
292 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
293 ; when the system has to be rebooted.
294 ; For Win9x support, this should be on the same volume as the
296 ; The Windows temp directory could be located on any volume,
297 ; so you cannot use this directory.
299 ; Define UPGRADEDLL_NOREGISTER if you want to upgrade a DLL that does not
300 ; have to be registered.
302 ; Note: If you want to support Win9x, you can only use
303 ; short filenames (8.3).
306 ; !insertmacro UpgradeDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
309 !macro UpgradeDLL LOCALFILE DESTFILE TEMPBASEDIR
318 ;------------------------
319 ;Unique number for labels
321 !define UPGRADEDLL_UNIQUE ${__LINE__}
323 ;------------------------
324 ;Copy the parameters used on run-time to a variable
325 ;This allows the usage of variables as paramter
327 StrCpy $R4 "${DESTFILE}"
328 StrCpy $R5 "${TEMPBASEDIR}"
330 ;------------------------
331 ;Check file and version
333 IfFileExists $R4 0 upgradedll.copy_${UPGRADEDLL_UNIQUE}
336 GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
337 GetDLLVersion $R4 $R2 $R3
338 IfErrors upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
340 IntCmpU $R0 $R2 0 upgradedll.done_${UPGRADEDLL_UNIQUE} \
341 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
342 IntCmpU $R1 $R3 upgradedll.done_${UPGRADEDLL_UNIQUE} \
343 upgradedll.done_${UPGRADEDLL_UNIQUE} \
344 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
346 ;------------------------
347 ;Let's upgrade the DLL!
351 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}:
352 !ifndef UPGRADEDLL_NOREGISTER
357 ;------------------------
358 ;Try to copy the DLL directly
362 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
363 IfErrors 0 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}
365 ;------------------------
366 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
368 GetTempFileName $R0 $R5
369 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
370 Rename /REBOOTOK $R0 $R4
372 ;------------------------
373 ;Register the DLL on reboot
375 !ifndef UPGRADEDLL_NOREGISTER
376 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
377 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
380 Goto upgradedll.done_${UPGRADEDLL_UNIQUE}
382 ;------------------------
383 ;DLL does not exist - just extract
385 upgradedll.copy_${UPGRADEDLL_UNIQUE}:
387 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
389 ;------------------------
392 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}:
393 !ifndef UPGRADEDLL_NOREGISTER
397 ;------------------------
400 upgradedll.done_${UPGRADEDLL_UNIQUE}:
409 ;------------------------
412 Goto upgradedll.end_${UPGRADEDLL_UNIQUE}
414 ;------------------------
415 ;Called to extract the DLL
417 upgradedll.file_${UPGRADEDLL_UNIQUE}:
418 File /oname=$R0 "${LOCALFILE}"
421 upgradedll.end_${UPGRADEDLL_UNIQUE}:
423 ;------------------------
426 SetOverwrite lastused
428 !undef UPGRADEDLL_UNIQUE
433 ;--------------------------------
436 ;Things that need to be extracted on first (keep these lines before any File command!)
437 ;Only useful for BZIP2 compression
438 !insertmacro MUI_RESERVEFILE_LANGDLL
440 ;--------------------------------
450 ;--------------------------------
453 ;----------------------
455 Section "AFS Client" secClient
457 SetShellVarContext all
459 ; Check for bad previous installation (if we are doing a new install)
460 Call IsAnyAFSInstalled
462 StrCmp $R0 "0" +1 skipCheck
466 ; Stop any running services or we can't replace the files
467 ; Stop the running processes
469 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
470 nsExec::Exec '$R0 afscreds.exe'
471 Exec "afscreds.exe -z"
472 ; in case we are upgrading an old version that does not support -z
473 nsExec::Exec '$R0 afscreds.exe'
475 ;nsExec::Exec '$R0 krbcc32s.exe'
478 nsExec::Exec "net stop TransarcAFSDaemon"
479 nsExec::Exec "net stop TransarcAFSServer"
481 ; Do client components
482 SetOutPath "$INSTDIR\Client\Program"
483 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
484 !define UPGRADEDLL_NOREGISTER
485 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
486 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
487 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
488 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
489 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
490 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
491 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
492 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
493 File "${AFS_BUILD_INCDIR}\afs\auth.h"
494 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
495 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
496 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
497 File "${AFS_DESTDIR}\bin\kpasswd.exe"
498 File "${AFS_SERVER_BUILDDIR}\pts.exe"
499 File "${AFS_SERVER_BUILDDIR}\bos.exe"
500 File "${AFS_SERVER_BUILDDIR}\kas.exe"
501 File "${AFS_SERVER_BUILDDIR}\vos.exe"
502 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
503 File "${AFS_DESTDIR}\bin\translate_et.exe"
504 File "${AFS_DESTDIR}\etc\rxdebug.exe"
505 File "${AFS_DESTDIR}\etc\backup.exe"
508 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
509 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
510 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
511 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
512 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
513 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
514 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
515 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
516 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
517 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
518 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
519 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
520 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
521 ;File "${AFS_SERVER_BUILDDIR}\pts.pdb"
522 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
523 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
524 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
525 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
526 File "${AFS_DESTDIR}\bin\translate_et.pdb"
527 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
528 File "${AFS_DESTDIR}\etc\backup.pdb"
536 ; Do WINDOWSDIR components
538 ; Do Windows SYSDIR (Control panel)
540 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
542 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
545 ; Get AFS CellServDB file
546 Call afs.GetCellServDB
547 !ifdef INSTALL_LOOPBACK
548 Call afs.InstallMSLoopback
552 ; Include Kerberos for Windows files in the installer...
553 SetOutPath "$INSTDIR\kfw\bin\"
554 File "${KFW_SOURCE}\bin\*"
555 SetOutPath "$INSTDIR\kfw\doc"
556 File "${KFW_SOURCE}\doc\*"
559 ;Store install folder
560 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
561 Call AFSCommon.Install
563 ; Write registry entries
564 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
565 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
566 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
567 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
568 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
569 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
572 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
573 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
574 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
575 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
576 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
577 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
578 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
579 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
580 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
581 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
582 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
583 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
585 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
586 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
587 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
588 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
590 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
591 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
593 ; Delete the DEBUG string
594 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
595 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
598 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
599 Call GetWindowsVersion
601 StrCmp $R1 "2000" +1 +2
602 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
604 ;Write start menu entries
605 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
606 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
607 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
608 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
610 Push "$INSTDIR\Client\Program"
612 Push "$INSTDIR\Common"
616 ; Add kfw to path too
617 Push "$INSTDIR\kfw\bin"
621 ; Create the AFS service
622 SetOutPath "$INSTDIR\Common"
623 File "${AFS_WININSTALL_DIR}\Service.exe"
624 nsExec::Exec "net stop TransarcAFSDaemon"
625 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
626 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
628 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
629 StrCmp $R2 "" +1 skipremove
630 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
631 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
633 Delete "$INSTDIR\Common\service.exe"
636 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
637 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
638 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
639 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
640 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
641 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
643 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
644 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
645 ; to also include the service name.
647 ReadINIStr $R0 $1 "Field 7" "State"
648 ReadINIStr $R1 $1 "Field 9" "State"
649 ; Complicated way to do $R1 = ($R1 *2) + $R0
652 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R1
653 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x"
654 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
657 ReadINIStr $R0 $1 "Field 2" "State"
658 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
659 ReadINIStr $R0 $1 "Field 3" "State"
660 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
661 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
662 ReadINIStr $R0 $1 "Field 5" "State"
663 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
664 ReadINIStr $R0 $1 "Field 11" "State"
665 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
666 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
667 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
668 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
669 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
670 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
671 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "TruncateNetbios" "on"
673 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
676 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider"
677 strcpy $REG_VALUE "DependOnGroup"
678 strcpy $REG_DATA_1 "PNP_TDI"
679 strcpy $REG_DATA_2 ""
680 strcpy $REG_DATA_3 ""
681 Call RegWriteMultiStr
682 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider"
683 strcpy $REG_VALUE "DependOnService"
684 strcpy $REG_DATA_1 "Tcpip"
685 strcpy $REG_DATA_2 "NETBIOS"
686 strcpy $REG_DATA_3 "RpcSs"
687 Call RegWriteMultiStr
691 WriteUninstaller "$INSTDIR\Uninstall.exe"
695 ;------------------------
697 Section "AFS Server" secServer
699 SetShellVarContext all
701 ; Check for bad previous installation (if we are doing a new install)
702 Call IsAnyAFSInstalled
704 StrCmp $R0 "0" +1 skipCheck
708 ; Stop any running services or we can't replace the files
709 ; Stop the running processes
711 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
712 nsExec::Exec '$R0 afscreds.exe'
713 Exec "afscreds.exe -z"
714 ; in case we are upgrading an old version that does not support -z
716 nsExec::Exec '$R0 afscreds.exe'
718 ;nsExec::Exec '$R0 krbcc32s.exe'
721 nsExec::Exec "net stop TransarcAFSDaemon"
722 nsExec::Exec "net stop TransarcAFSServer"
724 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
725 CreateDirectory "$INSTDIR\Server\usr\afs\local"
726 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
728 SetOutPath "$INSTDIR\Server\usr\afs\bin"
729 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
730 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
731 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
732 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
733 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
734 File "${AFS_ETC_BUILDDIR}\butc.exe"
735 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
736 File "${AFS_ETC_BUILDDIR}\fms.exe"
737 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
738 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
739 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
740 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
741 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
742 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
743 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
744 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
747 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
748 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
749 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
750 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
751 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
752 File "${AFS_ETC_BUILDDIR}\butc.pdb"
753 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
754 File "${AFS_ETC_BUILDDIR}\fms.pdb"
755 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
756 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
757 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
758 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
759 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
760 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
761 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
762 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
765 ;AFS Server common files
766 SetOutPath "$INSTDIR\Common"
767 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
768 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
769 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
770 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
771 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
774 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
775 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
776 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
777 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
778 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
780 SetOutPath "$INSTDIR\Common"
784 File "${AFS_SERVER_BUILDDIR}\afsserver.cpl"
787 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
790 ;Store install folder
791 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
793 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
794 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
795 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
796 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
797 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
798 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
799 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
800 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
801 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
802 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
803 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
804 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
805 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
806 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
807 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
808 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
809 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
811 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
812 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
814 ; Delete the DEBUG string
815 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
816 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
818 ; Install the service
819 SetOutPath "$INSTDIR\Common"
820 File "${AFS_WININSTALL_DIR}\Service.exe"
822 File "${AFS_WININSTALL_DIR}\Service.pdb"
824 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
825 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
826 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
827 Delete "$INSTDIR\Common\service.exe"
829 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
830 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
832 ; Make the server config wizard auto-start on bootup
833 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
835 WriteUninstaller "$INSTDIR\Uninstall.exe"
840 ;----------------------------
841 ; OpenAFS Control Center
842 Section "AFS Control Center" secControl
844 SetShellVarContext all
846 SetOutPath "$INSTDIR\Control Center"
847 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
848 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
849 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
852 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
853 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
854 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
857 ;AFS Server common files
858 Call AFSCommon.Install
860 SetOutPath "$INSTDIR\Common"
862 SetOutPath "$INSTDIR\Common"
865 File "${SYSTEMDIR}\msvcr71d.dll"
866 File "${SYSTEMDIR}\msvcr71d.pdb"
867 File "${SYSTEMDIR}\msvcp71d.dll"
868 File "${SYSTEMDIR}\msvcp71d.pdb"
869 File "${SYSTEMDIR}\mfc71d.dll"
870 File "${SYSTEMDIR}\mfc71d.pdb"
871 File "${SYSTEMDIR}\MFC71CHS.DLL"
872 File "${SYSTEMDIR}\MFC71CHT.DLL"
873 File "${SYSTEMDIR}\MFC71DEU.DLL"
874 File "${SYSTEMDIR}\MFC71ENU.DLL"
875 File "${SYSTEMDIR}\MFC71ESP.DLL"
876 File "${SYSTEMDIR}\MFC71FRA.DLL"
877 File "${SYSTEMDIR}\MFC71ITA.DLL"
878 File "${SYSTEMDIR}\MFC71JPN.DLL"
879 File "${SYSTEMDIR}\MFC71KOR.DLL"
882 File "${SYSTEMDIR}\msvcr70d.dll"
883 File "${SYSTEMDIR}\msvcr70d.pdb"
884 File "${SYSTEMDIR}\msvcp70d.dll"
885 File "${SYSTEMDIR}\msvcp70d.pdb"
886 File "${SYSTEMDIR}\mfc70d.dll"
887 File "${SYSTEMDIR}\mfc70d.pdb"
888 File "${SYSTEMDIR}\MFC70CHS.DLL"
889 File "${SYSTEMDIR}\MFC70CHT.DLL"
890 File "${SYSTEMDIR}\MFC70DEU.DLL"
891 File "${SYSTEMDIR}\MFC70ENU.DLL"
892 File "${SYSTEMDIR}\MFC70ESP.DLL"
893 File "${SYSTEMDIR}\MFC70FRA.DLL"
894 File "${SYSTEMDIR}\MFC70ITA.DLL"
895 File "${SYSTEMDIR}\MFC70JPN.DLL"
896 File "${SYSTEMDIR}\MFC70KOR.DLL"
898 File "${SYSTEMDIR}\mfc42d.dll"
899 File "${SYSTEMDIR}\mfc42d.pdb"
900 File "${SYSTEMDIR}\msvcp60d.dll"
901 File "${SYSTEMDIR}\msvcp60d.pdb"
902 File "${SYSTEMDIR}\msvcrtd.dll"
903 File "${SYSTEMDIR}\msvcrtd.pdb"
908 File "${SYSTEMDIR}\mfc71.dll"
909 File "${SYSTEMDIR}\msvcr71.dll"
910 File "${SYSTEMDIR}\msvcp71.dll"
911 File "${SYSTEMDIR}\MFC71CHS.DLL"
912 File "${SYSTEMDIR}\MFC71CHT.DLL"
913 File "${SYSTEMDIR}\MFC71DEU.DLL"
914 File "${SYSTEMDIR}\MFC71ENU.DLL"
915 File "${SYSTEMDIR}\MFC71ESP.DLL"
916 File "${SYSTEMDIR}\MFC71FRA.DLL"
917 File "${SYSTEMDIR}\MFC71ITA.DLL"
918 File "${SYSTEMDIR}\MFC71JPN.DLL"
919 File "${SYSTEMDIR}\MFC71KOR.DLL"
922 File "${SYSTEMDIR}\mfc70.dll"
923 File "${SYSTEMDIR}\msvcr70.dll"
924 File "${SYSTEMDIR}\msvcp70.dll"
925 File "${SYSTEMDIR}\MFC70CHS.DLL"
926 File "${SYSTEMDIR}\MFC70CHT.DLL"
927 File "${SYSTEMDIR}\MFC70DEU.DLL"
928 File "${SYSTEMDIR}\MFC70ENU.DLL"
929 File "${SYSTEMDIR}\MFC70ESP.DLL"
930 File "${SYSTEMDIR}\MFC70FRA.DLL"
931 File "${SYSTEMDIR}\MFC70ITA.DLL"
932 File "${SYSTEMDIR}\MFC70JPN.DLL"
933 File "${SYSTEMDIR}\MFC70KOR.DLL"
935 File "${SYSTEMDIR}\mfc42.dll"
936 File "${SYSTEMDIR}\msvcp60.dll"
937 File "${SYSTEMDIR}\msvcrt.dll"
941 ;Store install folder
942 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
943 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
944 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
945 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
946 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
947 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
948 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
949 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
950 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
952 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
953 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
955 ; Delete the DEBUG string
956 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
957 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
960 ;Write start menu entries
961 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
962 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
963 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
965 WriteUninstaller "$INSTDIR\Uninstall.exe"
970 ;----------------------------
971 ; OpenAFS Supplemental Documentation
972 Section "Supplemental Documentation" secDocs
973 SetShellVarContext all
975 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
976 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
977 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
978 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
979 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
980 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
981 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
982 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
986 SetOutPath "$INSTDIR\Documentation\html"
987 File "..\..\doc\install\Documentation\en_US\html\*"
988 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
989 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
990 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
991 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
992 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
993 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
994 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
995 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
999 SetOutPath "$INSTDIR\Documentation"
1000 File "..\..\doc\install\Documentation\de_DE\README.TXT"
1001 SetOutPath "$INSTDIR\Documentation\html"
1002 File "..\..\doc\install\Documentation\de_DE\html\*"
1003 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1004 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
1005 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1006 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
1007 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1008 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
1009 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1010 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
1014 SetOutPath "$INSTDIR\Documentation"
1015 File "..\..\doc\install\Documentation\es_ES\README.TXT"
1016 SetOutPath "$INSTDIR\Documentation\html"
1017 File "..\..\doc\install\Documentation\es_ES\html\*"
1018 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1019 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
1020 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1021 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
1022 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1023 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
1024 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1025 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
1029 SetOutPath "$INSTDIR\Documentation"
1030 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
1031 SetOutPath "$INSTDIR\Documentation\html"
1032 File "..\..\doc\install\Documentation\ja_JP\html\*"
1033 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1034 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
1035 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1036 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
1037 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1038 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
1039 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1040 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
1044 SetOutPath "$INSTDIR\Documentation"
1045 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
1046 SetOutPath "$INSTDIR\Documentation\html"
1047 File "..\..\doc\install\Documentation\ko_KR\html\*"
1048 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1049 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1050 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1051 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
1052 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1053 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
1054 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1055 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1059 SetOutPath "$INSTDIR\Documentation"
1060 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1061 SetOutPath "$INSTDIR\Documentation\html"
1062 File "..\..\doc\install\Documentation\pt_BR\html\*"
1063 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1064 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1065 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1066 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1067 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1068 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1069 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1070 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1074 SetOutPath "$INSTDIR\Documentation"
1075 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1076 SetOutPath "$INSTDIR\Documentation\html"
1077 File "..\..\doc\install\Documentation\zh_CN\html\*"
1078 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1079 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1080 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1081 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1082 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1083 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1084 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1085 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1089 SetOutPath "$INSTDIR\Documentation"
1090 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1091 SetOutPath "$INSTDIR\Documentation\html"
1092 File "..\..\doc\install\Documentation\zh_TW\html\*"
1093 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1094 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1095 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1096 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1097 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1098 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1099 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1100 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1105 ;Store install folder
1106 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1107 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1108 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1109 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1110 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1111 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1112 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1113 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1114 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1116 ; Write start menu shortcut
1117 SetOutPath "$SMPROGRAMS\OpenAFS"
1118 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1121 WriteUninstaller "$INSTDIR\Uninstall.exe"
1122 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1123 Call AFSCommon.Install
1127 Section "Software Development Kit (SDK)" secSDK
1129 SetOutPath "$INSTDIR\Client\Program"
1131 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
1132 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
1133 File "${AFS_CLIENT_LIBDIR}\libafsconf.lib"
1134 File "${AFS_CLIENT_LIBDIR}\afsauthent.lib"
1137 SetOutPath "$INSTDIR\Client\Program\Include"
1138 File "${AFS_BUILD_INCDIR}\lock.h"
1139 File "${AFS_BUILD_INCDIR}\lwp.h"
1140 File "${AFS_BUILD_INCDIR}\preempt.h"
1141 File "${AFS_BUILD_INCDIR}\timer.h"
1142 File "${AFS_BUILD_INCDIR}\des.h"
1143 File "${AFS_BUILD_INCDIR}\des_conf.h"
1144 File "${AFS_BUILD_INCDIR}\mit-cpyright.h"
1145 ;File "${AFS_BUILD_INCDIR}\des-odd.h"
1146 File "${AFS_BUILD_INCDIR}\crypt.h"
1147 File "${AFS_BUILD_INCDIR}\pthread.h"
1148 File "${AFS_BUILD_INCDIR}\dbrpc.h"
1149 File "${AFS_BUILD_INCDIR}\basic.h"
1150 File "${AFS_BUILD_INCDIR}\osidebug.h"
1151 File "${AFS_BUILD_INCDIR}\osiltype.h"
1152 File "${AFS_BUILD_INCDIR}\osistatl.h"
1153 File "${AFS_BUILD_INCDIR}\trylock.h"
1154 File "${AFS_BUILD_INCDIR}\main.h"
1155 File "${AFS_BUILD_INCDIR}\osibasel.h"
1156 File "${AFS_BUILD_INCDIR}\osifd.h"
1157 File "${AFS_BUILD_INCDIR}\osiqueue.h"
1158 File "${AFS_BUILD_INCDIR}\osiutils.h"
1159 File "${AFS_BUILD_INCDIR}\osi.h"
1160 File "${AFS_BUILD_INCDIR}\osidb.h"
1161 File "${AFS_BUILD_INCDIR}\osilog.h"
1162 File "${AFS_BUILD_INCDIR}\osisleep.h"
1163 File "${AFS_BUILD_INCDIR}\perf.h"
1164 File "${AFS_BUILD_INCDIR}\ubik.h"
1165 File "${AFS_BUILD_INCDIR}\ubik_int.h"
1169 SetOutPath "$INSTDIR\Client\Program\Include\afs"
1170 File "${AFS_BUILD_INCDIR}\afs\afs_args.h"
1171 File "${AFS_BUILD_INCDIR}\afs\debug.h"
1172 File "${AFS_BUILD_INCDIR}\afs\param.h"
1173 File "${AFS_BUILD_INCDIR}\afs\afs_sysnames.h"
1174 ;File "${AFS_BUILD_INCDIR}\afs\permit_xprt.h"
1175 File "${AFS_BUILD_INCDIR}\afs\stds.h"
1176 File "${AFS_BUILD_INCDIR}\afs\icl.h"
1177 File "${AFS_BUILD_INCDIR}\afs\procmgmt.h"
1178 File "${AFS_BUILD_INCDIR}\afs\afsutil.h"
1179 File "${AFS_BUILD_INCDIR}\afs\assert.h"
1180 File "${AFS_BUILD_INCDIR}\afs\dirent.h"
1181 File "${AFS_BUILD_INCDIR}\afs\errors.h"
1182 File "${AFS_BUILD_INCDIR}\afs\itc.h"
1183 File "${AFS_BUILD_INCDIR}\afs\vice.h"
1184 File "${AFS_BUILD_INCDIR}\afs\pthread_glock.h"
1185 File "${AFS_BUILD_INCDIR}\afs\errmap_nt.h"
1186 File "${AFS_BUILD_INCDIR}\afs\dirpath.h"
1187 File "${AFS_BUILD_INCDIR}\afs\ktime.h"
1188 File "${AFS_BUILD_INCDIR}\afs\fileutil.h"
1189 File "${AFS_BUILD_INCDIR}\afs\secutil_nt.h"
1190 File "${AFS_BUILD_INCDIR}\afs\com_err.h"
1191 File "${AFS_BUILD_INCDIR}\afs\error_table.h"
1192 ;File "${AFS_BUILD_INCDIR}\afs\mit_sipb-cr.h"
1193 File "${AFS_BUILD_INCDIR}\afs\cmd.h"
1194 File "${AFS_BUILD_INCDIR}\afs\rxgen_consts.h"
1195 File "${AFS_BUILD_INCDIR}\afs\afsint.h"
1196 File "${AFS_BUILD_INCDIR}\afs\afscbint.h"
1197 File "${AFS_BUILD_INCDIR}\afs\audit.h"
1198 File "${AFS_BUILD_INCDIR}\afs\acl.h"
1199 File "${AFS_BUILD_INCDIR}\afs\prs_fs.h"
1200 File "${AFS_BUILD_INCDIR}\afs\afsd.h"
1201 File "${AFS_BUILD_INCDIR}\afs\cm.h"
1202 File "${AFS_BUILD_INCDIR}\afs\cm_buf.h"
1203 File "${AFS_BUILD_INCDIR}\afs\cm_cell.h"
1204 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
1205 File "${AFS_BUILD_INCDIR}\afs\cm_conn.h"
1206 File "${AFS_BUILD_INCDIR}\afs\cm_ioctl.h"
1207 File "${AFS_BUILD_INCDIR}\afs\cm_scache.h"
1208 File "${AFS_BUILD_INCDIR}\afs\cm_server.h"
1209 File "${AFS_BUILD_INCDIR}\afs\cm_user.h"
1210 File "${AFS_BUILD_INCDIR}\afs\cm_utils.h"
1211 File "${AFS_BUILD_INCDIR}\afs\fs_utils.h"
1212 File "${AFS_BUILD_INCDIR}\afs\krb.h"
1213 File "${AFS_BUILD_INCDIR}\afs\krb_prot.h"
1214 File "${AFS_BUILD_INCDIR}\afs\smb.h"
1215 File "${AFS_BUILD_INCDIR}\afs\smb3.h"
1216 File "${AFS_BUILD_INCDIR}\afs\smb_iocons.h"
1217 File "${AFS_BUILD_INCDIR}\afs\smb_ioctl.h"
1218 File "${AFS_BUILD_INCDIR}\afs\afsrpc.h"
1219 File "${AFS_BUILD_INCDIR}\afs\afssyscalls.h"
1220 File "${AFS_BUILD_INCDIR}\afs\pioctl_nt.h"
1221 File "${AFS_BUILD_INCDIR}\afs\auth.h"
1222 File "${AFS_BUILD_INCDIR}\afs\cellconfig.h"
1223 File "${AFS_BUILD_INCDIR}\afs\keys.h"
1224 File "${AFS_BUILD_INCDIR}\afs\ptserver.h"
1225 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
1226 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
1227 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
1228 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
1229 File "${AFS_BUILD_INCDIR}\afs\ptclient.h"
1230 File "${AFS_BUILD_INCDIR}\afs\prserver.h"
1231 File "${AFS_BUILD_INCDIR}\afs\print.h"
1232 File "${AFS_BUILD_INCDIR}\afs\prerror.h"
1233 File "${AFS_BUILD_INCDIR}\afs\prclient.h"
1234 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
1235 File "${AFS_BUILD_INCDIR}\afs\kauth.h"
1236 File "${AFS_BUILD_INCDIR}\afs\kaport.h"
1237 File "${AFS_BUILD_INCDIR}\afs\vl_opcodes.h"
1238 File "${AFS_BUILD_INCDIR}\afs\vlserver.h"
1239 File "${AFS_BUILD_INCDIR}\afs\vldbint.h"
1240 File "${AFS_BUILD_INCDIR}\afs\usd.h"
1241 File "${AFS_BUILD_INCDIR}\afs\bubasics.h"
1242 File "${AFS_BUILD_INCDIR}\afs\butc.h"
1243 File "${AFS_BUILD_INCDIR}\afs\bumon.h"
1244 File "${AFS_BUILD_INCDIR}\afs\butm.h"
1245 File "${AFS_BUILD_INCDIR}\afs\tcdata.h"
1246 File "${AFS_BUILD_INCDIR}\afs\budb.h"
1247 ;File "${AFS_BUILD_INCDIR}\afs\budb_errors.h"
1248 File "${AFS_BUILD_INCDIR}\afs\budb_client.h"
1249 File "${AFS_BUILD_INCDIR}\afs\dir.h"
1250 File "${AFS_BUILD_INCDIR}\afs\fssync.h"
1251 File "${AFS_BUILD_INCDIR}\afs\ihandle.h"
1252 File "${AFS_BUILD_INCDIR}\afs\nfs.h"
1253 File "${AFS_BUILD_INCDIR}\afs\ntops.h"
1254 File "${AFS_BUILD_INCDIR}\afs\partition.h"
1255 File "${AFS_BUILD_INCDIR}\afs\viceinode.h"
1256 File "${AFS_BUILD_INCDIR}\afs\vnode.h"
1257 File "${AFS_BUILD_INCDIR}\afs\volume.h"
1258 File "${AFS_BUILD_INCDIR}\afs\voldefs.h"
1259 File "${AFS_BUILD_INCDIR}\afs\volser.h"
1260 File "${AFS_BUILD_INCDIR}\afs\volint.h"
1261 File "${AFS_BUILD_INCDIR}\afs\fs_stats.h"
1262 File "${AFS_BUILD_INCDIR}\afs\bosint.h"
1263 File "${AFS_BUILD_INCDIR}\afs\bnode.h"
1266 SetOutPath "$INSTDIR\Client\Program\Include\rx"
1267 File "${AFS_BUILD_INCDIR}\rx\rx.h"
1268 File "${AFS_BUILD_INCDIR}\rx\rx_packet.h"
1269 File "${AFS_BUILD_INCDIR}\rx\rx_user.h"
1270 File "${AFS_BUILD_INCDIR}\rx\rx_event.h"
1271 File "${AFS_BUILD_INCDIR}\rx\rx_queue.h"
1272 File "${AFS_BUILD_INCDIR}\rx\rx_globals.h"
1273 File "${AFS_BUILD_INCDIR}\rx\rx_clock.h"
1274 File "${AFS_BUILD_INCDIR}\rx\rx_misc.h"
1275 File "${AFS_BUILD_INCDIR}\rx\rx_multi.h"
1276 File "${AFS_BUILD_INCDIR}\rx\rx_null.h"
1277 File "${AFS_BUILD_INCDIR}\rx\rx_lwp.h"
1278 File "${AFS_BUILD_INCDIR}\rx\rx_pthread.h"
1279 File "${AFS_BUILD_INCDIR}\rx\rx_xmit_nt.h"
1280 File "${AFS_BUILD_INCDIR}\rx\xdr.h"
1281 File "${AFS_BUILD_INCDIR}\rx\rxkad.h"
1286 SetOutPath "$INSTDIR\Client\Program\Sample"
1287 File "..\..\afsd\sample\token.c"
1289 ;Store install folder
1290 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1291 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1292 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1293 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1294 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1295 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1296 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1297 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1298 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1300 WriteUninstaller "$INSTDIR\Uninstall.exe"
1301 SetOutPath "$SMPROGRAMS\OpenAFS"
1302 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1304 Call AFSCommon.Install
1307 ;Display the Finish header
1308 ;Insert this macro after the sections if you are not using a finish page
1309 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1311 ;--------------------------------
1312 ;Installer Functions
1316 !insertmacro MUI_LANGDLL_DISPLAY
1318 ; Set the default install options
1323 StrCmp $R0 "true" contInstall
1325 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1329 ; Our logic should be like this.
1330 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1331 ; 2) If existing modules are installed, we keep them selected
1332 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1334 Call IsAnyAFSInstalled
1336 StrCmp $R0 "0" DefaultOptions
1338 Call ShouldClientInstall
1341 ; Check if it was an IBM/Transarc version
1342 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1343 StrCmp $R0 "IBM AFS Client" DoIBM
1344 StrCmp $R0 "Transarc AFS Client" DoIBM
1347 StrCmp $R2 "0" NoClient
1348 StrCmp $R2 "1" ReinstallClient
1349 StrCmp $R2 "2" UpgradeClient
1350 StrCmp $R2 "3" DowngradeClient
1353 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1354 StrCmp $R0 "3" +1 NotIBM
1359 SectionGetFlags ${secClient} $0
1360 IntOp $0 $0 | ${SF_SELECTED}
1361 SectionSetFlags ${secClient} $0
1362 ;# !insertmacro SelectSection ${secClient}
1365 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1366 SectionGetFlags ${secClient} $0
1367 IntOp $0 $0 & ${SECTION_OFF}
1368 SectionSetFlags ${secClient} $0
1371 SectionGetFlags ${secClient} $0
1372 IntOp $0 $0 | ${SF_SELECTED}
1373 SectionSetFlags ${secClient} $0
1374 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1377 SectionGetFlags ${secClient} $0
1378 IntOp $0 $0 | ${SF_SELECTED}
1379 SectionSetFlags ${secClient} $0
1380 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1383 SectionGetFlags ${secClient} $0
1384 IntOp $0 $0 | ${SF_SELECTED}
1385 SectionSetFlags ${secClient} $0
1386 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1392 Call ShouldServerInstall
1394 StrCmp $R2 "0" NoServer
1395 StrCmp $R2 "1" ReinstallServer
1396 StrCmp $R2 "2" UpgradeServer
1397 StrCmp $R2 "3" DowngradeServer
1399 SectionGetFlags ${secServer} $0
1400 IntOp $0 $0 | ${SF_SELECTED}
1401 SectionSetFlags ${secServer} $0
1402 ;# !insertmacro UnselectSection ${secServer}
1406 SectionGetFlags ${secServer} $0
1407 IntOp $0 $0 | ${SF_SELECTED}
1408 SectionSetFlags ${secServer} $0
1409 SectionSetText ${secServer} $(UPGRADE_SERVER)
1413 SectionGetFlags ${secServer} $0
1414 IntOp $0 $0 | ${SF_SELECTED}
1415 SectionSetFlags ${secServer} $0
1416 SectionSetText ${secServer} $(REINSTALL_SERVER)
1420 SectionGetFlags ${secServer} $0
1421 IntOp $0 $0 | ${SF_SELECTED}
1422 SectionSetFlags ${secServer} $0
1423 SectionSetText ${secServer} $(REINSTALL_SERVER)
1427 SectionGetFlags ${secServer} $0
1428 IntOp $0 $0 & ${SECTION_OFF}
1429 SectionSetFlags ${secServer} $0
1430 ;# !insertmacro UnselectSection ${secServer}
1434 ; Check control center
1435 Call IsControlInstalled
1437 StrCmp $R2 "0" NoControl
1439 SectionGetFlags ${secControl} $0
1440 IntOp $0 $0 | ${SF_SELECTED}
1441 SectionSetFlags ${secControl} $0
1445 SectionGetFlags ${secControl} $0
1446 IntOp $0 $0 & ${SECTION_OFF}
1447 SectionSetFlags ${secControl} $0
1448 ;# !insertmacro UnselectSection ${secControl}
1451 ; Check Documentation
1452 Call IsDocumentationInstalled
1454 StrCmp $R2 "0" NoDocs
1455 SectionGetFlags ${secDocs} $0
1456 IntOp $0 $0 | ${SF_SELECTED}
1457 SectionSetFlags ${secDocs} $0
1461 SectionGetFlags ${secDocs} $0
1462 IntOp $0 $0 & ${SECTION_OFF}
1463 SectionSetFlags ${secDocs} $0
1466 ; To check the SDK, we simply look to see if the files exist. If they do,
1467 ; the SDK is installed. If not, we don't need to push it on the user.
1468 ; If they are there, we want to make sure they match the installed version.
1470 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1471 SectionGetFlags ${secSDK} $0
1472 IntOp $0 $0 | ${SF_SELECTED}
1473 SectionSetFlags ${secSDK} $0
1477 SectionGetFlags ${secSDK} $0
1478 IntOp $0 $0 & ${SECTION_OFF}
1479 SectionSetFlags ${secSDK} $0
1484 SectionGetFlags ${secClient} $0
1485 IntOp $0 $0 | ${SF_SELECTED}
1486 SectionSetFlags ${secClient} $0
1488 ; Server NOT selected
1489 SectionGetFlags ${secServer} $0
1490 IntOp $0 $0 & ${SECTION_OFF}
1491 SectionSetFlags ${secServer} $0
1493 ; Control Center NOT selected
1494 SectionGetFlags ${secControl} $0
1495 IntOp $0 $0 & ${SECTION_OFF}
1496 SectionSetFlags ${secControl} $0
1497 ;# !insertmacro UnselectSection ${secControl}
1499 ; Documentation selected
1500 SectionGetFlags ${secDocs} $0
1501 IntOp $0 $0 | ${SF_SELECTED}
1502 SectionSetFlags ${secDocs} $0
1503 ;# !insertmacro UnselectSection ${secDocs}
1506 SectionGetFlags ${secSDK} $0
1507 IntOp $0 $0 & ${SECTION_OFF}
1508 SectionSetFlags ${secSDK} $0
1509 ;# !insertmacro UnselectSection ${secSDK}
1518 ; See if we can set a default installation path...
1519 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1520 StrCmp $R0 "" TryServer
1524 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1525 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1526 StrCmp $R0 "1" +1 SkipParent
1527 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1528 StrCmp $R0 "3" +1 SkipParent
1529 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1530 StrCmp $R0 "5000" UpParent
1531 StrCmp $R0 "5100" UpParent
1532 StrCmp $R0 "5200" UpParent
1533 StrCmp $R0 "5201" UpParent
1534 StrCmp $R0 "5299" UpParent
1546 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1547 StrCmp $R0 "" TryControl
1555 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1563 File /oname=$0 CellServPage.ini
1565 File /oname=$1 AFSCell.ini
1566 ;File /oname=$1 ConfigURL.ini
1574 ;--------------------------------
1575 ; These are our cleanup functions
1576 Function .onInstFailed
1581 Function .onInstSuccess
1587 ;--------------------------------
1590 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1591 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1592 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1593 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1594 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1595 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1596 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1598 ;--------------------------------
1599 ;Uninstaller Section
1602 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1603 IfSilent StartRemove ; New in v2.0b4
1604 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1609 SetShellVarContext all
1610 ; Stop the running processes
1612 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1613 nsExec::Exec '$R0 afscreds.exe'
1614 Exec "afscreds.exe -z"
1615 ; in case we are upgrading an old version that does not support -z
1617 nsExec::Exec '$R0 afscreds.exe'
1619 nsExec::Exec '$R0 krbcc32s.exe'
1622 ; Delete the AFS service
1624 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1625 nsExec::Exec "net stop TransarcAFSDaemon"
1626 nsExec::Exec "net stop TransarcAFSServer"
1627 nsExec::Exec '$R0 u TransarcAFSDaemon'
1628 ; After we stop the service, but before we delete it, we have to remove the volume data
1629 ; This is because the storage locations are in the registry under the service key.
1630 ; Call un.RemoveAFSVolumes
1631 nsExec::Exec '$R0 u TransarcAFSServer'
1634 Call un.RemoveProvider
1636 Push "$INSTDIR\Client\Program"
1637 Call un.RemoveFromPath
1638 Push "$INSTDIR\Common"
1639 Call un.RemoveFromPath
1641 Push "$INSTDIR\kfw\bin"
1642 Call un.RemoveFromPath
1645 ; Delete documentation
1646 Delete "$INSTDIR\Documentation\README.TXT"
1647 Delete "$INSTDIR\Documentation\html\*"
1648 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1649 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1650 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1651 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1653 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1654 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1655 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1656 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1657 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1658 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1659 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1660 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1661 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1662 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1663 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1664 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1665 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1666 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1667 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1670 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1671 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1672 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1673 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1674 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1675 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1676 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1677 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1678 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1679 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1680 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1681 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1682 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1683 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1684 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1687 File "${SYSTEMDIR}\msvcr71d.dll"
1688 File "${SYSTEMDIR}\msvcr71d.pdb"
1689 File "${SYSTEMDIR}\msvcp71d.dll"
1690 File "${SYSTEMDIR}\msvcp71d.pdb"
1691 File "${SYSTEMDIR}\mfc71d.dll"
1692 File "${SYSTEMDIR}\mfc71d.pdb"
1693 File "${SYSTEMDIR}\MFC71CHS.DLL"
1694 File "${SYSTEMDIR}\MFC71CHT.DLL"
1695 File "${SYSTEMDIR}\MFC71DEU.DLL"
1696 File "${SYSTEMDIR}\MFC71ENU.DLL"
1697 File "${SYSTEMDIR}\MFC71ESP.DLL"
1698 File "${SYSTEMDIR}\MFC71FRA.DLL"
1699 File "${SYSTEMDIR}\MFC71ITA.DLL"
1700 File "${SYSTEMDIR}\MFC71JPN.DLL"
1701 File "${SYSTEMDIR}\MFC71KOR.DLL"
1704 File "${SYSTEMDIR}\msvcr70d.dll"
1705 File "${SYSTEMDIR}\msvcr70d.pdb"
1706 File "${SYSTEMDIR}\msvcp70d.dll"
1707 File "${SYSTEMDIR}\msvcp70d.pdb"
1708 File "${SYSTEMDIR}\mfc70d.dll"
1709 File "${SYSTEMDIR}\mfc70d.pdb"
1710 File "${SYSTEMDIR}\MFC70CHS.DLL"
1711 File "${SYSTEMDIR}\MFC70CHT.DLL"
1712 File "${SYSTEMDIR}\MFC70DEU.DLL"
1713 File "${SYSTEMDIR}\MFC70ENU.DLL"
1714 File "${SYSTEMDIR}\MFC70ESP.DLL"
1715 File "${SYSTEMDIR}\MFC70FRA.DLL"
1716 File "${SYSTEMDIR}\MFC70ITA.DLL"
1717 File "${SYSTEMDIR}\MFC70JPN.DLL"
1718 File "${SYSTEMDIR}\MFC70KOR.DLL"
1720 File "${SYSTEMDIR}\mfc42d.dll"
1721 File "${SYSTEMDIR}\mfc42d.pdb"
1722 File "${SYSTEMDIR}\msvcp60d.dll"
1723 File "${SYSTEMDIR}\msvcp60d.pdb"
1724 File "${SYSTEMDIR}\msvcrtd.dll"
1725 File "${SYSTEMDIR}\msvcrtd.pdb"
1730 File "${SYSTEMDIR}\mfc71.dll"
1731 File "${SYSTEMDIR}\msvcr71.dll"
1732 File "${SYSTEMDIR}\msvcp71.dll"
1733 File "${SYSTEMDIR}\MFC71CHS.DLL"
1734 File "${SYSTEMDIR}\MFC71CHT.DLL"
1735 File "${SYSTEMDIR}\MFC71DEU.DLL"
1736 File "${SYSTEMDIR}\MFC71ENU.DLL"
1737 File "${SYSTEMDIR}\MFC71ESP.DLL"
1738 File "${SYSTEMDIR}\MFC71FRA.DLL"
1739 File "${SYSTEMDIR}\MFC71ITA.DLL"
1740 File "${SYSTEMDIR}\MFC71JPN.DLL"
1741 File "${SYSTEMDIR}\MFC71KOR.DLL"
1744 File "${SYSTEMDIR}\mfc70.dll"
1745 File "${SYSTEMDIR}\msvcr70.dll"
1746 File "${SYSTEMDIR}\msvcp70.dll"
1747 File "${SYSTEMDIR}\MFC70CHS.DLL"
1748 File "${SYSTEMDIR}\MFC70CHT.DLL"
1749 File "${SYSTEMDIR}\MFC70DEU.DLL"
1750 File "${SYSTEMDIR}\MFC70ENU.DLL"
1751 File "${SYSTEMDIR}\MFC70ESP.DLL"
1752 File "${SYSTEMDIR}\MFC70FRA.DLL"
1753 File "${SYSTEMDIR}\MFC70ITA.DLL"
1754 File "${SYSTEMDIR}\MFC70JPN.DLL"
1755 File "${SYSTEMDIR}\MFC70KOR.DLL"
1757 File "${SYSTEMDIR}\mfc42.dll"
1758 File "${SYSTEMDIR}\msvcp60.dll"
1759 File "${SYSTEMDIR}\msvcrt.dll"
1765 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1767 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1769 Delete "$WINDIR\afsdcell.ini"
1771 Delete "$WINDIR\afsdsbmt.ini"
1772 ; Only remove krb5.ini if KfW was installed
1774 Delete "$WINDIR\krb5.ini"
1776 Delete "$WINDIR\afsdns.ini"
1777 Delete "$WINDIR\afs_freelance.ini"
1780 Delete "$WINDIR\afsd_init.log"
1781 Delete "$INSTDIR\Uninstall.exe"
1784 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1785 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1786 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1787 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1788 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1789 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1790 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1791 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1792 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1793 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1794 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1795 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1796 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1797 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1798 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1799 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1800 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1803 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1804 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1805 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1806 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1807 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1808 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1809 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1810 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1811 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1812 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1813 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1814 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1815 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1816 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1817 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1818 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1819 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1822 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1823 RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1824 RmDir /r "$INSTDIR\Server\usr\afs\etc"
1825 RmDir /r "$INSTDIR\Server\usr\afs\local"
1826 RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1828 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1829 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1832 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1833 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1836 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1837 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1838 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1839 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1840 RMDIr /r "$INSTDIR\Documentation\html"
1842 RMDir "$INSTDIR\Documentation"
1843 ; Delete DOC short cut
1844 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1847 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1850 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1851 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1852 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1853 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1854 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1855 RMDir "$INSTDIR\Client\Program\Sample"
1856 RMDir "$INSTDIR\Client\Program\Include\afs"
1857 RMDir "$INSTDIR\Client\Program\Include\rx"
1858 RMDir "$INSTDIR\Client\Program\Include"
1859 RMDir "$INSTDIR\Client\Program"
1860 RMDir "$INSTDIR\Client"
1864 File "${SYSTEMDIR}\msvcr71d.dll"
1865 File "${SYSTEMDIR}\msvcr71d.pdb"
1866 File "${SYSTEMDIR}\msvcp71d.dll"
1867 File "${SYSTEMDIR}\msvcp71d.pdb"
1868 File "${SYSTEMDIR}\mfc71d.dll"
1869 File "${SYSTEMDIR}\mfc71d.pdb"
1870 File "${SYSTEMDIR}\MFC71CHS.DLL"
1871 File "${SYSTEMDIR}\MFC71CHT.DLL"
1872 File "${SYSTEMDIR}\MFC71DEU.DLL"
1873 File "${SYSTEMDIR}\MFC71ENU.DLL"
1874 File "${SYSTEMDIR}\MFC71ESP.DLL"
1875 File "${SYSTEMDIR}\MFC71FRA.DLL"
1876 File "${SYSTEMDIR}\MFC71ITA.DLL"
1877 File "${SYSTEMDIR}\MFC71JPN.DLL"
1878 File "${SYSTEMDIR}\MFC71KOR.DLL"
1881 File "${SYSTEMDIR}\msvcr70d.dll"
1882 File "${SYSTEMDIR}\msvcr70d.pdb"
1883 File "${SYSTEMDIR}\msvcp70d.dll"
1884 File "${SYSTEMDIR}\msvcp70d.pdb"
1885 File "${SYSTEMDIR}\mfc70d.dll"
1886 File "${SYSTEMDIR}\mfc70d.pdb"
1887 File "${SYSTEMDIR}\MFC70CHS.DLL"
1888 File "${SYSTEMDIR}\MFC70CHT.DLL"
1889 File "${SYSTEMDIR}\MFC70DEU.DLL"
1890 File "${SYSTEMDIR}\MFC70ENU.DLL"
1891 File "${SYSTEMDIR}\MFC70ESP.DLL"
1892 File "${SYSTEMDIR}\MFC70FRA.DLL"
1893 File "${SYSTEMDIR}\MFC70ITA.DLL"
1894 File "${SYSTEMDIR}\MFC70JPN.DLL"
1895 File "${SYSTEMDIR}\MFC70KOR.DLL"
1897 File "${SYSTEMDIR}\mfc42d.dll"
1898 File "${SYSTEMDIR}\mfc42d.pdb"
1899 File "${SYSTEMDIR}\msvcp60d.dll"
1900 File "${SYSTEMDIR}\msvcp60d.pdb"
1901 File "${SYSTEMDIR}\msvcrtd.dll"
1902 File "${SYSTEMDIR}\msvcrtd.pdb"
1907 File "${SYSTEMDIR}\mfc71.dll"
1908 File "${SYSTEMDIR}\msvcr71.dll"
1909 File "${SYSTEMDIR}\msvcp71.dll"
1910 File "${SYSTEMDIR}\MFC71CHS.DLL"
1911 File "${SYSTEMDIR}\MFC71CHT.DLL"
1912 File "${SYSTEMDIR}\MFC71DEU.DLL"
1913 File "${SYSTEMDIR}\MFC71ENU.DLL"
1914 File "${SYSTEMDIR}\MFC71ESP.DLL"
1915 File "${SYSTEMDIR}\MFC71FRA.DLL"
1916 File "${SYSTEMDIR}\MFC71ITA.DLL"
1917 File "${SYSTEMDIR}\MFC71JPN.DLL"
1918 File "${SYSTEMDIR}\MFC71KOR.DLL"
1921 File "${SYSTEMDIR}\mfc70.dll"
1922 File "${SYSTEMDIR}\msvcr70.dll"
1923 File "${SYSTEMDIR}\msvcp70.dll"
1924 File "${SYSTEMDIR}\MFC70CHS.DLL"
1925 File "${SYSTEMDIR}\MFC70CHT.DLL"
1926 File "${SYSTEMDIR}\MFC70DEU.DLL"
1927 File "${SYSTEMDIR}\MFC70ENU.DLL"
1928 File "${SYSTEMDIR}\MFC70ESP.DLL"
1929 File "${SYSTEMDIR}\MFC70FRA.DLL"
1930 File "${SYSTEMDIR}\MFC70ITA.DLL"
1931 File "${SYSTEMDIR}\MFC70JPN.DLL"
1932 File "${SYSTEMDIR}\MFC70KOR.DLL"
1934 File "${SYSTEMDIR}\mfc42.dll"
1935 File "${SYSTEMDIR}\msvcp60.dll"
1936 File "${SYSTEMDIR}\msvcrt.dll"
1940 Delete /REBOOTOK "$INSTDIR\Common\*"
1941 RMDir "$INSTDIR\Common"
1945 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1946 RMDIR /r "$INSTDIR\kfw\bin"
1947 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1948 RMDIR /r "$INSTDIR\kfw\doc"
1949 RMDIR /r "$INSTDIR\kfw"
1952 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1954 ; Remove control center
1955 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1956 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1957 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1958 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1960 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1961 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1962 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1964 RMDir "$INSTDIR\Control Center"
1966 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1967 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1968 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1969 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1970 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1971 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1972 RMDir /r "$SMPROGRAMS\OpenAFS"
1973 Delete "$SMSTARTUP\AFS Credentials.lnk"
1975 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1977 Delete "$R0\AFSCache"
1978 Delete "C:\AFSCache"
1980 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1981 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1982 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1983 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1984 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1986 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1987 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1988 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1989 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1990 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1991 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1992 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1993 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1994 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1995 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1996 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
2002 ;--------------------------------
2003 ;Uninstaller Functions
2007 ;Get language from registry
2008 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
2012 Function un.onUninstSuccess
2014 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
2018 ;------------------------------
2019 ; Get the CellServDB file from the Internet
2021 Function afs.GetCellServDB
2023 ;Check if we should download CellServDB
2024 ReadINIStr $R0 $0 "Field 4" "State"
2025 StrCmp $R0 "1" DoDownload
2027 ;Do nothing if we're keeping the existing file
2028 ReadINIStr $R0 $0 "Field 2" "State"
2031 ReadINIStr $R0 $0 "Field 6" "State"
2032 StrCmp $R0 "1" CheckOther
2034 ReadINIStr $R0 $0 "Field 3" "State"
2035 StrCmp $R0 "1" UsePackaged
2037 ; If none of these, grab file from other location
2041 ReadINIStr $R0 $0 "Field 5" "State"
2042 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
2043 Pop $R0 ;Get the return value
2044 StrCmp $R0 "success" +2
2045 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
2049 SetOutPath "$WINDIR"
2054 ReadINIStr $R0 $0 "Field 7" "State"
2056 CopyFiles $R0 "$WINDIR\afsdcell.ini"
2062 Function AddProvider
2065 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2067 StrCpy $R0 "TransarcAFSDaemon"
2071 StrCmp $R0 "" +1 DoOther
2072 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2073 StrCpy $R0 "$R1,TransarcAFSDaemon"
2074 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
2076 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2078 StrCpy $R0 "TransarcAFSDaemon"
2082 StrCmp $R0 "" +1 End
2083 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2084 StrCpy $R0 "$R1,TransarcAFSDaemon"
2085 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2091 Function un.RemoveProvider
2093 StrCpy $R0 "TransarcAFSDaemon"
2095 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2096 Call un.RemoveFromProvider
2097 StrCpy $R0 "TransarcAFSDaemon"
2099 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2100 Call un.RemoveFromProvider
2104 Function un.RemoveFromProvider
2113 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2114 StrCpy $5 $1 1 -1 # copy last char
2115 StrCmp $5 "," +2 # if last char != ,
2116 StrCpy $1 "$1," # append ,
2119 Call un.StrStr ; Find `$0,` in $1
2120 Pop $2 ; pos of our dir
2121 StrCmp $2 "" unRemoveFromPath_done
2122 ; else, it is in path
2127 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2128 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2131 StrCpy $5 $3 1 -1 # copy last char
2132 StrCmp $5 "," 0 +2 # if last char == ,
2133 StrCpy $3 $3 -1 # remove last char
2135 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2137 unRemoveFromPath_done:
2147 Function CheckPathForAFS
2152 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2161 IfFileExists "$3\afsd_service.exe" Error
2162 StrCpy $1 $0 32768 1
2164 IntCmp $2 0 Done Done loop
2167 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."
2168 Abort "Unable to install OpenAFS"
2176 Function AddToUniquePath
2180 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2184 StrCmp $R0 "" +1 Done
2190 ;-------------------------------
2191 ;Do the page to get the CellServDB
2193 Function AFSPageGetCellServDB
2194 ; Skip this page if we are not installing the client
2195 SectionGetFlags ${secClient} $R0
2196 IntOp $R0 $R0 & ${SF_SELECTED}
2199 ; Set the install options here
2202 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2203 WriteINIStr $0 "Field 3" "State" "1"
2204 WriteINISTR $0 "Field 4" "State" "0"
2205 WriteINIStr $0 "Field 6" "State" "0"
2207 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
2208 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
2209 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2210 WriteINIStr $0 "Field 2" "State" "1"
2211 WriteINIStr $0 "Field 3" "State" "0"
2215 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2216 InstallOptions::dialog $0
2218 StrCmp $R1 "cancel" exit
2219 StrCmp $R1 "back" done
2220 StrCmp $R1 "success" done
2224 ; Check that if a file is set, a valid filename is entered...
2225 ReadINIStr $R0 $0 "Field 6" "State"
2226 StrCmp $R0 "1" CheckFileName
2228 ;Check if a URL is specified, one *IS* specified
2229 ReadINIStr $R0 $0 "Field 4" "State"
2230 StrCmp $R0 "1" CheckURL Skip
2233 ReadINIStr $R0 $0 "Field 5" "State"
2234 StrCmp $R0 "" +1 Skip
2235 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2236 WriteINIStr $0 "Field 4" "State" "0"
2240 ReadINIStr $R0 $0 "Field 7" "State"
2241 IfFileExists $R0 Skip
2243 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2244 WriteINIStr $0 "Field 6" "State" "0"
2252 Function AFSPageGetCellName
2254 ; Skip this page if we are not installing the client
2255 SectionGetFlags ${secClient} $R0
2256 IntOp $R0 $R0 & ${SF_SELECTED}
2260 ; If this is a server install, we do NOT want to recommend the Freelance client
2261 ; And we do not need to ask for the cell name.
2262 SectionGetFlags ${secServer} $R1
2263 IntOp $R1 $R1 & ${SF_SELECTED}
2264 StrCmp $R1 "1" +1 NotServer
2265 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2266 WriteINIStr $1 "Field 5" "State" "0"
2267 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2268 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2271 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2272 WriteINIStr $1 "Field 5" "State" "1"
2273 WriteINIStr $1 "Field 1" "Flags" ""
2274 WriteINIStr $1 "Field 2" "Flags" ""
2276 ; Get the current cell name, if any
2277 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2279 WriteINIStr $1 "Field 2" "State" $R1
2280 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2281 InstallOptions::dialog $1
2283 StrCmp $R1 "cancel" exit
2284 StrCmp $R1 "back" done
2285 StrCmp $R1 "success" done
2288 ReadINIStr $R0 $1 "Field 2" "State"
2289 StrCmp $R0 "" +1 good
2291 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2297 ; Common install routines for each module
2298 Function AFSCommon.Install
2300 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2301 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2303 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2305 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2307 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2312 ;-------------------
2313 ; Get the currently installed version and place it on the stack
2315 Function GetInstalledVersion
2320 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2321 StrCmp $R0 "" NotTransarc done
2325 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2334 ; Functions to get each component of the version number
2335 Function GetInstalledVersionMajor
2340 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2341 StrCmp $R0 "" NotTransarc done
2345 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2354 Function GetInstalledVersionMinor
2359 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2360 StrCmp $R0 "" NotTransarc done
2364 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2373 Function GetInstalledVersionPatch
2378 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2379 StrCmp $R0 "" NotTransarc done
2383 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2394 ;-------------------------------
2395 ; Check if the client should be checked for default install
2396 Function ShouldClientInstall
2398 StrCpy $R2 "AFS Client"
2399 Call GetInstalledVersion
2402 StrCmp $R0 "" NotInstalled
2403 ; Now we see if it's an older or newer version
2405 Call GetInstalledVersionMajor
2407 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2409 Call GetInstalledVersionMinor
2411 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2413 Call GetInstalledVersionPatch
2415 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2438 ;-------------------------------
2439 ; Check how the server options should be set
2440 Function ShouldServerInstall
2442 StrCpy $R2 "AFS Server"
2443 Call GetInstalledVersion
2446 StrCmp $R0 "" NotInstalled
2447 ; Now we see if it's an older or newer version
2449 Call GetInstalledVersionMajor
2451 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2453 Call GetInstalledVersionMinor
2455 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2457 Call GetInstalledVersionPatch
2459 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2484 ; See if AFS Server is installed
2485 ; Returns: "1" if it is, 0 if it is not (on the stack)
2486 Function IsServerInstalled
2488 StrCpy $R2 "AFS Server"
2489 Call GetInstalledVersion
2492 StrCmp $R0 "" NotInstalled
2505 ; See if AFS Client is installed
2506 ; Returns: "1" if it is, 0 if it is not (on the stack)
2507 Function IsClientInstalled
2509 StrCpy $R2 "AFS Client"
2510 Call GetInstalledVersion
2513 StrCmp $R0 "" NotInstalled
2527 ; See if AFS Documentation is installed
2528 ; Returns: "1" if it is, 0 if it is not (on the stack)
2529 Function IsDocumentationInstalled
2531 StrCpy $R2 "AFS Supplemental Documentation"
2532 Call GetInstalledVersion
2535 StrCmp $R0 "" NotInstalled
2548 ; See if Control Center is installed
2549 ; Returns: "1" if it is, 0 if it is not (on the stack)
2550 Function IsControlInstalled
2552 StrCpy $R2 "AFS Control Center"
2553 Call GetInstalledVersion
2556 StrCmp $R0 "" NotInstalled
2571 ; output, top of stack (replaces, with e.g. whatever)
2572 ; modifies no other variables.
2574 Function GetParameters
2578 StrCpy $R0 $CMDLINE 1
2582 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2584 StrCpy $R0 $CMDLINE 1 $R2
2585 StrCmp $R0 $R1 loop2
2591 StrCpy $R0 $CMDLINE 1 $R2
2592 StrCmp $R0 " " loop2
2593 StrCpy $R0 $CMDLINE "" $R2
2600 ;Check to see if any AFS component is installed
2601 ;Returns: Value on stack: "1" if it is, "0" if it is not
2602 Function IsAnyAFSInstalled
2607 Call IsClientInstalled
2609 Call IsServerInstalled
2611 Call IsControlInstalled
2613 Call IsDocumentationInstalled
2615 ; Now we must see if ANY of the $Rn values are 1
2616 StrCmp $R0 "1" SomethingInstalled
2617 StrCmp $R1 "1" SomethingInstalled
2618 StrCmp $R2 "1" SomethingInstalled
2619 StrCmp $R3 "1" SomethingInstalled
2633 ;Install English Language Files
2634 Function AFSLangFiles
2636 SetOutPath "$INSTDIR\Common"
2637 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2638 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2639 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2640 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2641 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2642 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2643 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2644 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2645 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2646 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2647 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2648 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2649 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2650 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2654 File "${SYSTEMDIR}\msvcr71d.dll"
2655 File "${SYSTEMDIR}\msvcr71d.pdb"
2656 File "${SYSTEMDIR}\msvcp71d.dll"
2657 File "${SYSTEMDIR}\msvcp71d.pdb"
2658 File "${SYSTEMDIR}\mfc71d.dll"
2659 File "${SYSTEMDIR}\mfc71d.pdb"
2660 File "${SYSTEMDIR}\MFC71CHS.DLL"
2661 File "${SYSTEMDIR}\MFC71CHT.DLL"
2662 File "${SYSTEMDIR}\MFC71DEU.DLL"
2663 File "${SYSTEMDIR}\MFC71ENU.DLL"
2664 File "${SYSTEMDIR}\MFC71ESP.DLL"
2665 File "${SYSTEMDIR}\MFC71FRA.DLL"
2666 File "${SYSTEMDIR}\MFC71ITA.DLL"
2667 File "${SYSTEMDIR}\MFC71JPN.DLL"
2668 File "${SYSTEMDIR}\MFC71KOR.DLL"
2671 File "${SYSTEMDIR}\msvcr70d.dll"
2672 File "${SYSTEMDIR}\msvcr70d.pdb"
2673 File "${SYSTEMDIR}\msvcp70d.dll"
2674 File "${SYSTEMDIR}\msvcp70d.pdb"
2675 File "${SYSTEMDIR}\mfc70d.dll"
2676 File "${SYSTEMDIR}\mfc70d.pdb"
2677 File "${SYSTEMDIR}\MFC70CHS.DLL"
2678 File "${SYSTEMDIR}\MFC70CHT.DLL"
2679 File "${SYSTEMDIR}\MFC70DEU.DLL"
2680 File "${SYSTEMDIR}\MFC70ENU.DLL"
2681 File "${SYSTEMDIR}\MFC70ESP.DLL"
2682 File "${SYSTEMDIR}\MFC70FRA.DLL"
2683 File "${SYSTEMDIR}\MFC70ITA.DLL"
2684 File "${SYSTEMDIR}\MFC70JPN.DLL"
2685 File "${SYSTEMDIR}\MFC70KOR.DLL"
2687 File "${SYSTEMDIR}\mfc42d.dll"
2688 File "${SYSTEMDIR}\mfc42d.pdb"
2689 File "${SYSTEMDIR}\msvcp60d.dll"
2690 File "${SYSTEMDIR}\msvcp60d.pdb"
2691 File "${SYSTEMDIR}\msvcrtd.dll"
2692 File "${SYSTEMDIR}\msvcrtd.pdb"
2697 File "${SYSTEMDIR}\mfc71.dll"
2698 File "${SYSTEMDIR}\msvcr71.dll"
2699 File "${SYSTEMDIR}\msvcp71.dll"
2700 File "${SYSTEMDIR}\MFC71CHS.DLL"
2701 File "${SYSTEMDIR}\MFC71CHT.DLL"
2702 File "${SYSTEMDIR}\MFC71DEU.DLL"
2703 File "${SYSTEMDIR}\MFC71ENU.DLL"
2704 File "${SYSTEMDIR}\MFC71ESP.DLL"
2705 File "${SYSTEMDIR}\MFC71FRA.DLL"
2706 File "${SYSTEMDIR}\MFC71ITA.DLL"
2707 File "${SYSTEMDIR}\MFC71JPN.DLL"
2708 File "${SYSTEMDIR}\MFC71KOR.DLL"
2711 File "${SYSTEMDIR}\mfc70.dll"
2712 File "${SYSTEMDIR}\msvcr70.dll"
2713 File "${SYSTEMDIR}\msvcp70.dll"
2714 File "${SYSTEMDIR}\MFC70CHS.DLL"
2715 File "${SYSTEMDIR}\MFC70CHT.DLL"
2716 File "${SYSTEMDIR}\MFC70DEU.DLL"
2717 File "${SYSTEMDIR}\MFC70ENU.DLL"
2718 File "${SYSTEMDIR}\MFC70ESP.DLL"
2719 File "${SYSTEMDIR}\MFC70FRA.DLL"
2720 File "${SYSTEMDIR}\MFC70ITA.DLL"
2721 File "${SYSTEMDIR}\MFC70JPN.DLL"
2722 File "${SYSTEMDIR}\MFC70KOR.DLL"
2724 File "${SYSTEMDIR}\mfc42.dll"
2725 File "${SYSTEMDIR}\msvcp60.dll"
2726 File "${SYSTEMDIR}\msvcrt.dll"
2732 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
2733 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
2734 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
2735 File "${AFS_DESTDIR}\lib\afspthread.pdb"
2736 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
2737 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
2738 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
2739 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2740 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
2741 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2742 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
2743 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
2744 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
2745 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
2748 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2749 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2750 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2751 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2752 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2753 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2754 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2755 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2759 SetOutPath "$INSTDIR\Documentation"
2760 File "..\..\doc\install\Documentation\en_US\README.TXT"
2762 SetOutPath "$INSTDIR\Client\Program"
2763 File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll"
2764 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2766 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2767 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2770 SetOutPath "$INSTDIR\Common"
2771 File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll"
2772 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll"
2773 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
2774 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
2775 File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
2776 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll"
2777 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll"
2778 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll"
2779 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll"
2780 File "..\..\doc\help\en_US\afs-cc.CNT"
2781 File "..\..\doc\help\en_US\afs-cc.hlp"
2782 File "..\..\doc\help\en_US\afs-light.CNT"
2783 File "..\..\doc\help\en_US\afs-light.hlp"
2784 File "..\..\doc\help\en_US\afs-nt.CNT"
2785 File "..\..\doc\help\en_US\afs-nt.HLP"
2786 File "..\..\doc\help\en_US\taafscfg.CNT"
2787 File "..\..\doc\help\en_US\taafscfg.hlp"
2788 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2789 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2790 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2791 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2794 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2795 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2796 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2797 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2798 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2799 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2800 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2801 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2807 SetOutPath "$INSTDIR\Documentation"
2808 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2810 SetOutPath "$INSTDIR\Client\Program"
2811 File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll"
2812 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2814 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2815 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2818 SetOutPath "$INSTDIR\Common"
2819 File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll"
2820 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll"
2821 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll"
2822 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll"
2823 File "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll"
2824 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll"
2825 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll"
2826 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll"
2827 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll"
2828 File "..\..\doc\help\de_DE\afs-cc.CNT"
2829 File "..\..\doc\help\de_DE\afs-cc.hlp"
2830 File "..\..\doc\help\de_DE\afs-light.CNT"
2831 File "..\..\doc\help\de_DE\afs-light.hlp"
2832 File "..\..\doc\help\de_DE\afs-nt.CNT"
2833 File "..\..\doc\help\de_DE\afs-nt.HLP"
2834 File "..\..\doc\help\de_DE\taafscfg.CNT"
2835 File "..\..\doc\help\de_DE\taafscfg.hlp"
2836 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2837 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2838 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2839 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2842 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2843 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2844 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2845 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2846 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2847 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2848 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2849 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2855 SetOutPath "$INSTDIR\Documentation"
2856 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2858 SetOutPath "$INSTDIR\Client\Program"
2859 File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll"
2860 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2862 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2863 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2866 SetOutPath "$INSTDIR\Common"
2867 File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll"
2868 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll"
2869 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll"
2870 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll"
2871 File "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll"
2872 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll"
2873 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll"
2874 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll"
2875 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll"
2876 File "..\..\doc\help\es_ES\afs-cc.CNT"
2877 File "..\..\doc\help\es_ES\afs-cc.hlp"
2878 File "..\..\doc\help\es_ES\afs-light.CNT"
2879 File "..\..\doc\help\es_ES\afs-light.hlp"
2880 File "..\..\doc\help\es_ES\afs-nt.CNT"
2881 File "..\..\doc\help\es_ES\afs-nt.HLP"
2882 File "..\..\doc\help\es_ES\taafscfg.CNT"
2883 File "..\..\doc\help\es_ES\taafscfg.hlp"
2884 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2885 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2886 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2887 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2890 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2891 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2892 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2893 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2894 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2895 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2896 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2897 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2903 SetOutPath "$INSTDIR\Documentation"
2904 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2906 SetOutPath "$INSTDIR\Client\Program"
2907 File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll"
2908 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2910 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2911 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2914 SetOutPath "$INSTDIR\Common"
2915 File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll"
2916 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll"
2917 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll"
2918 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll"
2919 File "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll"
2920 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll"
2921 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll"
2922 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll"
2923 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll"
2924 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2925 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2926 File "..\..\doc\help\ja_JP\afs-light.CNT"
2927 File "..\..\doc\help\ja_JP\afs-light.hlp"
2928 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2929 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2930 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2931 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2932 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2933 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2934 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2935 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2938 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2939 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2940 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2941 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2942 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2943 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2944 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2945 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2951 SetOutPath "$INSTDIR\Documentation"
2952 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2954 SetOutPath "$INSTDIR\Client\Program"
2955 File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll"
2956 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2958 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2959 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2962 SetOutPath "$INSTDIR\Common"
2963 File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll"
2964 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll"
2965 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll"
2966 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll"
2967 File "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll"
2968 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll"
2969 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll"
2970 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll"
2971 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll"
2972 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2973 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2974 File "..\..\doc\help\ko_KR\afs-light.CNT"
2975 File "..\..\doc\help\ko_KR\afs-light.hlp"
2976 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2977 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2978 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2979 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2980 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2981 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2982 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2983 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2986 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2987 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2988 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2989 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2990 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2991 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2992 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2993 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
3000 SetOutPath "$INSTDIR\Documentation"
3001 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
3003 SetOutPath "$INSTDIR\Client\Program"
3004 File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll"
3005 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
3007 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
3008 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
3011 SetOutPath "$INSTDIR\Common"
3012 File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll"
3013 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll"
3014 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll"
3015 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll"
3016 File "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll"
3017 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll"
3018 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll"
3019 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll"
3020 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll"
3021 File "..\..\doc\help\pt_BR\afs-cc.CNT"
3022 File "..\..\doc\help\pt_BR\afs-cc.hlp"
3023 File "..\..\doc\help\pt_BR\afs-light.CNT"
3024 File "..\..\doc\help\pt_BR\afs-light.hlp"
3025 File "..\..\doc\help\pt_BR\afs-nt.CNT"
3026 File "..\..\doc\help\pt_BR\afs-nt.HLP"
3027 File "..\..\doc\help\pt_BR\taafscfg.CNT"
3028 File "..\..\doc\help\pt_BR\taafscfg.hlp"
3029 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
3030 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
3031 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
3032 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
3035 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
3036 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
3037 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
3038 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
3039 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
3040 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
3041 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
3042 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
3048 SetOutPath "$INSTDIR\Documentation"
3049 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
3051 SetOutPath "$INSTDIR\Client\Program"
3052 File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll"
3053 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
3055 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
3056 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
3059 SetOutPath "$INSTDIR\Common"
3060 File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll"
3061 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll"
3062 File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll"
3063 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll"
3064 File "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll"
3065 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll"
3066 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll"
3067 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll"
3068 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll"
3069 File "..\..\doc\help\zh_CN\afs-cc.CNT"
3070 File "..\..\doc\help\zh_CN\afs-cc.hlp"
3071 File "..\..\doc\help\zh_CN\afs-light.CNT"
3072 File "..\..\doc\help\zh_CN\afs-light.hlp"
3073 File "..\..\doc\help\zh_CN\afs-nt.CNT"
3074 File "..\..\doc\help\zh_CN\afs-nt.HLP"
3075 File "..\..\doc\help\zh_CN\taafscfg.CNT"
3076 File "..\..\doc\help\zh_CN\taafscfg.hlp"
3077 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
3078 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
3079 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
3080 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3083 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3084 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3085 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3086 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3087 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3088 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3089 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3090 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3096 SetOutPath "$INSTDIR\Documentation"
3097 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3099 SetOutPath "$INSTDIR\Client\Program"
3100 File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll"
3101 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3103 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3104 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3107 SetOutPath "$INSTDIR\Common"
3108 File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll"
3109 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll"
3110 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll"
3111 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll"
3112 File "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll"
3113 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll"
3114 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll"
3115 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll"
3116 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll"
3117 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3118 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3119 File "..\..\doc\help\zh_TW\afs-light.CNT"
3120 File "..\..\doc\help\zh_TW\afs-light.hlp"
3121 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3122 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3123 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3124 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3125 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3126 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3127 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3128 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3131 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3132 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3133 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3134 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3135 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3136 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3137 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3138 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3147 ;====================================================
3148 ; AddToPath - Adds the given dir to the search path.
3149 ; Input - head of the stack
3150 ; Note - Win9x systems requires reboot
3151 ;====================================================
3158 # don't add if the path doesn't exist
3159 IfFileExists $0 "" AddToPath_done
3166 StrCmp $2 "" "" AddToPath_done
3171 StrCmp $2 "" "" AddToPath_done
3172 GetFullPathName /SHORT $3 $0
3177 StrCmp $2 "" "" AddToPath_done
3182 StrCmp $2 "" "" AddToPath_done
3186 StrCmp $1 1 AddToPath_NT
3189 FileOpen $1 "$1\autoexec.bat" a
3192 IntCmp $2 26 0 +2 +2 # DOS EOF
3193 FileSeek $1 -1 END # write over EOF
3194 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3200 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3201 StrCpy $2 $1 1 -1 # copy last char
3202 StrCmp $2 ";" 0 +2 # if last char == ;
3203 StrCpy $1 $1 -1 # remove last char
3204 StrCmp $1 "" AddToPath_NTdoIt
3207 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3208 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3217 ;====================================================
3218 ; RemoveFromPath - Remove a given dir from the path
3219 ; Input: head of the stack
3220 ;====================================================
3221 Function un.RemoveFromPath
3230 IntFmt $6 "%c" 26 # DOS EOF
3234 StrCmp $1 1 unRemoveFromPath_NT
3237 FileOpen $1 "$1\autoexec.bat" r
3240 GetFullPathName /SHORT $0 $0
3241 StrCpy $0 "SET PATH=%PATH%;$0"
3242 Goto unRemoveFromPath_dosLoop
3244 unRemoveFromPath_dosLoop:
3246 StrCpy $5 $3 1 -1 # read last char
3247 StrCmp $5 $6 0 +2 # if DOS EOF
3248 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3249 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3250 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3251 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3252 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3254 Goto unRemoveFromPath_dosLoop
3255 unRemoveFromPath_dosLoopRemoveLine:
3257 Goto unRemoveFromPath_dosLoop
3259 unRemoveFromPath_dosLoopEnd:
3263 Delete "$1\autoexec.bat"
3264 CopyFiles /SILENT $4 "$1\autoexec.bat"
3266 Goto unRemoveFromPath_done
3268 unRemoveFromPath_NT:
3269 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3270 StrCpy $5 $1 1 -1 # copy last char
3271 StrCmp $5 ";" +2 # if last char != ;
3272 StrCpy $1 "$1;" # append ;
3275 Call un.StrStr ; Find `$0;` in $1
3276 Pop $2 ; pos of our dir
3277 StrCmp $2 "" unRemoveFromPath_done
3278 ; else, it is in path
3283 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3284 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3287 StrCpy $5 $3 1 -1 # copy last char
3288 StrCmp $5 ";" 0 +2 # if last char == ;
3289 StrCpy $3 $3 -1 # remove last char
3291 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3292 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3294 unRemoveFromPath_done:
3304 ;====================================================
3305 ; IsNT - Returns 1 if the current system is NT, 0
3307 ; Output: head of the stack
3308 ;====================================================
3312 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3313 StrCmp $0 "" 0 IsNT_yes
3325 !insertmacro IsNT ""
3326 !insertmacro IsNT "un."
3328 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3330 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3331 ;====================================================
3332 ; StrStr - Finds a given string in another given string.
3333 ; Returns -1 if not found and the pos if found.
3334 ; Input: head of the stack - string to find
3335 ; second in the stack - string to find in
3336 ; Output: head of the stack
3337 ;====================================================
3339 Function ${un}StrStr
3340 Exch $R1 ; st=haystack,old$R1, $R1=needle
3341 Exch ; st=old$R1,haystack
3342 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3354 StrCpy $R5 $R2 $R3 $R4
3360 StrCpy $R1 $R2 "" $R4
3368 !insertmacro StrStr ""
3369 !insertmacro StrStr "un."
3372 !ifdef ADDSHAREDDLLUSED
3375 ; Increments a shared DLLs reference count.
3376 ; Use by passing one item on the stack (the full path of the DLL).
3379 ; Push $SYSDIR\myDll.dll
3383 Function AddSharedDLL
3386 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3388 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3394 ; un.RemoveSharedDLL
3396 ; Decrements a shared DLLs reference count, and removes if necessary.
3397 ; Use by passing one item on the stack (the full path of the DLL).
3398 ; Note: for use in the main installer (not the uninstaller), rename the
3399 ; function to RemoveSharedDLL.
3402 ; Push $SYSDIR\myDll.dll
3403 ; Call un.RemoveSharedDLL
3406 Function un.RemoveSharedDLL
3409 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3410 StrCmp $R0 "" remove
3412 IntCmp $R0 0 rk rk uk
3414 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3417 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3420 Delete /REBOOTOK $R1
3429 !ifdef INSTALL_LOOPBACK
3430 Function afs.InstallMSLoopback
3432 File /oname=$R0 "loopback_install.dll"
3433 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
3434 Call GetWindowsVersion
3436 StrCmp $R1 "2000" +1 +2
3437 nsExec::Exec "rundll32.exe $R0 disableLoopBackEntry"
3445 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3446 ; Updated by Joost Verburg
3448 ; Returns on top of stack
3450 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3452 ; '' (Unknown Windows Version)
3455 ; Call GetWindowsVersion
3457 ; ; at this point $R0 is "NT 4.0" or whatnot
3459 Function GetWindowsVersion
3466 ReadRegStr $R0 HKLM \
3467 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3469 IfErrors 0 lbl_winnt
3472 ReadRegStr $R0 HKLM \
3473 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3476 StrCmp $R1 '4' 0 lbl_error
3480 StrCmp $R1 '4.0' lbl_win32_95
3481 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3499 StrCmp $R1 '3' lbl_winnt_x
3500 StrCmp $R1 '4' lbl_winnt_x
3504 StrCmp $R1 '5.0' lbl_winnt_2000
3505 StrCmp $R1 '5.1' lbl_winnt_XP
3506 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3509 StrCpy $R0 "NT $R0" 6
3534 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3535 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3536 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3537 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3541 ; Pop $R0 ; at this point $R0 is "true" or "false"
3543 Function IsUserAdmin
3552 UserInfo::GetAccountType
3555 StrCmp $R2 "Admin" 0 Continue
3556 ; Observation: I get here when running Win98SE. (Lilla)
3557 ; The functions UserInfo.dll looks for are there on Win98 too,
3558 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3559 ; on Win98, returns admin anyway. (per kichik)
3560 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3565 ; You should still check for an empty string because the functions
3566 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3569 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3573 ; comment/message below is by UserInfo.nsi author:
3574 ; This one means you don't need to care about admin or
3575 ; not admin because Windows 9x doesn't either
3576 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3580 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3588 ; input, top of stack (e.g. C:\Program Files\Poop)
3589 ; output, top of stack (replaces, with e.g. C:\Program Files)
3590 ; modifies no other variables.
3593 ; Push "C:\Program Files\Directory\Whatever"
3596 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3610 IntCmp $R1 $R2 get 0 get
3611 StrCpy $R3 $R0 1 -$R1
3626 ;--------------------------------
3627 ;Handle what must and what must not be installed
3628 Function .onSelChange
3629 ; If they install the server, they MUST install the client
3630 SectionGetFlags ${secServer} $R0
3631 IntOp $R0 $R0 & ${SF_SELECTED}
3632 StrCmp $R0 "1" MakeClientSelected
3634 ; If they install the control center, we'll give them the client.
3635 ; It may not be required, but it's a bit more useful
3636 SectionGetFlags ${secControl} $R0
3637 IntOp $R0 $R0 & ${SF_SELECTED}
3638 StrCmp $R0 "1" MakeClientSelected
3642 SectionGetFlags ${secClient} $R0
3643 IntOp $R0 $R0 | ${SF_SELECTED}
3644 SectionSetFlags ${secClient} $R0
3649 Function RegWriteMultiStr
3650 !define HKEY_CLASSES_ROOT 0x80000000
3651 !define HKEY_CURRENT_USER 0x80000001
3652 !define HKEY_LOCAL_MACHINE 0x80000002
3653 !define HKEY_USERS 0x80000003
3654 !define HKEY_PERFORMANCE_DATA 0x80000004
3655 !define HKEY_PERFORMANCE_TEXT 0x80000050
3656 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3657 !define HKEY_CURRENT_CONFIG 0x80000005
3658 !define HKEY_DYN_DATA 0x80000006
3660 !define KEY_QUERY_VALUE 0x0001
3661 !define KEY_SET_VALUE 0x0002
3662 !define KEY_CREATE_SUB_KEY 0x0004
3663 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3664 !define KEY_NOTIFY 0x0010
3665 !define KEY_CREATE_LINK 0x0020
3669 !define REG_EXPAND_SZ 2
3670 !define REG_BINARY 3
3672 !define REG_DWORD_LITTLE_ENDIAN 4
3673 !define REG_DWORD_BIG_ENDIAN 5
3675 !define REG_MULTI_SZ 7
3677 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3678 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3679 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3686 SetPluginUnload alwaysoff
3687 ; Create a buffer for the multi_sz value
3688 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3689 ; Open/create the registry key
3690 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3693 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3697 ; Fill in the buffer with our strings