1 ;OpenAFS Install Script for NSIS
2 ; This version compiles with NSIS v2.0
4 ; Originally written by Rob Murawski <rsm4@ieee.org>
6 ;Redistribution and use in source and binary forms, with or without modification, are permitted
7 ;provided that the following conditions are met:
9 ; Redistributions of source code must retain the above copyright notice, this list of conditions
10 ; and the following disclaimer. Redistributions in binary form must reproduce the above copyright
11 ; notice, this list of conditions and the following disclaimer in the documentation and/or other
12 ; materials provided with the distribution. The name of the author may not be used to endorse or
13 ; promote products derived from this software without specific prior written permission.
15 ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17 ; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
18 ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21 ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
22 ; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 ; Some code originally based on:
26 ; NSIS Modern User Interface version 1.63
27 ; MultiLanguage Example Script
28 ; Written by Joost Verburg
30 ; Read in the environment information
31 !include ${INCLUDEDIR}\nsi-includes.nsi
35 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
37 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
38 !endif ; End DEBUG/!DEBUG
41 Name "OpenAFS ${AFS_VERSION}"
43 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
44 !endif ; End DEBUG/!DEBUG
46 VIProductVersion "${AFS_VERSION}.00"
47 VIAddVersionKey "ProductName" "OpenAFS"
48 VIAddVersionKey "CompanyName" "OpenAFS.org"
49 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
50 VIAddVersionKey "FileVersion" ${AFS_VERSION}
51 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
52 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
54 VIAddVersionKey "PrivateBuild" "Checked/Debug"
61 ;--------------------------------
64 !define REPLACEDLL_NOREGISTER
68 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
70 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
74 !define MUI_ICON "..\..\client_config\afs_config.ico"
75 !define MUI_UNICON "..\..\client_config\afs_config.ico"
76 !define AFS_COMPANY_NAME "OpenAFS"
77 !define AFS_PRODUCT_NAME "OpenAFS"
78 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
81 ;Folder selection page
82 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
84 ;Remember install folder
85 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
87 ;Remember the installer language
88 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
89 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
90 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
93 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
94 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
95 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
96 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
97 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
98 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
99 !define SYSTEMDIR "$%SystemRoot%\System32"
101 ;--------------------------------
102 ;Modern UI Configuration
104 ;!define MUI_LICENSEPAGE
105 !define MUI_CUSTOMPAGECOMMANDS
106 !define MUI_WELCOMEPAGE
107 !define MUI_COMPONENTSPAGE
108 !define MUI_COMPONENTSPAGE_SMALLDESC
109 !define MUI_DIRECTORYPAGE
111 !define MUI_ABORTWARNING
112 !define MUI_FINISHPAGE
114 !define MUI_UNINSTALLER
115 !define MUI_UNCONFIRMPAGE
118 !insertmacro MUI_PAGE_WELCOME
119 !insertmacro MUI_PAGE_COMPONENTS
120 !insertmacro MUI_PAGE_DIRECTORY
121 Page custom AFSPageGetCellServDB
122 Page custom AFSPageGetCellName
123 Page custom AFSPageConfigAFSCreds
124 !insertmacro MUI_PAGE_INSTFILES
125 !insertmacro MUI_PAGE_FINISH
127 ;LicenseData "Licenses.rtf"
128 ;--------------------------------
131 !insertmacro MUI_LANGUAGE "English"
132 ;!insertmacro MUI_LANGUAGE "French"
133 !insertmacro MUI_LANGUAGE "German"
134 !insertmacro MUI_LANGUAGE "Spanish"
135 !insertmacro MUI_LANGUAGE "SimpChinese"
136 !insertmacro MUI_LANGUAGE "TradChinese"
137 !insertmacro MUI_LANGUAGE "Japanese"
138 !insertmacro MUI_LANGUAGE "Korean"
139 ;!insertmacro MUI_LANGUAGE "Italian"
140 ;!insertmacro MUI_LANGUAGE "Dutch"
141 ;!insertmacro MUI_LANGUAGE "Danish"
142 ;!insertmacro MUI_LANGUAGE "Greek"
143 ;!insertmacro MUI_LANGUAGE "Russian"
144 !insertmacro MUI_LANGUAGE "PortugueseBR"
145 ;!insertmacro MUI_LANGUAGE "Polish"
146 ;!insertmacro MUI_LANGUAGE "Ukrainian"
147 ;!insertmacro MUI_LANGUAGE "Czech"
148 ;!insertmacro MUI_LANGUAGE "Slovak"
149 ;!insertmacro MUI_LANGUAGE "Croatian"
150 ;!insertmacro MUI_LANGUAGE "Bulgarian"
151 ;!insertmacro MUI_LANGUAGE "Hungarian"
152 ;!insertmacro MUI_LANGUAGE "Thai"
153 ;!insertmacro MUI_LANGUAGE "Romanian"
154 ;!insertmacro MUI_LANGUAGE "Macedonian"
155 ;!insertmacro MUI_LANGUAGE "Turkish"
157 ;--------------------------------
161 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
162 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
163 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
164 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
165 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
166 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
167 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
168 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
169 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
170 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
171 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
172 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
173 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
174 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
175 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
176 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
177 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
178 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
179 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
180 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
181 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
182 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
183 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
184 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
185 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
187 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
188 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
189 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
190 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
191 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
192 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
193 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
194 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
196 LangString DESC_secLoopback ${LANG_ENGLISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
197 LangString DESC_secLoopback ${LANG_GERMAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
198 LangString DESC_secLoopback ${LANG_SPANISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
199 LangString DESC_secLoopback ${LANG_SIMPCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
200 LangString DESC_secLoopback ${LANG_TRADCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
201 LangString DESC_secLoopback ${LANG_JAPANESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
202 LangString DESC_secLoopback ${LANG_KOREAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
203 LangString DESC_secLoopback ${LANG_PORTUGUESEBR} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
205 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
206 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
207 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
208 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
209 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
210 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
211 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
212 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
214 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
215 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
216 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
217 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
218 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
219 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
220 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
221 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
223 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
224 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
225 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
226 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
227 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
228 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
229 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
230 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
232 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
233 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
234 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
235 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
236 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
237 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
238 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
239 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
241 LangString DESC_secDEBUG ${LANG_ENGLISH} "Debug symbols: Used for debugging problems with OpenAFS."
242 LangString DESC_secDEBUG ${LANG_GERMAN} "Debug symbols: Used for debugging problems with OpenAFS."
243 LangString DESC_secDEBUG ${LANG_SPANISH} "Debug symbols: Used for debugging problems with OpenAFS."
244 LangString DESC_secDEBUG ${LANG_SIMPCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
245 LangString DESC_secDEBUG ${LANG_TRADCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
246 LangString DESC_secDEBUG ${LANG_JAPANESE} "Debug symbols: Used for debugging problems with OpenAFS."
247 LangString DESC_secDEBUG ${LANG_KOREAN} "Debug symbols: Used for debugging problems with OpenAFS."
248 LangString DESC_secDEBUG ${LANG_PORTUGUESEBR} "Debug symbols: Used for debugging problems with OpenAFS."
250 ; Popup error messages
251 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
252 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
253 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
254 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
255 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
256 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
257 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
258 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
260 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
261 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
262 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
263 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
264 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
265 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
266 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
267 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
269 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
270 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
271 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
272 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
273 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
274 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
275 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
276 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
279 ; Upgrade/re-install strings
280 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
281 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
282 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
283 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
284 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
285 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
286 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
287 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
289 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
290 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
291 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
292 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
293 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
294 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
295 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
296 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
298 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
299 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
300 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
301 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
302 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
303 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
304 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
305 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
307 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
308 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
309 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
310 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
311 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
312 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
313 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
314 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
316 ReserveFile "CellServPage.ini"
317 ReserveFile "AFSCell.ini"
318 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
319 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
320 ;--------------------------------
322 ; Macro - Upgrade DLL File
323 ; Written by Joost Verburg
324 ; ------------------------
327 ; LOCALFILE - Location of the new DLL file (on the compiler system)
328 ; DESTFILE - Location of the DLL file that should be upgraded
329 ; (on the user's system)
330 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
331 ; when the system has to be rebooted.
332 ; For Win9x support, this should be on the same volume as the
334 ; The Windows temp directory could be located on any volume,
335 ; so you cannot use this directory.
337 ; Define REPLACEDLL_NOREGISTER if you want to upgrade a DLL that does not
338 ; have to be registered.
340 ; Note: If you want to support Win9x, you can only use
341 ; short filenames (8.3).
344 ; !insertmacro ReplaceDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
347 !macro ReplaceDLL LOCALFILE DESTFILE TEMPBASEDIR
356 ;------------------------
357 ;Unique number for labels
359 !define REPLACEDLL_UNIQUE ${__LINE__}
361 ;------------------------
362 ;Copy the parameters used on run-time to a variable
363 ;This allows the usage of variables as paramter
365 StrCpy $R4 "${DESTFILE}"
366 StrCpy $R5 "${TEMPBASEDIR}"
368 ;------------------------
369 ;Check file and version
371 IfFileExists $R4 0 replacedll.copy_${REPLACEDLL_UNIQUE}
374 ; GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
375 ; GetDLLVersion $R4 $R2 $R3
376 ;IfErrors replacedll.upgrade_${REPLACEDLL_UNIQUE}
378 ;IntCmpU $R0 $R2 0 replacedll.done_${REPLACEDLL_UNIQUE} \
379 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
380 ;IntCmpU $R1 $R3 replacedll.done_${REPLACEDLL_UNIQUE} \
381 ; replacedll.done_${REPLACEDLL_UNIQUE} \
382 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
384 ;------------------------
385 ;Let's replace the DLL!
389 ;replacedll.upgrade_${REPLACEDLL_UNIQUE}:
390 !ifndef REPLACEDLL_NOREGISTER
395 ;------------------------
396 ;Try to copy the DLL directly
400 Call :replacedll.file_${REPLACEDLL_UNIQUE}
401 IfErrors 0 replacedll.noreboot_${REPLACEDLL_UNIQUE}
403 ;------------------------
404 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
406 GetTempFileName $R0 $R5
407 Call :replacedll.file_${REPLACEDLL_UNIQUE}
408 Rename /REBOOTOK $R0 $R4
410 ;------------------------
411 ;Register the DLL on reboot
413 !ifndef REPLACEDLL_NOREGISTER
414 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
415 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
418 Goto replacedll.done_${REPLACEDLL_UNIQUE}
420 ;------------------------
421 ;DLL does not exist - just extract
423 replacedll.copy_${REPLACEDLL_UNIQUE}:
425 Call :replacedll.file_${REPLACEDLL_UNIQUE}
427 ;------------------------
430 replacedll.noreboot_${REPLACEDLL_UNIQUE}:
431 !ifndef REPLACEDLL_NOREGISTER
435 ;------------------------
438 replacedll.done_${REPLACEDLL_UNIQUE}:
447 ;------------------------
450 Goto replacedll.end_${REPLACEDLL_UNIQUE}
452 ;------------------------
453 ;Called to extract the DLL
455 replacedll.file_${REPLACEDLL_UNIQUE}:
456 File /oname=$R0 "${LOCALFILE}"
459 replacedll.end_${REPLACEDLL_UNIQUE}:
461 ;------------------------
464 SetOverwrite lastused
466 !undef REPLACEDLL_UNIQUE
471 ;--------------------------------
474 ;Things that need to be extracted on first (keep these lines before any File command!)
475 ;Only useful for BZIP2 compression
476 !insertmacro MUI_RESERVEFILE_LANGDLL
478 ;--------------------------------
488 ;--------------------------------
491 ;----------------------
493 Section "AFS Client" secClient
495 SetShellVarContext all
497 ; Check for bad previous installation (if we are doing a new install)
498 Call IsAnyAFSInstalled
500 StrCmp $R0 "0" +1 skipCheck
504 ; Stop any running services or we can't replace the files
505 ; Stop the running processes
507 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
508 nsExec::Exec '$R0 afsd_service.exe'
509 nsExec::Exec '$R0 afscreds.exe'
510 Exec "afscreds.exe -z"
511 ; in case we are upgrading an old version that does not support -z
512 nsExec::Exec '$R0 afscreds.exe'
514 ;nsExec::Exec '$R0 krbcc32s.exe'
517 nsExec::Exec "net stop TransarcAFSDaemon"
518 nsExec::Exec "net stop TransarcAFSServer"
520 ; Do client components
521 SetOutPath "$INSTDIR\Client\Program"
522 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
523 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
524 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
525 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
526 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
527 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
528 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
529 File "${AFS_CLIENT_BUILDDIR}\aklog.exe"
530 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
531 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
532 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
533 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
534 File "${AFS_DESTDIR}\bin\kpasswd.exe"
535 File "${AFS_SERVER_BUILDDIR}\pts.exe"
536 File "${AFS_SERVER_BUILDDIR}\bos.exe"
537 File "${AFS_SERVER_BUILDDIR}\kas.exe"
538 File "${AFS_SERVER_BUILDDIR}\vos.exe"
539 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
540 File "${AFS_DESTDIR}\bin\translate_et.exe"
541 File "${AFS_DESTDIR}\etc\rxdebug.exe"
542 File "${AFS_DESTDIR}\etc\backup.exe"
543 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$INSTDIR\Client\Program\afs_cpa.cpl" "$INSTDIR"
546 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$SYSDIR\afslogon.dll" "$INSTDIR"
550 ; Get AFS CellServDB file
551 Call afs.GetCellServDB
554 ; Include Kerberos for Windows files in the installer...
555 SetOutPath "$INSTDIR\kfw\bin\"
556 File "${KFW_SOURCE}\bin\*"
557 SetOutPath "$INSTDIR\kfw\doc"
558 File "${KFW_SOURCE}\doc\*"
561 ;Store install folder
562 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
563 Call AFSCommon.Install
565 ; Write registry entries
566 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
567 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
568 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
569 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
570 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
571 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
572 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa" "$INSTDIR\Client\Program\afs_cpa.cpl"
575 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
576 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
577 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
578 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
579 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
580 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
581 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
582 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
583 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
585 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
586 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
587 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
588 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
589 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
590 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
591 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
593 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
594 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
596 ; Delete the DEBUG string
597 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
598 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
601 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
602 Call GetWindowsVersion
604 StrCmp $R1 "2000" +1 +2
605 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
607 ;Write start menu entries
608 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
609 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
611 ; Create command line options for AFSCreds...
613 ReadINIStr $R1 $2 "Field 3" "State"
616 ReadINIStr $R1 $2 "Field 5" "State"
619 ReadINIStr $R1 $2 "Field 7" "State"
622 ReadINIStr $R1 $2 "Field 9" "State"
625 ReadINIStr $R1 $2 "Field 13" "State"
629 WriteRegStr HKLM "SOFTWARE\OpenAFS\Client" "AfscredsShortcutParams" "$R2"
631 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
633 ReadINIStr $R1 $2 "Field 1" "State"
635 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
637 Push "$INSTDIR\Client\Program"
639 Push "$INSTDIR\Common"
643 ; Add kfw to path too
644 Push "$INSTDIR\kfw\bin"
648 ; Create the AFS service
649 SetOutPath "$INSTDIR\Common"
650 File "${AFS_WININSTALL_DIR}\Service.exe"
651 nsExec::Exec "net stop TransarcAFSDaemon"
652 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
653 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
655 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
656 StrCmp $R2 "" +1 skipremove
657 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
658 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
660 Delete "$INSTDIR\Common\service.exe"
663 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
664 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$SYSDIR\afslogon.dll"
665 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$SYSDIR\afslogon.dll"
666 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
667 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
669 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
670 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
671 ; to also include the service name.
673 ReadINIStr $R0 $1 "Field 7" "State"
674 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R0
675 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
676 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
679 ReadINIStr $R0 $1 "Field 2" "State"
680 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
681 ReadINIStr $R0 $1 "Field 3" "State"
682 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
683 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
684 ReadINIStr $R0 $1 "Field 5" "State"
685 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
686 ReadINIStr $R0 $1 "Field 9" "State"
687 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
688 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
689 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
690 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
691 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
692 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
694 ; Find Lana By Name appears to be causing grief for many people
695 ; I do not have time to track this down so I am simply going to disable it
696 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
698 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
699 strcpy $REG_VALUE "DependOnGroup"
700 strcpy $REG_DATA_1 "PNP_TDI"
701 strcpy $REG_DATA_2 ""
702 strcpy $REG_DATA_3 ""
703 Call RegWriteMultiStr
704 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
705 strcpy $REG_VALUE "DependOnService"
706 strcpy $REG_DATA_1 "Tcpip"
707 strcpy $REG_DATA_2 "NETBIOS"
708 strcpy $REG_DATA_3 "RpcSs"
709 Call RegWriteMultiStr
712 ; WinLogon Event Notification
713 ; Disabled because of last minute problems with the XP SP2 release final build
714 ; we are disabling the use of this functionality
715 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
716 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
717 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
718 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
719 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
721 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
726 WriteUninstaller "$INSTDIR\Uninstall.exe"
732 ; MS Loopback adapter
733 Section "MS Loopback Adapter" secLoopback
735 Call afs.InstallMSLoopback
740 ;------------------------
742 Section "AFS Server" secServer
744 SetShellVarContext all
746 ; Check for bad previous installation (if we are doing a new install)
747 Call IsAnyAFSInstalled
749 StrCmp $R0 "0" +1 skipCheck
753 ; Stop any running services or we can't replace the files
754 ; Stop the running processes
756 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
757 nsExec::Exec '$R0 afscreds.exe'
758 Exec "afscreds.exe -z"
759 ; in case we are upgrading an old version that does not support -z
761 nsExec::Exec '$R0 afscreds.exe'
763 ;nsExec::Exec '$R0 krbcc32s.exe'
768 nsExec::Exec "net stop TransarcAFSDaemon"
769 nsExec::Exec "net stop TransarcAFSServer"
771 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
772 CreateDirectory "$INSTDIR\Server\usr\afs\local"
773 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
775 SetOutPath "$INSTDIR\Server\usr\afs\bin"
776 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
777 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
778 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
779 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
780 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
781 File "${AFS_ETC_BUILDDIR}\butc.exe"
782 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
783 File "${AFS_ETC_BUILDDIR}\fms.exe"
784 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
785 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
786 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
787 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
788 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
789 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
790 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
791 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
793 ;AFS Server common files
794 SetOutPath "$INSTDIR\Common"
795 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
796 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
797 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
798 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
799 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
801 SetOutPath "$INSTDIR\Common"
805 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
807 ;Store install folder
808 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
810 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
811 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
812 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
813 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
814 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
815 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
816 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
817 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
818 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
819 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
820 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
821 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
822 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
823 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
824 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
825 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
826 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
828 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
829 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
831 ; Delete the DEBUG string
832 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
833 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
835 ; Install the service
836 SetOutPath "$INSTDIR\Common"
837 File "${AFS_WININSTALL_DIR}\Service.exe"
839 File "${AFS_WININSTALL_DIR}\Service.pdb"
842 ; Check if the service exists--if it does, this is an upgrade/re-install
843 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
844 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
846 ; If an uninstall was done, but we kept the config files, also skip
847 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
849 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
850 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
854 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
855 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
856 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
857 Delete "$INSTDIR\Common\service.exe"
859 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
860 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
863 WriteUninstaller "$INSTDIR\Uninstall.exe"
868 ;----------------------------
869 ; OpenAFS Control Center
870 Section "AFS Control Center" secControl
872 SetShellVarContext all
874 SetOutPath "$INSTDIR\Control Center"
875 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
876 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
877 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
880 ;AFS Server common files
881 Call AFSCommon.Install
883 SetOutPath "$INSTDIR\Common"
885 ;Store install folder
886 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
887 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
888 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
889 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
890 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
891 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
892 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
893 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
894 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
896 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
897 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
899 ; Delete the DEBUG string
900 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
901 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
904 ;Write start menu entries
905 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
906 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
907 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
909 WriteUninstaller "$INSTDIR\Uninstall.exe"
914 ;----------------------------
915 ; OpenAFS Supplemental Documentation
916 Section "Supplemental Documentation" secDocs
917 SetShellVarContext all
919 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
920 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
921 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
922 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
923 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
924 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
925 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
926 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
930 SetOutPath "$INSTDIR\Documentation\html"
931 File "..\..\doc\install\Documentation\en_US\html\*"
932 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
933 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
934 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
935 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
936 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
937 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
938 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
939 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
943 SetOutPath "$INSTDIR\Documentation"
944 File "..\..\doc\install\Documentation\de_DE\README.TXT"
945 SetOutPath "$INSTDIR\Documentation\html"
946 File "..\..\doc\install\Documentation\de_DE\html\*"
947 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
948 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
949 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
950 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
951 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
952 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
953 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
954 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
958 SetOutPath "$INSTDIR\Documentation"
959 File "..\..\doc\install\Documentation\es_ES\README.TXT"
960 SetOutPath "$INSTDIR\Documentation\html"
961 File "..\..\doc\install\Documentation\es_ES\html\*"
962 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
963 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
964 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
965 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
966 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
967 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
968 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
969 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
973 SetOutPath "$INSTDIR\Documentation"
974 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
975 SetOutPath "$INSTDIR\Documentation\html"
976 File "..\..\doc\install\Documentation\ja_JP\html\*"
977 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
978 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
979 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
980 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
981 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
982 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
983 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
984 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
988 SetOutPath "$INSTDIR\Documentation"
989 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
990 SetOutPath "$INSTDIR\Documentation\html"
991 File "..\..\doc\install\Documentation\ko_KR\html\*"
992 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
993 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
994 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
995 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
996 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
997 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
998 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
999 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1003 SetOutPath "$INSTDIR\Documentation"
1004 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1005 SetOutPath "$INSTDIR\Documentation\html"
1006 File "..\..\doc\install\Documentation\pt_BR\html\*"
1007 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1008 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1009 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1010 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1011 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1012 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1013 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1014 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1018 SetOutPath "$INSTDIR\Documentation"
1019 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1020 SetOutPath "$INSTDIR\Documentation\html"
1021 File "..\..\doc\install\Documentation\zh_CN\html\*"
1022 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1023 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1024 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1025 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1026 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1027 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1028 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1029 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1033 SetOutPath "$INSTDIR\Documentation"
1034 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1035 SetOutPath "$INSTDIR\Documentation\html"
1036 File "..\..\doc\install\Documentation\zh_TW\html\*"
1037 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1038 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1039 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1040 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1041 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1042 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1043 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1044 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1049 ;Store install folder
1050 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1051 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1052 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1053 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1054 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1055 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1056 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1057 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1058 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1060 ; Write start menu shortcut
1061 SetOutPath "$SMPROGRAMS\OpenAFS"
1062 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1065 WriteUninstaller "$INSTDIR\Uninstall.exe"
1066 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1067 Call AFSCommon.Install
1071 Section "Software Development Kit (SDK)" secSDK
1073 SetOutPath "$INSTDIR\Client\Program\lib"
1074 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1076 SetOutPath "$INSTDIR\Client\Program\Include"
1077 File /r "${AFS_BUILD_INCDIR}\*.*"
1080 SetOutPath "$INSTDIR\Client\Program\Sample"
1081 File "..\..\afsd\sample\token.c"
1083 ;Store install folder
1084 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1085 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1086 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1087 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1088 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1089 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1090 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1091 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1092 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1094 WriteUninstaller "$INSTDIR\Uninstall.exe"
1095 SetOutPath "$SMPROGRAMS\OpenAFS"
1096 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1098 Call AFSCommon.Install
1102 Section "Debug symbols" secDebug
1103 SectionGetFlags ${secClient} $R0
1104 IntOp $R0 $R0 & ${SF_SELECTED}
1105 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1107 ; Do client components
1108 SetOutPath "$INSTDIR\Client\Program"
1109 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1110 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1111 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1112 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1113 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1114 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1115 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1116 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1117 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1118 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1119 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1120 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1121 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1122 File "${AFS_DESTDIR}\bin\pts.pdb"
1123 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1124 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1125 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1126 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1127 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1128 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1129 File "${AFS_DESTDIR}\etc\backup.pdb"
1130 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1132 SetOutPath "$SYSDIR"
1133 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1136 SectionGetFlags ${secServer} $R0
1137 IntOp $R0 $R0 & ${SF_SELECTED}
1138 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1140 ; Do server components
1141 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1142 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1143 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1144 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1145 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1146 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1147 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1148 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1149 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1150 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1151 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1152 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1153 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1154 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1155 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1156 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1157 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1159 ; Do server common components
1160 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1161 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1162 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1163 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1164 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1166 SetOutPath "$SYSDIR"
1167 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1169 ; Do control center components
1171 SectionGetFlags ${secControl} $R0
1172 IntOp $R0 $R0 & ${SF_SELECTED}
1173 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1175 SetOutPath "$INSTDIR\Control Center"
1176 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1177 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1178 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1181 SetOutPath "$INSTDIR\Common"
1183 File "${SYSTEMDIR}\msvcr71d.pdb"
1184 File "${SYSTEMDIR}\msvcp71d.pdb"
1185 File "${SYSTEMDIR}\mfc71d.pdb"
1188 File "${SYSTEMDIR}\msvcr70d.pdb"
1189 File "${SYSTEMDIR}\msvcp70d.pdb"
1190 File "${SYSTEMDIR}\mfc70d.pdb"
1192 File "${SYSTEMDIR}\mfc42d.pdb"
1193 File "${SYSTEMDIR}\msvcp60d.pdb"
1194 File "${SYSTEMDIR}\msvcrtd.pdb"
1199 SetOutPath "$INSTDIR\Common"
1200 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1201 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1202 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1203 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1204 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1205 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1206 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1207 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1208 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1209 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1210 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1211 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1212 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1213 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1218 ;Display the Finish header
1219 ;Insert this macro after the sections if you are not using a finish page
1220 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1222 ;--------------------------------
1223 ;Installer Functions
1227 !insertmacro MUI_LANGDLL_DISPLAY
1229 ; Set the default install options
1234 StrCmp $R0 "true" contInstall
1236 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1241 ; Check that RPC functions are installed (I believe any one of these can be present for
1243 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1244 StrCmp $R0 "rpcrt4.dll" contInstall2
1245 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1246 StrCmp $R0 "rpcrt4.dll" contInstall2
1247 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1248 StrCmp $R0 "rpcrt4.dll" contInstall2
1250 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "An error was detected with your Windows RPC installation. Please make sure Windows RPC is installed before installing OpenAFS."
1256 ; If the Loopback is already installed, we mark the option OFF and Read Only
1257 ; so the user can not select it.
1258 Call afs.isLoopbackInstalled
1259 IntCmp $R1 0 SkipLoop
1260 SectionGetFlags ${secLoopback} $0
1261 IntOp $0 $0 & ${SECTION_OFF}
1262 IntOp $0 $0 | ${SF_RO}
1263 SectionSetFlags ${secLoopback} $0
1266 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1268 SectionGetFlags ${secDebug} $0
1269 IntOp $0 $0 & ${SECTION_OFF}
1270 SectionSetFlags ${secDebug} $0
1272 SectionGetFlags ${secDebug} $0
1273 IntOp $0 $0 | ${SF_SELECTED}
1274 SectionSetFlags ${secDebug} $0
1276 ; Our logic should be like this.
1277 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1278 ; 2) If existing modules are installed, we keep them selected
1279 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1281 Call IsAnyAFSInstalled
1283 StrCmp $R0 "0" DefaultOptions
1285 Call ShouldClientInstall
1288 ; Check if it was an IBM/Transarc version
1289 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1290 StrCmp $R0 "IBM AFS Client" DoIBM
1291 StrCmp $R0 "Transarc AFS Client" DoIBM
1294 StrCmp $R2 "0" NoClient
1295 StrCmp $R2 "1" ReinstallClient
1296 StrCmp $R2 "2" UpgradeClient
1297 StrCmp $R2 "3" DowngradeClient
1300 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1301 StrCmp $R0 "3" +1 NotIBM
1306 SectionGetFlags ${secClient} $0
1307 IntOp $0 $0 | ${SF_SELECTED}
1308 SectionSetFlags ${secClient} $0
1309 ;# !insertmacro SelectSection ${secClient}
1312 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1313 SectionGetFlags ${secClient} $0
1314 IntOp $0 $0 & ${SECTION_OFF}
1315 SectionSetFlags ${secClient} $0
1318 SectionGetFlags ${secClient} $0
1319 IntOp $0 $0 | ${SF_SELECTED}
1320 SectionSetFlags ${secClient} $0
1321 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1324 SectionGetFlags ${secClient} $0
1325 IntOp $0 $0 | ${SF_SELECTED}
1326 SectionSetFlags ${secClient} $0
1327 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1330 SectionGetFlags ${secClient} $0
1331 IntOp $0 $0 | ${SF_SELECTED}
1332 SectionSetFlags ${secClient} $0
1333 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1339 Call ShouldServerInstall
1341 StrCmp $R2 "0" NoServer
1342 StrCmp $R2 "1" ReinstallServer
1343 StrCmp $R2 "2" UpgradeServer
1344 StrCmp $R2 "3" DowngradeServer
1346 SectionGetFlags ${secServer} $0
1347 IntOp $0 $0 | ${SF_SELECTED}
1348 SectionSetFlags ${secServer} $0
1349 ;# !insertmacro UnselectSection ${secServer}
1353 SectionGetFlags ${secServer} $0
1354 IntOp $0 $0 | ${SF_SELECTED}
1355 SectionSetFlags ${secServer} $0
1356 SectionSetText ${secServer} $(UPGRADE_SERVER)
1360 SectionGetFlags ${secServer} $0
1361 IntOp $0 $0 | ${SF_SELECTED}
1362 SectionSetFlags ${secServer} $0
1363 SectionSetText ${secServer} $(REINSTALL_SERVER)
1367 SectionGetFlags ${secServer} $0
1368 IntOp $0 $0 | ${SF_SELECTED}
1369 SectionSetFlags ${secServer} $0
1370 SectionSetText ${secServer} $(REINSTALL_SERVER)
1374 SectionGetFlags ${secServer} $0
1375 IntOp $0 $0 & ${SECTION_OFF}
1376 SectionSetFlags ${secServer} $0
1377 ;# !insertmacro UnselectSection ${secServer}
1381 ; Check control center
1382 Call IsControlInstalled
1384 StrCmp $R2 "0" NoControl
1386 SectionGetFlags ${secControl} $0
1387 IntOp $0 $0 | ${SF_SELECTED}
1388 SectionSetFlags ${secControl} $0
1392 SectionGetFlags ${secControl} $0
1393 IntOp $0 $0 & ${SECTION_OFF}
1394 SectionSetFlags ${secControl} $0
1395 ;# !insertmacro UnselectSection ${secControl}
1398 ; Check Documentation
1399 Call IsDocumentationInstalled
1401 StrCmp $R2 "0" NoDocs
1402 SectionGetFlags ${secDocs} $0
1403 IntOp $0 $0 | ${SF_SELECTED}
1404 SectionSetFlags ${secDocs} $0
1408 SectionGetFlags ${secDocs} $0
1409 IntOp $0 $0 & ${SECTION_OFF}
1410 SectionSetFlags ${secDocs} $0
1413 ; To check the SDK, we simply look to see if the files exist. If they do,
1414 ; the SDK is installed. If not, we don't need to push it on the user.
1415 ; If they are there, we want to make sure they match the installed version.
1417 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1418 SectionGetFlags ${secSDK} $0
1419 IntOp $0 $0 | ${SF_SELECTED}
1420 SectionSetFlags ${secSDK} $0
1424 SectionGetFlags ${secSDK} $0
1425 IntOp $0 $0 & ${SECTION_OFF}
1426 SectionSetFlags ${secSDK} $0
1431 SectionGetFlags ${secClient} $0
1432 IntOp $0 $0 | ${SF_SELECTED}
1433 SectionSetFlags ${secClient} $0
1435 ; Server NOT selected
1436 SectionGetFlags ${secServer} $0
1437 IntOp $0 $0 & ${SECTION_OFF}
1438 SectionSetFlags ${secServer} $0
1440 ; Control Center NOT selected
1441 SectionGetFlags ${secControl} $0
1442 IntOp $0 $0 & ${SECTION_OFF}
1443 SectionSetFlags ${secControl} $0
1444 ;# !insertmacro UnselectSection ${secControl}
1446 ; Documentation selected
1447 SectionGetFlags ${secDocs} $0
1448 IntOp $0 $0 | ${SF_SELECTED}
1449 SectionSetFlags ${secDocs} $0
1450 ;# !insertmacro UnselectSection ${secDocs}
1453 SectionGetFlags ${secSDK} $0
1454 IntOp $0 $0 & ${SECTION_OFF}
1455 SectionSetFlags ${secSDK} $0
1456 ;# !insertmacro UnselectSection ${secSDK}
1465 ; See if we can set a default installation path...
1466 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1467 StrCmp $R0 "" TryServer
1471 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1472 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1473 StrCmp $R0 "1" +1 SkipParent
1474 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1475 StrCmp $R0 "3" +1 SkipParent
1476 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1477 StrCmp $R0 "5000" UpParent
1478 StrCmp $R0 "5100" UpParent
1479 StrCmp $R0 "5200" UpParent
1480 StrCmp $R0 "5201" UpParent
1481 StrCmp $R0 "5299" UpParent
1493 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1494 StrCmp $R0 "" TryControl
1502 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1510 File /oname=$0 CellServPage.ini
1512 File /oname=$1 AFSCell.ini
1514 File /oname=$2 AFSCreds.ini
1515 ;File /oname=$1 ConfigURL.ini
1523 ;--------------------------------
1524 ; These are our cleanup functions
1525 Function .onInstFailed
1530 Function .onInstSuccess
1536 ;--------------------------------
1539 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1540 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1541 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1542 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1543 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1544 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1545 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1546 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1547 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1549 ;--------------------------------
1550 ;Uninstaller Section
1553 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1554 IfSilent StartRemove ; New in v2.0b4
1555 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1560 SetShellVarContext all
1561 ; Stop the running processes
1563 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1564 nsExec::Exec '$R0 afscreds.exe'
1565 Exec "afscreds.exe -z"
1566 ; in case we are upgrading an old version that does not support -z
1568 nsExec::Exec '$R0 afscreds.exe'
1570 nsExec::Exec '$R0 krbcc32s.exe'
1573 ; Delete the AFS service
1575 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1576 nsExec::Exec "net stop TransarcAFSDaemon"
1577 nsExec::Exec "net stop TransarcAFSServer"
1578 nsExec::Exec '$R0 u TransarcAFSDaemon'
1579 ; After we stop the service, but before we delete it, we have to remove the volume data
1580 ; This is because the storage locations are in the registry under the service key.
1581 ; Call un.RemoveAFSVolumes
1582 nsExec::Exec '$R0 u TransarcAFSServer'
1585 Call un.RemoveProvider
1587 Push "$INSTDIR\Client\Program"
1588 Call un.RemoveFromPath
1589 Push "$INSTDIR\Common"
1590 Call un.RemoveFromPath
1592 Push "$INSTDIR\kfw\bin"
1593 Call un.RemoveFromPath
1596 ; Delete documentation
1597 Delete "$INSTDIR\Documentation\README.TXT"
1598 Delete "$INSTDIR\Documentation\html\*"
1599 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1600 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1601 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1602 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1604 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1605 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1606 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1607 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1608 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1609 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1610 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1611 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1612 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1613 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1614 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1615 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1616 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1617 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1618 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1620 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1621 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1622 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1623 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1624 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1625 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1626 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1627 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1628 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1629 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1630 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1631 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1632 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1633 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1634 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1637 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1638 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1639 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1640 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1641 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1642 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1645 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1646 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1647 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1648 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1649 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1650 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1652 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1653 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1654 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1655 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1656 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1657 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1662 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1663 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1664 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1665 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1666 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1667 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1668 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1669 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1670 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1671 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1672 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1673 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1676 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1677 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1678 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1679 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1680 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1681 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1682 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1683 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1684 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1685 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1686 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1687 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1689 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1690 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1691 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1697 ; IfFileExists "$INSTDIR\Client\CellServDB" CellExists SkipDelAsk
1699 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1700 Delete "$INSTDIR\Client\CellServDB"
1702 ; Only remove krb5.ini if KfW was installed
1704 Delete "$WINDIR\krb5.ini"
1706 Delete "$INSTDIR\Client\afsdns.ini"
1709 Delete "$WINDIR\afsd_init.log"
1710 Delete "$INSTDIR\Uninstall.exe"
1713 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1714 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1715 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1716 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1717 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1718 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1719 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1720 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1721 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1722 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1723 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1724 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1725 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1726 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1727 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1728 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1729 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1731 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1732 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1733 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1734 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1735 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1736 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1737 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1738 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1739 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1740 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1741 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1742 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1743 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1744 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1745 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1746 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1747 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1749 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1750 ; do not delete the server configuration files
1751 ; or we will lose the volumes and authentication
1753 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1754 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1755 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1756 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1758 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1759 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1760 Delete /REBOOTOK "$SYSDIR\afslogon.dll"
1762 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1763 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1764 Delete /REBOOTOK "$SYSDIR\afslogon.pdb"
1766 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1767 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1768 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1769 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1770 RMDIr /r "$INSTDIR\Documentation\html"
1772 RMDir "$INSTDIR\Documentation"
1773 ; Delete DOC short cut
1774 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1776 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1778 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1779 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1780 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1781 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1782 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1783 RMDir "$INSTDIR\Client\Program\Sample"
1784 RMDir "$INSTDIR\Client\Program\Include\afs"
1785 RMDir "$INSTDIR\Client\Program\Include\rx"
1786 RMDir "$INSTDIR\Client\Program\Include"
1787 RMDir "$INSTDIR\Client\Program"
1788 RMDir "$INSTDIR\Client"
1792 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1793 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1794 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1795 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1796 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1797 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1800 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1801 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1802 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1803 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1804 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1805 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1807 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1808 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1809 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1810 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1811 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1812 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1817 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1818 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1819 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1820 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1821 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1822 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1823 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1824 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1825 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1826 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1827 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1828 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1831 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1832 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1833 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1834 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1835 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1836 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1837 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1838 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1839 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1840 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1841 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1842 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1844 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1845 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1846 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1851 Delete /REBOOTOK "$INSTDIR\Common\*"
1852 RMDir "$INSTDIR\Common"
1856 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1857 RMDIR /r "$INSTDIR\kfw\bin"
1858 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1859 RMDIR /r "$INSTDIR\kfw\doc"
1860 RMDIR /r "$INSTDIR\kfw"
1863 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1865 ; Remove control center
1866 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1867 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1868 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1869 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1870 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1871 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1872 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1873 RMDir "$INSTDIR\Control Center"
1875 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1876 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1877 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1878 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1879 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1880 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1881 RMDir /r "$SMPROGRAMS\OpenAFS"
1882 Delete "$SMSTARTUP\AFS Credentials.lnk"
1884 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1886 Delete "$R0\AFSCache"
1887 Delete "C:\AFSCache"
1889 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1890 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1891 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1892 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1893 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1894 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1896 ; WinLogon Event Notification
1897 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1899 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1900 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1901 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1902 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1903 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1904 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1905 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1906 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1907 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1908 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1909 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1915 ;--------------------------------
1916 ;Uninstaller Functions
1920 ;Get language from registry
1921 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1925 Function un.onUninstSuccess
1928 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1933 ;------------------------------
1934 ; Get the CellServDB file from the Internet
1936 Function afs.GetCellServDB
1938 ;Check if we should download CellServDB
1939 ReadINIStr $R0 $0 "Field 4" "State"
1940 StrCmp $R0 "1" DoDownload
1942 ;Do nothing if we're keeping the existing file
1943 ReadINIStr $R0 $0 "Field 2" "State"
1946 ReadINIStr $R0 $0 "Field 6" "State"
1947 StrCmp $R0 "1" CheckOther
1949 ReadINIStr $R0 $0 "Field 3" "State"
1950 StrCmp $R0 "1" UsePackaged
1952 ; If none of these, grab file from other location
1956 ReadINIStr $R0 $0 "Field 5" "State"
1957 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
1958 Pop $R0 ;Get the return value
1959 StrCmp $R0 "success" +2
1960 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1964 SetOutPath "$INSTDIR\Client"
1969 ReadINIStr $R0 $0 "Field 7" "State"
1971 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
1977 Function AddProvider
1980 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1982 StrCpy $R0 "TransarcAFSDaemon"
1986 StrCmp $R0 "" +1 DoOther
1987 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1988 StrCpy $R0 "$R1,TransarcAFSDaemon"
1989 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1991 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1993 StrCpy $R0 "TransarcAFSDaemon"
1997 StrCmp $R0 "" +1 End
1998 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1999 StrCpy $R0 "$R1,TransarcAFSDaemon"
2000 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2006 Function un.RemoveProvider
2008 StrCpy $R0 "TransarcAFSDaemon"
2010 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2011 Call un.RemoveFromProvider
2012 StrCpy $R0 "TransarcAFSDaemon"
2014 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2015 Call un.RemoveFromProvider
2019 Function un.RemoveFromProvider
2028 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2029 StrCpy $5 $1 1 -1 # copy last char
2030 StrCmp $5 "," +2 # if last char != ,
2031 StrCpy $1 "$1," # append ,
2034 Call un.StrStr ; Find `$0,` in $1
2035 Pop $2 ; pos of our dir
2036 StrCmp $2 "" unRemoveFromPath_done
2037 ; else, it is in path
2042 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2043 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2046 StrCpy $5 $3 1 -1 # copy last char
2047 StrCmp $5 "," 0 +2 # if last char == ,
2048 StrCpy $3 $3 -1 # remove last char
2050 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2052 unRemoveFromPath_done:
2062 Function CheckPathForAFS
2067 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2076 IfFileExists "$3\afsd_service.exe" Error
2077 StrCpy $1 $0 32768 1
2079 IntCmp $2 0 Done Done loop
2082 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."
2083 Abort "Unable to install OpenAFS"
2091 Function AddToUniquePath
2095 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2099 StrCmp $R0 "" +1 Done
2105 ;-------------------------------
2106 ;Do the page to get the CellServDB
2108 Function AFSPageGetCellServDB
2109 ; Skip this page if we are not installing the client
2110 SectionGetFlags ${secClient} $R0
2111 IntOp $R0 $R0 & ${SF_SELECTED}
2114 ; Set the install options here
2117 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2118 WriteINIStr $0 "Field 3" "State" "1"
2119 WriteINISTR $0 "Field 4" "State" "0"
2120 WriteINIStr $0 "Field 6" "State" "0"
2122 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2123 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2124 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2125 Delete "$WINDIR\afsdcell.ini"
2126 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2127 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2128 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2129 WriteINIStr $0 "Field 2" "State" "1"
2130 WriteINIStr $0 "Field 3" "State" "0"
2134 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2135 InstallOptions::dialog $0
2137 StrCmp $R1 "cancel" exit
2138 StrCmp $R1 "back" done
2139 StrCmp $R1 "success" done
2143 ; Check that if a file is set, a valid filename is entered...
2144 ReadINIStr $R0 $0 "Field 6" "State"
2145 StrCmp $R0 "1" CheckFileName
2147 ;Check if a URL is specified, one *IS* specified
2148 ReadINIStr $R0 $0 "Field 4" "State"
2149 StrCmp $R0 "1" CheckURL Skip
2152 ReadINIStr $R0 $0 "Field 5" "State"
2153 StrCmp $R0 "" +1 Skip
2154 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2155 WriteINIStr $0 "Field 4" "State" "0"
2159 ReadINIStr $R0 $0 "Field 7" "State"
2160 IfFileExists $R0 Skip
2162 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2163 WriteINIStr $0 "Field 6" "State" "0"
2171 Function AFSPageGetCellName
2173 ; Skip this page if we are not installing the client
2174 SectionGetFlags ${secClient} $R0
2175 IntOp $R0 $R0 & ${SF_SELECTED}
2179 ; If this is a server install, we do NOT want to recommend the Freelance client
2180 ; And we do not need to ask for the cell name.
2181 SectionGetFlags ${secServer} $R1
2182 IntOp $R1 $R1 & ${SF_SELECTED}
2183 StrCmp $R1 "1" +1 NotServer
2184 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2185 WriteINIStr $1 "Field 5" "State" "0"
2186 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2187 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2190 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2191 WriteINIStr $1 "Field 5" "State" "1"
2192 WriteINIStr $1 "Field 1" "Flags" ""
2193 WriteINIStr $1 "Field 2" "Flags" ""
2195 ; Get the current cell name, if any
2196 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2198 WriteINIStr $1 "Field 2" "State" $R1
2199 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2200 InstallOptions::dialog $1
2202 StrCmp $R1 "cancel" exit
2203 StrCmp $R1 "back" done
2204 StrCmp $R1 "success" done
2207 ReadINIStr $R0 $1 "Field 2" "State"
2208 StrCmp $R0 "" +1 good
2210 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2216 ;---------------------------------------------------------
2217 ;Do the page to get the afscreds.exe startup configuration
2219 Function AFSPageConfigAFSCreds
2220 ; Skip this page if we are not installing the client
2221 SectionGetFlags ${secClient} $R0
2222 IntOp $R0 $R0 & ${SF_SELECTED}
2225 ; Set the install options here
2227 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2228 InstallOptions::dialog $2
2230 StrCmp $R1 "cancel" exit
2231 StrCmp $R1 "back" done
2232 StrCmp $R1 "success" done
2240 ; Common install routines for each module
2241 Function AFSCommon.Install
2243 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2244 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2246 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2248 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2250 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2255 ;-------------------
2256 ; Get the currently installed version and place it on the stack
2258 Function GetInstalledVersion
2263 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2264 StrCmp $R0 "" NotTransarc done
2268 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2277 ; Functions to get each component of the version number
2278 Function GetInstalledVersionMajor
2283 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2284 StrCmp $R0 "" NotTransarc done
2288 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2297 Function GetInstalledVersionMinor
2302 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2303 StrCmp $R0 "" NotTransarc done
2307 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2316 Function GetInstalledVersionPatch
2321 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2322 StrCmp $R0 "" NotTransarc done
2326 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2337 ;-------------------------------
2338 ; Check if the client should be checked for default install
2339 Function ShouldClientInstall
2341 StrCpy $R2 "AFS Client"
2342 Call GetInstalledVersion
2345 StrCmp $R0 "" NotInstalled
2346 ; Now we see if it's an older or newer version
2348 Call GetInstalledVersionMajor
2350 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2352 Call GetInstalledVersionMinor
2354 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2356 Call GetInstalledVersionPatch
2358 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2381 ;-------------------------------
2382 ; Check how the server options should be set
2383 Function ShouldServerInstall
2385 StrCpy $R2 "AFS Server"
2386 Call GetInstalledVersion
2389 StrCmp $R0 "" NotInstalled
2390 ; Now we see if it's an older or newer version
2392 Call GetInstalledVersionMajor
2394 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2396 Call GetInstalledVersionMinor
2398 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2400 Call GetInstalledVersionPatch
2402 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2427 ; See if AFS Server is installed
2428 ; Returns: "1" if it is, 0 if it is not (on the stack)
2429 Function IsServerInstalled
2431 StrCpy $R2 "AFS Server"
2432 Call GetInstalledVersion
2435 StrCmp $R0 "" NotInstalled
2448 ; See if AFS Client is installed
2449 ; Returns: "1" if it is, 0 if it is not (on the stack)
2450 Function IsClientInstalled
2452 StrCpy $R2 "AFS Client"
2453 Call GetInstalledVersion
2456 StrCmp $R0 "" NotInstalled
2470 ; See if AFS Documentation is installed
2471 ; Returns: "1" if it is, 0 if it is not (on the stack)
2472 Function IsDocumentationInstalled
2474 StrCpy $R2 "AFS Supplemental Documentation"
2475 Call GetInstalledVersion
2478 StrCmp $R0 "" NotInstalled
2491 ; See if Control Center is installed
2492 ; Returns: "1" if it is, 0 if it is not (on the stack)
2493 Function IsControlInstalled
2495 StrCpy $R2 "AFS Control Center"
2496 Call GetInstalledVersion
2499 StrCmp $R0 "" NotInstalled
2514 ; output, top of stack (replaces, with e.g. whatever)
2515 ; modifies no other variables.
2517 Function GetParameters
2521 StrCpy $R0 $CMDLINE 1
2525 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2527 StrCpy $R0 $CMDLINE 1 $R2
2528 StrCmp $R0 $R1 loop2
2534 StrCpy $R0 $CMDLINE 1 $R2
2535 StrCmp $R0 " " loop2
2536 StrCpy $R0 $CMDLINE "" $R2
2543 ;Check to see if any AFS component is installed
2544 ;Returns: Value on stack: "1" if it is, "0" if it is not
2545 Function IsAnyAFSInstalled
2550 Call IsClientInstalled
2552 Call IsServerInstalled
2554 Call IsControlInstalled
2556 Call IsDocumentationInstalled
2558 ; Now we must see if ANY of the $Rn values are 1
2559 StrCmp $R0 "1" SomethingInstalled
2560 StrCmp $R1 "1" SomethingInstalled
2561 StrCmp $R2 "1" SomethingInstalled
2562 StrCmp $R3 "1" SomethingInstalled
2576 ;Install English Language Files
2577 Function AFSLangFiles
2579 SetOutPath "$INSTDIR\Common"
2580 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2581 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2582 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2583 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2584 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2585 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2586 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2587 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2588 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2589 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2590 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2591 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2592 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2593 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2595 SetOutPath "$INSTDIR\Common"
2599 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2600 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2601 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2602 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2603 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2604 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2605 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2606 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2607 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2608 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2609 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2610 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2613 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2614 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2615 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2616 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2617 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2618 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2619 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2620 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2621 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2622 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2623 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2624 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2626 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2627 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2628 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2633 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2634 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2635 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2636 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2637 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2638 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2639 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2640 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2641 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2642 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2643 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2644 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2647 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2648 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2649 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2650 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2651 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2652 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2653 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2654 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2655 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2656 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2657 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2658 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2660 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2661 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2662 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2667 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2668 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2669 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2670 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2671 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2672 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2673 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2674 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2678 SetOutPath "$INSTDIR\Documentation"
2679 File "..\..\doc\install\Documentation\en_US\README.TXT"
2681 SetOutPath "$INSTDIR\Client\Program"
2682 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2683 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2685 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2686 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2689 SetOutPath "$INSTDIR\Common"
2690 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2691 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2692 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2693 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2694 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2695 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2696 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2697 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2698 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2699 File "..\..\doc\help\en_US\afs-cc.CNT"
2700 File "..\..\doc\help\en_US\afs-cc.hlp"
2701 File "..\..\doc\help\en_US\afs-light.CNT"
2702 File "..\..\doc\help\en_US\afs-light.hlp"
2703 File "..\..\doc\help\en_US\afs-nt.CNT"
2704 File "..\..\doc\help\en_US\afs-nt.HLP"
2705 File "..\..\doc\help\en_US\taafscfg.CNT"
2706 File "..\..\doc\help\en_US\taafscfg.hlp"
2707 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2708 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2709 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2710 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2713 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2714 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2715 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2716 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2717 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2718 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2719 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2720 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2726 SetOutPath "$INSTDIR\Documentation"
2727 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2729 SetOutPath "$INSTDIR\Client\Program"
2730 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2731 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2733 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2734 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2737 SetOutPath "$INSTDIR\Common"
2738 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2739 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2740 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2741 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2742 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2743 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2744 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2745 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2746 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2747 File "..\..\doc\help\de_DE\afs-cc.CNT"
2748 File "..\..\doc\help\de_DE\afs-cc.hlp"
2749 File "..\..\doc\help\de_DE\afs-light.CNT"
2750 File "..\..\doc\help\de_DE\afs-light.hlp"
2751 File "..\..\doc\help\de_DE\afs-nt.CNT"
2752 File "..\..\doc\help\de_DE\afs-nt.HLP"
2753 File "..\..\doc\help\de_DE\taafscfg.CNT"
2754 File "..\..\doc\help\de_DE\taafscfg.hlp"
2755 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2756 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2757 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2758 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2761 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2762 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2763 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2764 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2765 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2766 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2767 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2768 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2774 SetOutPath "$INSTDIR\Documentation"
2775 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2777 SetOutPath "$INSTDIR\Client\Program"
2778 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2779 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2781 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2782 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2785 SetOutPath "$INSTDIR\Common"
2786 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2787 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2788 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2789 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2790 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2791 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2792 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2793 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2794 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2795 File "..\..\doc\help\es_ES\afs-cc.CNT"
2796 File "..\..\doc\help\es_ES\afs-cc.hlp"
2797 File "..\..\doc\help\es_ES\afs-light.CNT"
2798 File "..\..\doc\help\es_ES\afs-light.hlp"
2799 File "..\..\doc\help\es_ES\afs-nt.CNT"
2800 File "..\..\doc\help\es_ES\afs-nt.HLP"
2801 File "..\..\doc\help\es_ES\taafscfg.CNT"
2802 File "..\..\doc\help\es_ES\taafscfg.hlp"
2803 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2804 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2805 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2806 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2809 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2810 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2811 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2812 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2813 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2814 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2815 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2816 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2822 SetOutPath "$INSTDIR\Documentation"
2823 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2825 SetOutPath "$INSTDIR\Client\Program"
2826 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2827 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2829 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2830 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2833 SetOutPath "$INSTDIR\Common"
2834 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2835 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2836 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2837 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2838 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2839 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2840 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2841 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2842 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2843 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2844 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2845 File "..\..\doc\help\ja_JP\afs-light.CNT"
2846 File "..\..\doc\help\ja_JP\afs-light.hlp"
2847 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2848 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2849 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2850 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2851 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2852 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2853 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2854 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2857 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2858 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2859 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2860 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2861 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2862 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2863 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2864 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2870 SetOutPath "$INSTDIR\Documentation"
2871 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2873 SetOutPath "$INSTDIR\Client\Program"
2874 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2875 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2877 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2878 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2881 SetOutPath "$INSTDIR\Common"
2882 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2883 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2884 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2885 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2886 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2887 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2888 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2889 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2890 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2891 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2892 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2893 File "..\..\doc\help\ko_KR\afs-light.CNT"
2894 File "..\..\doc\help\ko_KR\afs-light.hlp"
2895 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2896 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2897 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2898 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2899 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2900 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2901 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2902 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2905 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2906 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2907 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2908 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2909 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2910 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2911 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2912 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2919 SetOutPath "$INSTDIR\Documentation"
2920 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2922 SetOutPath "$INSTDIR\Client\Program"
2923 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2924 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2926 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2927 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2930 SetOutPath "$INSTDIR\Common"
2931 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
2932 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
2933 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
2934 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
2935 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
2936 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
2937 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
2938 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
2939 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
2940 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2941 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2942 File "..\..\doc\help\pt_BR\afs-light.CNT"
2943 File "..\..\doc\help\pt_BR\afs-light.hlp"
2944 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2945 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2946 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2947 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2948 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2949 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2950 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2951 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2954 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2955 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2956 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2957 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2958 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2959 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2960 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2961 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2967 SetOutPath "$INSTDIR\Documentation"
2968 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2970 SetOutPath "$INSTDIR\Client\Program"
2971 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
2972 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2974 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2975 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2978 SetOutPath "$INSTDIR\Common"
2979 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
2980 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
2981 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
2982 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
2983 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
2984 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
2985 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
2986 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
2987 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
2988 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2989 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2990 File "..\..\doc\help\zh_CN\afs-light.CNT"
2991 File "..\..\doc\help\zh_CN\afs-light.hlp"
2992 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2993 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2994 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2995 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2996 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2997 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2998 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2999 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3002 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3003 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3004 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3005 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3006 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3007 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3008 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3009 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3015 SetOutPath "$INSTDIR\Documentation"
3016 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3018 SetOutPath "$INSTDIR\Client\Program"
3019 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3020 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3022 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3023 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3026 SetOutPath "$INSTDIR\Common"
3027 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3028 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3029 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3030 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3031 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3032 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3033 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3034 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3035 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3036 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3037 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3038 File "..\..\doc\help\zh_TW\afs-light.CNT"
3039 File "..\..\doc\help\zh_TW\afs-light.hlp"
3040 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3041 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3042 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3043 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3044 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3045 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3046 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3047 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3050 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3051 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3052 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3053 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3054 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3055 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3056 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3057 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3066 ;====================================================
3067 ; AddToPath - Adds the given dir to the search path.
3068 ; Input - head of the stack
3069 ; Note - Win9x systems requires reboot
3070 ;====================================================
3077 # don't add if the path doesn't exist
3078 IfFileExists $0 "" AddToPath_done
3085 StrCmp $2 "" "" AddToPath_done
3090 StrCmp $2 "" "" AddToPath_done
3091 GetFullPathName /SHORT $3 $0
3096 StrCmp $2 "" "" AddToPath_done
3101 StrCmp $2 "" "" AddToPath_done
3105 StrCmp $1 1 AddToPath_NT
3108 FileOpen $1 "$1\autoexec.bat" a
3111 IntCmp $2 26 0 +2 +2 # DOS EOF
3112 FileSeek $1 -1 END # write over EOF
3113 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3119 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3120 StrCpy $2 $1 1 -1 # copy last char
3121 StrCmp $2 ";" 0 +2 # if last char == ;
3122 StrCpy $1 $1 -1 # remove last char
3123 StrCmp $1 "" AddToPath_NTdoIt
3126 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3127 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3136 ;====================================================
3137 ; RemoveFromPath - Remove a given dir from the path
3138 ; Input: head of the stack
3139 ;====================================================
3140 Function un.RemoveFromPath
3149 IntFmt $6 "%c" 26 # DOS EOF
3153 StrCmp $1 1 unRemoveFromPath_NT
3156 FileOpen $1 "$1\autoexec.bat" r
3159 GetFullPathName /SHORT $0 $0
3160 StrCpy $0 "SET PATH=%PATH%;$0"
3161 Goto unRemoveFromPath_dosLoop
3163 unRemoveFromPath_dosLoop:
3165 StrCpy $5 $3 1 -1 # read last char
3166 StrCmp $5 $6 0 +2 # if DOS EOF
3167 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3168 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3169 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3170 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3171 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3173 Goto unRemoveFromPath_dosLoop
3174 unRemoveFromPath_dosLoopRemoveLine:
3176 Goto unRemoveFromPath_dosLoop
3178 unRemoveFromPath_dosLoopEnd:
3182 Delete "$1\autoexec.bat"
3183 CopyFiles /SILENT $4 "$1\autoexec.bat"
3185 Goto unRemoveFromPath_done
3187 unRemoveFromPath_NT:
3188 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3189 StrCpy $5 $1 1 -1 # copy last char
3190 StrCmp $5 ";" +2 # if last char != ;
3191 StrCpy $1 "$1;" # append ;
3194 Call un.StrStr ; Find `$0;` in $1
3195 Pop $2 ; pos of our dir
3196 StrCmp $2 "" unRemoveFromPath_done
3197 ; else, it is in path
3202 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3203 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3206 StrCpy $5 $3 1 -1 # copy last char
3207 StrCmp $5 ";" 0 +2 # if last char == ;
3208 StrCpy $3 $3 -1 # remove last char
3210 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3211 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3213 unRemoveFromPath_done:
3223 ;====================================================
3224 ; IsNT - Returns 1 if the current system is NT, 0
3226 ; Output: head of the stack
3227 ;====================================================
3231 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3232 StrCmp $0 "" 0 IsNT_yes
3244 !insertmacro IsNT ""
3245 !insertmacro IsNT "un."
3247 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3249 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3250 ;====================================================
3251 ; StrStr - Finds a given string in another given string.
3252 ; Returns -1 if not found and the pos if found.
3253 ; Input: head of the stack - string to find
3254 ; second in the stack - string to find in
3255 ; Output: head of the stack
3256 ;====================================================
3258 Function ${un}StrStr
3259 Exch $R1 ; st=haystack,old$R1, $R1=needle
3260 Exch ; st=old$R1,haystack
3261 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3273 StrCpy $R5 $R2 $R3 $R4
3279 StrCpy $R1 $R2 "" $R4
3287 !insertmacro StrStr ""
3288 !insertmacro StrStr "un."
3291 !ifdef ADDSHAREDDLLUSED
3294 ; Increments a shared DLLs reference count.
3295 ; Use by passing one item on the stack (the full path of the DLL).
3298 ; Push $SYSDIR\myDll.dll
3302 Function AddSharedDLL
3305 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3307 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3313 ; un.RemoveSharedDLL
3315 ; Decrements a shared DLLs reference count, and removes if necessary.
3316 ; Use by passing one item on the stack (the full path of the DLL).
3317 ; Note: for use in the main installer (not the uninstaller), rename the
3318 ; function to RemoveSharedDLL.
3321 ; Push $SYSDIR\myDll.dll
3322 ; Call un.RemoveSharedDLL
3325 Function un.RemoveSharedDLL
3328 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3329 StrCmp $R0 "" remove
3331 IntCmp $R0 0 rk rk uk
3333 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3336 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3339 Delete /REBOOTOK $R1
3347 ; Installs the loopback adpater and disables it on Windows 2000
3348 Function afs.InstallMSLoopback
3350 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3351 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3355 Function afs.isLoopbackInstalled
3357 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3358 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3359 Delete "$TEMP\afsloopback.dll"
3365 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3366 ; Updated by Joost Verburg
3368 ; Returns on top of stack
3370 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3372 ; '' (Unknown Windows Version)
3375 ; Call GetWindowsVersion
3377 ; ; at this point $R0 is "NT 4.0" or whatnot
3379 Function GetWindowsVersion
3386 ReadRegStr $R0 HKLM \
3387 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3389 IfErrors 0 lbl_winnt
3392 ReadRegStr $R0 HKLM \
3393 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3396 StrCmp $R1 '4' 0 lbl_error
3400 StrCmp $R1 '4.0' lbl_win32_95
3401 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3419 StrCmp $R1 '3' lbl_winnt_x
3420 StrCmp $R1 '4' lbl_winnt_x
3424 StrCmp $R1 '5.0' lbl_winnt_2000
3425 StrCmp $R1 '5.1' lbl_winnt_XP
3426 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3429 StrCpy $R0 "NT $R0" 6
3454 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3455 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3456 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3457 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3461 ; Pop $R0 ; at this point $R0 is "true" or "false"
3463 Function IsUserAdmin
3472 UserInfo::GetAccountType
3475 StrCmp $R2 "Admin" 0 Continue
3476 ; Observation: I get here when running Win98SE. (Lilla)
3477 ; The functions UserInfo.dll looks for are there on Win98 too,
3478 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3479 ; on Win98, returns admin anyway. (per kichik)
3480 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3485 ; You should still check for an empty string because the functions
3486 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3489 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3493 ; comment/message below is by UserInfo.nsi author:
3494 ; This one means you don't need to care about admin or
3495 ; not admin because Windows 9x doesn't either
3496 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3500 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3508 ; input, top of stack (e.g. C:\Program Files\Poop)
3509 ; output, top of stack (replaces, with e.g. C:\Program Files)
3510 ; modifies no other variables.
3513 ; Push "C:\Program Files\Directory\Whatever"
3516 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3530 IntCmp $R1 $R2 get 0 get
3531 StrCpy $R3 $R0 1 -$R1
3546 ;--------------------------------
3547 ;Handle what must and what must not be installed
3548 Function .onSelChange
3549 ; If they install the server, they MUST install the client
3550 SectionGetFlags ${secServer} $R0
3551 IntOp $R0 $R0 & ${SF_SELECTED}
3552 StrCmp $R0 "1" MakeClientSelected
3554 ; If they install the control center, we'll give them the client.
3555 ; It may not be required, but it's a bit more useful
3556 SectionGetFlags ${secControl} $R0
3557 IntOp $R0 $R0 & ${SF_SELECTED}
3558 StrCmp $R0 "1" MakeClientSelected
3562 SectionGetFlags ${secClient} $R0
3563 IntOp $R0 $R0 | ${SF_SELECTED}
3564 SectionSetFlags ${secClient} $R0
3569 Function RegWriteMultiStr
3570 !define HKEY_CLASSES_ROOT 0x80000000
3571 !define HKEY_CURRENT_USER 0x80000001
3572 !define HKEY_LOCAL_MACHINE 0x80000002
3573 !define HKEY_USERS 0x80000003
3574 !define HKEY_PERFORMANCE_DATA 0x80000004
3575 !define HKEY_PERFORMANCE_TEXT 0x80000050
3576 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3577 !define HKEY_CURRENT_CONFIG 0x80000005
3578 !define HKEY_DYN_DATA 0x80000006
3580 !define KEY_QUERY_VALUE 0x0001
3581 !define KEY_SET_VALUE 0x0002
3582 !define KEY_CREATE_SUB_KEY 0x0004
3583 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3584 !define KEY_NOTIFY 0x0010
3585 !define KEY_CREATE_LINK 0x0020
3589 !define REG_EXPAND_SZ 2
3590 !define REG_BINARY 3
3592 !define REG_DWORD_LITTLE_ENDIAN 4
3593 !define REG_DWORD_BIG_ENDIAN 5
3595 !define REG_MULTI_SZ 7
3597 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3598 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3599 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3606 SetPluginUnload alwaysoff