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"
1761 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1762 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1764 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1765 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1766 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1767 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1768 RMDIr /r "$INSTDIR\Documentation\html"
1770 RMDir "$INSTDIR\Documentation"
1771 ; Delete DOC short cut
1772 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1774 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1776 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1777 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1778 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1779 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1780 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1781 RMDir "$INSTDIR\Client\Program\Sample"
1782 RMDir "$INSTDIR\Client\Program\Include\afs"
1783 RMDir "$INSTDIR\Client\Program\Include\rx"
1784 RMDir "$INSTDIR\Client\Program\Include"
1785 RMDir "$INSTDIR\Client\Program"
1786 RMDir "$INSTDIR\Client"
1790 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1791 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1792 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1793 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1794 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1795 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1798 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1799 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1800 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1801 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1802 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1803 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1805 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1806 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1807 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1808 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1809 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1810 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1815 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1816 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1817 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1818 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1819 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1820 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1821 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1822 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1823 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1824 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1825 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1826 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1829 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1830 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1831 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1832 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1833 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1834 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1835 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1836 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1837 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1838 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1839 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1840 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1842 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1843 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1844 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1849 Delete /REBOOTOK "$INSTDIR\Common\*"
1850 RMDir "$INSTDIR\Common"
1854 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1855 RMDIR /r "$INSTDIR\kfw\bin"
1856 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1857 RMDIR /r "$INSTDIR\kfw\doc"
1858 RMDIR /r "$INSTDIR\kfw"
1861 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1863 ; Remove control center
1864 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1865 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1866 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1867 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1868 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1869 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1870 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1871 RMDir "$INSTDIR\Control Center"
1873 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1874 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1875 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1876 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1877 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1878 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1879 RMDir /r "$SMPROGRAMS\OpenAFS"
1880 Delete "$SMSTARTUP\AFS Credentials.lnk"
1882 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1884 Delete "$R0\AFSCache"
1885 Delete "C:\AFSCache"
1887 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1888 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1889 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1890 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1891 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1892 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1894 ; WinLogon Event Notification
1895 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1897 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1898 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1899 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1900 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1901 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1902 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1903 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1904 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1905 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1906 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1907 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1913 ;--------------------------------
1914 ;Uninstaller Functions
1918 ;Get language from registry
1919 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1923 Function un.onUninstSuccess
1926 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1931 ;------------------------------
1932 ; Get the CellServDB file from the Internet
1934 Function afs.GetCellServDB
1936 ;Check if we should download CellServDB
1937 ReadINIStr $R0 $0 "Field 4" "State"
1938 StrCmp $R0 "1" DoDownload
1940 ;Do nothing if we're keeping the existing file
1941 ReadINIStr $R0 $0 "Field 2" "State"
1944 ReadINIStr $R0 $0 "Field 6" "State"
1945 StrCmp $R0 "1" CheckOther
1947 ReadINIStr $R0 $0 "Field 3" "State"
1948 StrCmp $R0 "1" UsePackaged
1950 ; If none of these, grab file from other location
1954 ReadINIStr $R0 $0 "Field 5" "State"
1955 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
1956 Pop $R0 ;Get the return value
1957 StrCmp $R0 "success" +2
1958 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1962 SetOutPath "$INSTDIR\Client"
1967 ReadINIStr $R0 $0 "Field 7" "State"
1969 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
1975 Function AddProvider
1978 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1980 StrCpy $R0 "TransarcAFSDaemon"
1984 StrCmp $R0 "" +1 DoOther
1985 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1986 StrCpy $R0 "$R1,TransarcAFSDaemon"
1987 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1989 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1991 StrCpy $R0 "TransarcAFSDaemon"
1995 StrCmp $R0 "" +1 End
1996 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1997 StrCpy $R0 "$R1,TransarcAFSDaemon"
1998 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2004 Function un.RemoveProvider
2006 StrCpy $R0 "TransarcAFSDaemon"
2008 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2009 Call un.RemoveFromProvider
2010 StrCpy $R0 "TransarcAFSDaemon"
2012 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2013 Call un.RemoveFromProvider
2017 Function un.RemoveFromProvider
2026 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2027 StrCpy $5 $1 1 -1 # copy last char
2028 StrCmp $5 "," +2 # if last char != ,
2029 StrCpy $1 "$1," # append ,
2032 Call un.StrStr ; Find `$0,` in $1
2033 Pop $2 ; pos of our dir
2034 StrCmp $2 "" unRemoveFromPath_done
2035 ; else, it is in path
2040 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2041 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2044 StrCpy $5 $3 1 -1 # copy last char
2045 StrCmp $5 "," 0 +2 # if last char == ,
2046 StrCpy $3 $3 -1 # remove last char
2048 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2050 unRemoveFromPath_done:
2060 Function CheckPathForAFS
2065 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2074 IfFileExists "$3\afsd_service.exe" Error
2075 StrCpy $1 $0 32768 1
2077 IntCmp $2 0 Done Done loop
2080 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."
2081 Abort "Unable to install OpenAFS"
2089 Function AddToUniquePath
2093 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2097 StrCmp $R0 "" +1 Done
2103 ;-------------------------------
2104 ;Do the page to get the CellServDB
2106 Function AFSPageGetCellServDB
2107 ; Skip this page if we are not installing the client
2108 SectionGetFlags ${secClient} $R0
2109 IntOp $R0 $R0 & ${SF_SELECTED}
2112 ; Set the install options here
2115 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2116 WriteINIStr $0 "Field 3" "State" "1"
2117 WriteINISTR $0 "Field 4" "State" "0"
2118 WriteINIStr $0 "Field 6" "State" "0"
2120 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2121 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2122 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2123 Delete "$WINDIR\afsdcell.ini"
2124 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2125 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2126 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2127 WriteINIStr $0 "Field 2" "State" "1"
2128 WriteINIStr $0 "Field 3" "State" "0"
2132 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2133 InstallOptions::dialog $0
2135 StrCmp $R1 "cancel" exit
2136 StrCmp $R1 "back" done
2137 StrCmp $R1 "success" done
2141 ; Check that if a file is set, a valid filename is entered...
2142 ReadINIStr $R0 $0 "Field 6" "State"
2143 StrCmp $R0 "1" CheckFileName
2145 ;Check if a URL is specified, one *IS* specified
2146 ReadINIStr $R0 $0 "Field 4" "State"
2147 StrCmp $R0 "1" CheckURL Skip
2150 ReadINIStr $R0 $0 "Field 5" "State"
2151 StrCmp $R0 "" +1 Skip
2152 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2153 WriteINIStr $0 "Field 4" "State" "0"
2157 ReadINIStr $R0 $0 "Field 7" "State"
2158 IfFileExists $R0 Skip
2160 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2161 WriteINIStr $0 "Field 6" "State" "0"
2169 Function AFSPageGetCellName
2171 ; Skip this page if we are not installing the client
2172 SectionGetFlags ${secClient} $R0
2173 IntOp $R0 $R0 & ${SF_SELECTED}
2177 ; If this is a server install, we do NOT want to recommend the Freelance client
2178 ; And we do not need to ask for the cell name.
2179 SectionGetFlags ${secServer} $R1
2180 IntOp $R1 $R1 & ${SF_SELECTED}
2181 StrCmp $R1 "1" +1 NotServer
2182 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2183 WriteINIStr $1 "Field 5" "State" "0"
2184 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2185 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2188 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2189 WriteINIStr $1 "Field 5" "State" "1"
2190 WriteINIStr $1 "Field 1" "Flags" ""
2191 WriteINIStr $1 "Field 2" "Flags" ""
2193 ; Get the current cell name, if any
2194 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2196 WriteINIStr $1 "Field 2" "State" $R1
2197 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2198 InstallOptions::dialog $1
2200 StrCmp $R1 "cancel" exit
2201 StrCmp $R1 "back" done
2202 StrCmp $R1 "success" done
2205 ReadINIStr $R0 $1 "Field 2" "State"
2206 StrCmp $R0 "" +1 good
2208 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2214 ;---------------------------------------------------------
2215 ;Do the page to get the afscreds.exe startup configuration
2217 Function AFSPageConfigAFSCreds
2218 ; Skip this page if we are not installing the client
2219 SectionGetFlags ${secClient} $R0
2220 IntOp $R0 $R0 & ${SF_SELECTED}
2223 ; Set the install options here
2225 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2226 InstallOptions::dialog $2
2228 StrCmp $R1 "cancel" exit
2229 StrCmp $R1 "back" done
2230 StrCmp $R1 "success" done
2238 ; Common install routines for each module
2239 Function AFSCommon.Install
2241 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2242 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2244 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2246 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2248 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2253 ;-------------------
2254 ; Get the currently installed version and place it on the stack
2256 Function GetInstalledVersion
2261 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2262 StrCmp $R0 "" NotTransarc done
2266 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2275 ; Functions to get each component of the version number
2276 Function GetInstalledVersionMajor
2281 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2282 StrCmp $R0 "" NotTransarc done
2286 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2295 Function GetInstalledVersionMinor
2300 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2301 StrCmp $R0 "" NotTransarc done
2305 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2314 Function GetInstalledVersionPatch
2319 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2320 StrCmp $R0 "" NotTransarc done
2324 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2335 ;-------------------------------
2336 ; Check if the client should be checked for default install
2337 Function ShouldClientInstall
2339 StrCpy $R2 "AFS Client"
2340 Call GetInstalledVersion
2343 StrCmp $R0 "" NotInstalled
2344 ; Now we see if it's an older or newer version
2346 Call GetInstalledVersionMajor
2348 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2350 Call GetInstalledVersionMinor
2352 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2354 Call GetInstalledVersionPatch
2356 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2379 ;-------------------------------
2380 ; Check how the server options should be set
2381 Function ShouldServerInstall
2383 StrCpy $R2 "AFS Server"
2384 Call GetInstalledVersion
2387 StrCmp $R0 "" NotInstalled
2388 ; Now we see if it's an older or newer version
2390 Call GetInstalledVersionMajor
2392 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2394 Call GetInstalledVersionMinor
2396 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2398 Call GetInstalledVersionPatch
2400 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2425 ; See if AFS Server is installed
2426 ; Returns: "1" if it is, 0 if it is not (on the stack)
2427 Function IsServerInstalled
2429 StrCpy $R2 "AFS Server"
2430 Call GetInstalledVersion
2433 StrCmp $R0 "" NotInstalled
2446 ; See if AFS Client is installed
2447 ; Returns: "1" if it is, 0 if it is not (on the stack)
2448 Function IsClientInstalled
2450 StrCpy $R2 "AFS Client"
2451 Call GetInstalledVersion
2454 StrCmp $R0 "" NotInstalled
2468 ; See if AFS Documentation is installed
2469 ; Returns: "1" if it is, 0 if it is not (on the stack)
2470 Function IsDocumentationInstalled
2472 StrCpy $R2 "AFS Supplemental Documentation"
2473 Call GetInstalledVersion
2476 StrCmp $R0 "" NotInstalled
2489 ; See if Control Center is installed
2490 ; Returns: "1" if it is, 0 if it is not (on the stack)
2491 Function IsControlInstalled
2493 StrCpy $R2 "AFS Control Center"
2494 Call GetInstalledVersion
2497 StrCmp $R0 "" NotInstalled
2512 ; output, top of stack (replaces, with e.g. whatever)
2513 ; modifies no other variables.
2515 Function GetParameters
2519 StrCpy $R0 $CMDLINE 1
2523 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2525 StrCpy $R0 $CMDLINE 1 $R2
2526 StrCmp $R0 $R1 loop2
2532 StrCpy $R0 $CMDLINE 1 $R2
2533 StrCmp $R0 " " loop2
2534 StrCpy $R0 $CMDLINE "" $R2
2541 ;Check to see if any AFS component is installed
2542 ;Returns: Value on stack: "1" if it is, "0" if it is not
2543 Function IsAnyAFSInstalled
2548 Call IsClientInstalled
2550 Call IsServerInstalled
2552 Call IsControlInstalled
2554 Call IsDocumentationInstalled
2556 ; Now we must see if ANY of the $Rn values are 1
2557 StrCmp $R0 "1" SomethingInstalled
2558 StrCmp $R1 "1" SomethingInstalled
2559 StrCmp $R2 "1" SomethingInstalled
2560 StrCmp $R3 "1" SomethingInstalled
2574 ;Install English Language Files
2575 Function AFSLangFiles
2577 SetOutPath "$INSTDIR\Common"
2578 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2579 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2580 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2581 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2582 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2583 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2584 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2585 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2586 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2587 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2588 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2589 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2590 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2591 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2593 SetOutPath "$INSTDIR\Common"
2597 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2598 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2599 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2600 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2601 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2602 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2603 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2604 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2605 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2606 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2607 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2608 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2611 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2612 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2613 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2614 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2615 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2616 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2617 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2618 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2619 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2620 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2621 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2622 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2624 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2625 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2626 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2631 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2632 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2633 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2634 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2635 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2636 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2637 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2638 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2639 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2640 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2641 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2642 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2645 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2646 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2647 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2648 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2649 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2650 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2651 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2652 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2653 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2654 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2655 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2656 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2658 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2659 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2660 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2665 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2666 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2667 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2668 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2669 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2670 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2671 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2672 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2676 SetOutPath "$INSTDIR\Documentation"
2677 File "..\..\doc\install\Documentation\en_US\README.TXT"
2679 SetOutPath "$INSTDIR\Client\Program"
2680 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2681 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2683 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2684 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2687 SetOutPath "$INSTDIR\Common"
2688 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2689 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2690 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2691 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2692 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2693 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2694 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2695 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2696 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2697 File "..\..\doc\help\en_US\afs-cc.CNT"
2698 File "..\..\doc\help\en_US\afs-cc.hlp"
2699 File "..\..\doc\help\en_US\afs-light.CNT"
2700 File "..\..\doc\help\en_US\afs-light.hlp"
2701 File "..\..\doc\help\en_US\afs-nt.CNT"
2702 File "..\..\doc\help\en_US\afs-nt.HLP"
2703 File "..\..\doc\help\en_US\taafscfg.CNT"
2704 File "..\..\doc\help\en_US\taafscfg.hlp"
2705 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2706 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2707 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2708 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2711 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2712 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2713 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2714 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2715 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2716 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2717 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2718 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2724 SetOutPath "$INSTDIR\Documentation"
2725 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2727 SetOutPath "$INSTDIR\Client\Program"
2728 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2729 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2731 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2732 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2735 SetOutPath "$INSTDIR\Common"
2736 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2737 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2738 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2739 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2740 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2741 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2742 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2743 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2744 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2745 File "..\..\doc\help\de_DE\afs-cc.CNT"
2746 File "..\..\doc\help\de_DE\afs-cc.hlp"
2747 File "..\..\doc\help\de_DE\afs-light.CNT"
2748 File "..\..\doc\help\de_DE\afs-light.hlp"
2749 File "..\..\doc\help\de_DE\afs-nt.CNT"
2750 File "..\..\doc\help\de_DE\afs-nt.HLP"
2751 File "..\..\doc\help\de_DE\taafscfg.CNT"
2752 File "..\..\doc\help\de_DE\taafscfg.hlp"
2753 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2754 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2755 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2756 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2759 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2760 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2761 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2762 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2763 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2764 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2765 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2766 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2772 SetOutPath "$INSTDIR\Documentation"
2773 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2775 SetOutPath "$INSTDIR\Client\Program"
2776 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2777 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2779 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2780 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2783 SetOutPath "$INSTDIR\Common"
2784 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2785 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2786 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2787 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2788 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2789 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2790 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2791 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2792 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2793 File "..\..\doc\help\es_ES\afs-cc.CNT"
2794 File "..\..\doc\help\es_ES\afs-cc.hlp"
2795 File "..\..\doc\help\es_ES\afs-light.CNT"
2796 File "..\..\doc\help\es_ES\afs-light.hlp"
2797 File "..\..\doc\help\es_ES\afs-nt.CNT"
2798 File "..\..\doc\help\es_ES\afs-nt.HLP"
2799 File "..\..\doc\help\es_ES\taafscfg.CNT"
2800 File "..\..\doc\help\es_ES\taafscfg.hlp"
2801 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2802 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2803 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2804 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2807 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2808 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2809 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2810 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2811 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2812 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2813 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2814 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2820 SetOutPath "$INSTDIR\Documentation"
2821 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2823 SetOutPath "$INSTDIR\Client\Program"
2824 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2825 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2827 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2828 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2831 SetOutPath "$INSTDIR\Common"
2832 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2833 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2834 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2835 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2836 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2837 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2838 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2839 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2840 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2841 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2842 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2843 File "..\..\doc\help\ja_JP\afs-light.CNT"
2844 File "..\..\doc\help\ja_JP\afs-light.hlp"
2845 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2846 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2847 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2848 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2849 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2850 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2851 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2852 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2855 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2856 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2857 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2858 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2859 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2860 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2861 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2862 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2868 SetOutPath "$INSTDIR\Documentation"
2869 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2871 SetOutPath "$INSTDIR\Client\Program"
2872 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2873 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2875 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2876 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2879 SetOutPath "$INSTDIR\Common"
2880 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2881 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2882 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2883 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2884 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2885 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2886 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2887 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2888 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2889 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2890 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2891 File "..\..\doc\help\ko_KR\afs-light.CNT"
2892 File "..\..\doc\help\ko_KR\afs-light.hlp"
2893 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2894 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2895 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2896 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2897 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2898 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2899 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2900 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2903 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2904 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2905 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2906 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2907 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2908 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2909 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2910 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2917 SetOutPath "$INSTDIR\Documentation"
2918 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2920 SetOutPath "$INSTDIR\Client\Program"
2921 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2922 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2924 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2925 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2928 SetOutPath "$INSTDIR\Common"
2929 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
2930 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
2931 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
2932 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
2933 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
2934 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
2935 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
2936 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
2937 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
2938 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2939 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2940 File "..\..\doc\help\pt_BR\afs-light.CNT"
2941 File "..\..\doc\help\pt_BR\afs-light.hlp"
2942 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2943 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2944 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2945 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2946 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2947 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2948 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2949 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2952 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2953 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2954 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2955 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2956 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2957 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2958 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2959 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2965 SetOutPath "$INSTDIR\Documentation"
2966 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2968 SetOutPath "$INSTDIR\Client\Program"
2969 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
2970 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2972 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2973 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2976 SetOutPath "$INSTDIR\Common"
2977 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
2978 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
2979 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
2980 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
2981 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
2982 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
2983 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
2984 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
2985 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
2986 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2987 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2988 File "..\..\doc\help\zh_CN\afs-light.CNT"
2989 File "..\..\doc\help\zh_CN\afs-light.hlp"
2990 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2991 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2992 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2993 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2994 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2995 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2996 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2997 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3000 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3001 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3002 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3003 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3004 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3005 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3006 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3007 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3013 SetOutPath "$INSTDIR\Documentation"
3014 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3016 SetOutPath "$INSTDIR\Client\Program"
3017 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3018 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3020 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3021 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3024 SetOutPath "$INSTDIR\Common"
3025 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3026 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3027 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3028 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3029 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3030 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3031 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3032 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3033 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3034 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3035 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3036 File "..\..\doc\help\zh_TW\afs-light.CNT"
3037 File "..\..\doc\help\zh_TW\afs-light.hlp"
3038 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3039 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3040 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3041 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3042 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3043 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3044 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3045 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3048 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3049 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3050 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3051 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3052 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3053 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3054 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3055 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3064 ;====================================================
3065 ; AddToPath - Adds the given dir to the search path.
3066 ; Input - head of the stack
3067 ; Note - Win9x systems requires reboot
3068 ;====================================================
3075 # don't add if the path doesn't exist
3076 IfFileExists $0 "" AddToPath_done
3083 StrCmp $2 "" "" AddToPath_done
3088 StrCmp $2 "" "" AddToPath_done
3089 GetFullPathName /SHORT $3 $0
3094 StrCmp $2 "" "" AddToPath_done
3099 StrCmp $2 "" "" AddToPath_done
3103 StrCmp $1 1 AddToPath_NT
3106 FileOpen $1 "$1\autoexec.bat" a
3109 IntCmp $2 26 0 +2 +2 # DOS EOF
3110 FileSeek $1 -1 END # write over EOF
3111 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3117 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3118 StrCpy $2 $1 1 -1 # copy last char
3119 StrCmp $2 ";" 0 +2 # if last char == ;
3120 StrCpy $1 $1 -1 # remove last char
3121 StrCmp $1 "" AddToPath_NTdoIt
3124 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3125 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3134 ;====================================================
3135 ; RemoveFromPath - Remove a given dir from the path
3136 ; Input: head of the stack
3137 ;====================================================
3138 Function un.RemoveFromPath
3147 IntFmt $6 "%c" 26 # DOS EOF
3151 StrCmp $1 1 unRemoveFromPath_NT
3154 FileOpen $1 "$1\autoexec.bat" r
3157 GetFullPathName /SHORT $0 $0
3158 StrCpy $0 "SET PATH=%PATH%;$0"
3159 Goto unRemoveFromPath_dosLoop
3161 unRemoveFromPath_dosLoop:
3163 StrCpy $5 $3 1 -1 # read last char
3164 StrCmp $5 $6 0 +2 # if DOS EOF
3165 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3166 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3167 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3168 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3169 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3171 Goto unRemoveFromPath_dosLoop
3172 unRemoveFromPath_dosLoopRemoveLine:
3174 Goto unRemoveFromPath_dosLoop
3176 unRemoveFromPath_dosLoopEnd:
3180 Delete "$1\autoexec.bat"
3181 CopyFiles /SILENT $4 "$1\autoexec.bat"
3183 Goto unRemoveFromPath_done
3185 unRemoveFromPath_NT:
3186 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3187 StrCpy $5 $1 1 -1 # copy last char
3188 StrCmp $5 ";" +2 # if last char != ;
3189 StrCpy $1 "$1;" # append ;
3192 Call un.StrStr ; Find `$0;` in $1
3193 Pop $2 ; pos of our dir
3194 StrCmp $2 "" unRemoveFromPath_done
3195 ; else, it is in path
3200 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3201 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3204 StrCpy $5 $3 1 -1 # copy last char
3205 StrCmp $5 ";" 0 +2 # if last char == ;
3206 StrCpy $3 $3 -1 # remove last char
3208 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3209 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3211 unRemoveFromPath_done:
3221 ;====================================================
3222 ; IsNT - Returns 1 if the current system is NT, 0
3224 ; Output: head of the stack
3225 ;====================================================
3229 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3230 StrCmp $0 "" 0 IsNT_yes
3242 !insertmacro IsNT ""
3243 !insertmacro IsNT "un."
3245 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3247 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3248 ;====================================================
3249 ; StrStr - Finds a given string in another given string.
3250 ; Returns -1 if not found and the pos if found.
3251 ; Input: head of the stack - string to find
3252 ; second in the stack - string to find in
3253 ; Output: head of the stack
3254 ;====================================================
3256 Function ${un}StrStr
3257 Exch $R1 ; st=haystack,old$R1, $R1=needle
3258 Exch ; st=old$R1,haystack
3259 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3271 StrCpy $R5 $R2 $R3 $R4
3277 StrCpy $R1 $R2 "" $R4
3285 !insertmacro StrStr ""
3286 !insertmacro StrStr "un."
3289 !ifdef ADDSHAREDDLLUSED
3292 ; Increments a shared DLLs reference count.
3293 ; Use by passing one item on the stack (the full path of the DLL).
3296 ; Push $SYSDIR\myDll.dll
3300 Function AddSharedDLL
3303 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3305 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3311 ; un.RemoveSharedDLL
3313 ; Decrements a shared DLLs reference count, and removes if necessary.
3314 ; Use by passing one item on the stack (the full path of the DLL).
3315 ; Note: for use in the main installer (not the uninstaller), rename the
3316 ; function to RemoveSharedDLL.
3319 ; Push $SYSDIR\myDll.dll
3320 ; Call un.RemoveSharedDLL
3323 Function un.RemoveSharedDLL
3326 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3327 StrCmp $R0 "" remove
3329 IntCmp $R0 0 rk rk uk
3331 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3334 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3337 Delete /REBOOTOK $R1
3345 ; Installs the loopback adpater and disables it on Windows 2000
3346 Function afs.InstallMSLoopback
3348 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3349 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3353 Function afs.isLoopbackInstalled
3355 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3356 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3357 Delete "$TEMP\afsloopback.dll"
3363 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3364 ; Updated by Joost Verburg
3366 ; Returns on top of stack
3368 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3370 ; '' (Unknown Windows Version)
3373 ; Call GetWindowsVersion
3375 ; ; at this point $R0 is "NT 4.0" or whatnot
3377 Function GetWindowsVersion
3384 ReadRegStr $R0 HKLM \
3385 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3387 IfErrors 0 lbl_winnt
3390 ReadRegStr $R0 HKLM \
3391 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3394 StrCmp $R1 '4' 0 lbl_error
3398 StrCmp $R1 '4.0' lbl_win32_95
3399 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3417 StrCmp $R1 '3' lbl_winnt_x
3418 StrCmp $R1 '4' lbl_winnt_x
3422 StrCmp $R1 '5.0' lbl_winnt_2000
3423 StrCmp $R1 '5.1' lbl_winnt_XP
3424 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3427 StrCpy $R0 "NT $R0" 6
3452 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3453 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3454 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3455 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3459 ; Pop $R0 ; at this point $R0 is "true" or "false"
3461 Function IsUserAdmin
3470 UserInfo::GetAccountType
3473 StrCmp $R2 "Admin" 0 Continue
3474 ; Observation: I get here when running Win98SE. (Lilla)
3475 ; The functions UserInfo.dll looks for are there on Win98 too,
3476 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3477 ; on Win98, returns admin anyway. (per kichik)
3478 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3483 ; You should still check for an empty string because the functions
3484 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3487 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3491 ; comment/message below is by UserInfo.nsi author:
3492 ; This one means you don't need to care about admin or
3493 ; not admin because Windows 9x doesn't either
3494 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3498 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3506 ; input, top of stack (e.g. C:\Program Files\Poop)
3507 ; output, top of stack (replaces, with e.g. C:\Program Files)
3508 ; modifies no other variables.
3511 ; Push "C:\Program Files\Directory\Whatever"
3514 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3528 IntCmp $R1 $R2 get 0 get
3529 StrCpy $R3 $R0 1 -$R1
3544 ;--------------------------------
3545 ;Handle what must and what must not be installed
3546 Function .onSelChange
3547 ; If they install the server, they MUST install the client
3548 SectionGetFlags ${secServer} $R0
3549 IntOp $R0 $R0 & ${SF_SELECTED}
3550 StrCmp $R0 "1" MakeClientSelected
3552 ; If they install the control center, we'll give them the client.
3553 ; It may not be required, but it's a bit more useful
3554 SectionGetFlags ${secControl} $R0
3555 IntOp $R0 $R0 & ${SF_SELECTED}
3556 StrCmp $R0 "1" MakeClientSelected
3560 SectionGetFlags ${secClient} $R0
3561 IntOp $R0 $R0 | ${SF_SELECTED}
3562 SectionSetFlags ${secClient} $R0
3567 Function RegWriteMultiStr
3568 !define HKEY_CLASSES_ROOT 0x80000000
3569 !define HKEY_CURRENT_USER 0x80000001
3570 !define HKEY_LOCAL_MACHINE 0x80000002
3571 !define HKEY_USERS 0x80000003
3572 !define HKEY_PERFORMANCE_DATA 0x80000004
3573 !define HKEY_PERFORMANCE_TEXT 0x80000050
3574 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3575 !define HKEY_CURRENT_CONFIG 0x80000005
3576 !define HKEY_DYN_DATA 0x80000006
3578 !define KEY_QUERY_VALUE 0x0001
3579 !define KEY_SET_VALUE 0x0002
3580 !define KEY_CREATE_SUB_KEY 0x0004
3581 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3582 !define KEY_NOTIFY 0x0010
3583 !define KEY_CREATE_LINK 0x0020
3587 !define REG_EXPAND_SZ 2
3588 !define REG_BINARY 3
3590 !define REG_DWORD_LITTLE_ENDIAN 4
3591 !define REG_DWORD_BIG_ENDIAN 5
3593 !define REG_MULTI_SZ 7
3595 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3596 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3597 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3604 SetPluginUnload alwaysoff
3605 ; Create a buffer for the multi_sz value
3606 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3607 ; Open/create the registry key
3608 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3611 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3615 ; Fill in the buffer with our strings
3616 StrCpy $2 $1 ; Initial position
3618 StrLen $9 '$REG_DATA_1' ; Length of first string
3619 IntOp $9 $9 + 1 ; Plus null
3620 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3621 IntOp $2 $2 + $9 ; Advance to the next position
3623 StrCmp '$REG_DATA_2' "" terminate
3624 StrLen $9 '$REG_DATA_2' ; Length of second string
3625 IntOp $9 $9 + 1 ; Plus null
3626 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3627 IntOp $2 $2 + $9 ; Advance to the next position
3629 StrCmp '$REG_DATA_3' "" terminate
3630 StrLen $9 '$REG_DATA_3' ; Length of third string
3631 IntOp $9 $9 + 1 ; Plus null
3632 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3633 IntOp $2 $2 + $9 ; Advance to the next position
3636 System::Call "*$2(&t1 '')" ; Place the terminating null
3637 IntOp $2 $2 + 1 ; Advance to the next position
3639 ; Create/write the value
3640 IntOp $2 $2 - $1 ; Total length
3641 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3644 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3648 ; Close the registry key
3649 System::Call "${RegCloseKey}(r0)"
3653 SetPluginUnload manual