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
711 ; WinLogon Event Notification
712 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
713 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
714 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
715 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
716 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
720 WriteUninstaller "$INSTDIR\Uninstall.exe"
726 ; MS Loopback adapter
727 Section "MS Loopback Adapter" secLoopback
729 Call afs.InstallMSLoopback
734 ;------------------------
736 Section "AFS Server" secServer
738 SetShellVarContext all
740 ; Check for bad previous installation (if we are doing a new install)
741 Call IsAnyAFSInstalled
743 StrCmp $R0 "0" +1 skipCheck
747 ; Stop any running services or we can't replace the files
748 ; Stop the running processes
750 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
751 nsExec::Exec '$R0 afscreds.exe'
752 Exec "afscreds.exe -z"
753 ; in case we are upgrading an old version that does not support -z
755 nsExec::Exec '$R0 afscreds.exe'
757 ;nsExec::Exec '$R0 krbcc32s.exe'
762 nsExec::Exec "net stop TransarcAFSDaemon"
763 nsExec::Exec "net stop TransarcAFSServer"
765 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
766 CreateDirectory "$INSTDIR\Server\usr\afs\local"
767 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
769 SetOutPath "$INSTDIR\Server\usr\afs\bin"
770 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
771 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
772 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
773 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
774 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
775 File "${AFS_ETC_BUILDDIR}\butc.exe"
776 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
777 File "${AFS_ETC_BUILDDIR}\fms.exe"
778 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
779 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
780 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
781 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
782 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
783 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
784 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
785 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
787 ;AFS Server common files
788 SetOutPath "$INSTDIR\Common"
789 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
790 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
791 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
792 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
793 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
795 SetOutPath "$INSTDIR\Common"
799 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
801 ;Store install folder
802 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
804 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
805 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
806 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
807 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
808 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
809 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
810 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
811 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
812 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
813 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
814 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
815 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
816 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
817 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
818 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
819 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
820 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
822 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
823 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
825 ; Delete the DEBUG string
826 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
827 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
829 ; Install the service
830 SetOutPath "$INSTDIR\Common"
831 File "${AFS_WININSTALL_DIR}\Service.exe"
833 File "${AFS_WININSTALL_DIR}\Service.pdb"
836 ; Check if the service exists--if it does, this is an upgrade/re-install
837 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
838 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
840 ; If an uninstall was done, but we kept the config files, also skip
841 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
843 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
844 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
848 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
849 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
850 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
851 Delete "$INSTDIR\Common\service.exe"
853 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
854 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
857 WriteUninstaller "$INSTDIR\Uninstall.exe"
862 ;----------------------------
863 ; OpenAFS Control Center
864 Section "AFS Control Center" secControl
866 SetShellVarContext all
868 SetOutPath "$INSTDIR\Control Center"
869 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
870 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
871 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
874 ;AFS Server common files
875 Call AFSCommon.Install
877 SetOutPath "$INSTDIR\Common"
879 ;Store install folder
880 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
881 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
882 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
883 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
884 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
885 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
886 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
887 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
888 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
890 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
891 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
893 ; Delete the DEBUG string
894 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
895 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
898 ;Write start menu entries
899 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
900 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
901 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
903 WriteUninstaller "$INSTDIR\Uninstall.exe"
908 ;----------------------------
909 ; OpenAFS Supplemental Documentation
910 Section "Supplemental Documentation" secDocs
911 SetShellVarContext all
913 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
914 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
915 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
916 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
917 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
918 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
919 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
920 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
924 SetOutPath "$INSTDIR\Documentation\html"
925 File "..\..\doc\install\Documentation\en_US\html\*"
926 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
927 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
928 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
929 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
930 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
931 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
932 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
933 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
937 SetOutPath "$INSTDIR\Documentation"
938 File "..\..\doc\install\Documentation\de_DE\README.TXT"
939 SetOutPath "$INSTDIR\Documentation\html"
940 File "..\..\doc\install\Documentation\de_DE\html\*"
941 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
942 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
943 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
944 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
945 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
946 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
947 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
948 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
952 SetOutPath "$INSTDIR\Documentation"
953 File "..\..\doc\install\Documentation\es_ES\README.TXT"
954 SetOutPath "$INSTDIR\Documentation\html"
955 File "..\..\doc\install\Documentation\es_ES\html\*"
956 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
957 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
958 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
959 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
960 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
961 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
962 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
963 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
967 SetOutPath "$INSTDIR\Documentation"
968 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
969 SetOutPath "$INSTDIR\Documentation\html"
970 File "..\..\doc\install\Documentation\ja_JP\html\*"
971 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
972 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
973 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
974 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
975 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
976 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
977 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
978 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
982 SetOutPath "$INSTDIR\Documentation"
983 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
984 SetOutPath "$INSTDIR\Documentation\html"
985 File "..\..\doc\install\Documentation\ko_KR\html\*"
986 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
987 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
988 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
989 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
990 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
991 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
992 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
993 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
997 SetOutPath "$INSTDIR\Documentation"
998 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
999 SetOutPath "$INSTDIR\Documentation\html"
1000 File "..\..\doc\install\Documentation\pt_BR\html\*"
1001 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1002 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1003 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1004 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1005 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1006 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1007 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1008 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1012 SetOutPath "$INSTDIR\Documentation"
1013 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1014 SetOutPath "$INSTDIR\Documentation\html"
1015 File "..\..\doc\install\Documentation\zh_CN\html\*"
1016 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1017 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1018 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1019 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1020 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1021 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1022 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1023 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1027 SetOutPath "$INSTDIR\Documentation"
1028 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1029 SetOutPath "$INSTDIR\Documentation\html"
1030 File "..\..\doc\install\Documentation\zh_TW\html\*"
1031 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1032 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1033 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1034 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1035 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1036 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1037 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1038 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1043 ;Store install folder
1044 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1045 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1046 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1047 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1048 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1049 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1050 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1051 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1052 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1054 ; Write start menu shortcut
1055 SetOutPath "$SMPROGRAMS\OpenAFS"
1056 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1059 WriteUninstaller "$INSTDIR\Uninstall.exe"
1060 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1061 Call AFSCommon.Install
1065 Section "Software Development Kit (SDK)" secSDK
1067 SetOutPath "$INSTDIR\Client\Program\lib"
1068 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1070 SetOutPath "$INSTDIR\Client\Program\Include"
1071 File /r "${AFS_BUILD_INCDIR}\*.*"
1074 SetOutPath "$INSTDIR\Client\Program\Sample"
1075 File "..\..\afsd\sample\token.c"
1077 ;Store install folder
1078 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1079 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1080 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1081 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1082 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1083 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1084 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1085 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1086 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1088 WriteUninstaller "$INSTDIR\Uninstall.exe"
1089 SetOutPath "$SMPROGRAMS\OpenAFS"
1090 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1092 Call AFSCommon.Install
1096 Section "Debug symbols" secDebug
1097 SectionGetFlags ${secClient} $R0
1098 IntOp $R0 $R0 & ${SF_SELECTED}
1099 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1101 ; Do client components
1102 SetOutPath "$INSTDIR\Client\Program"
1103 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1104 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1105 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1106 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1107 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1108 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1109 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1110 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1111 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1112 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1113 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1114 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1115 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1116 File "${AFS_DESTDIR}\bin\pts.pdb"
1117 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1118 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1119 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1120 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1121 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1122 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1123 File "${AFS_DESTDIR}\etc\backup.pdb"
1124 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1126 SetOutPath "$SYSDIR"
1127 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1130 SectionGetFlags ${secServer} $R0
1131 IntOp $R0 $R0 & ${SF_SELECTED}
1132 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1134 ; Do server components
1135 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1136 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1137 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1138 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1139 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1140 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1141 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1142 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1143 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1144 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1145 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1146 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1147 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1148 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1149 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1150 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1151 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1153 ; Do server common components
1154 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1155 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1156 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1157 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1158 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1160 SetOutPath "$SYSDIR"
1161 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1163 ; Do control center components
1165 SectionGetFlags ${secControl} $R0
1166 IntOp $R0 $R0 & ${SF_SELECTED}
1167 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1169 SetOutPath "$INSTDIR\Control Center"
1170 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1171 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1172 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1175 SetOutPath "$INSTDIR\Common"
1177 File "${SYSTEMDIR}\msvcr71d.pdb"
1178 File "${SYSTEMDIR}\msvcp71d.pdb"
1179 File "${SYSTEMDIR}\mfc71d.pdb"
1182 File "${SYSTEMDIR}\msvcr70d.pdb"
1183 File "${SYSTEMDIR}\msvcp70d.pdb"
1184 File "${SYSTEMDIR}\mfc70d.pdb"
1186 File "${SYSTEMDIR}\mfc42d.pdb"
1187 File "${SYSTEMDIR}\msvcp60d.pdb"
1188 File "${SYSTEMDIR}\msvcrtd.pdb"
1193 SetOutPath "$INSTDIR\Common"
1194 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1195 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1196 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1197 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1198 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1199 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1200 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1201 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1202 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1203 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1204 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1205 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1206 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1207 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1212 ;Display the Finish header
1213 ;Insert this macro after the sections if you are not using a finish page
1214 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1216 ;--------------------------------
1217 ;Installer Functions
1221 !insertmacro MUI_LANGDLL_DISPLAY
1223 ; Set the default install options
1228 StrCmp $R0 "true" contInstall
1230 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1235 ; Check that RPC functions are installed (I believe any one of these can be present for
1237 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1238 StrCmp $R0 "rpcrt4.dll" contInstall2
1239 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1240 StrCmp $R0 "rpcrt4.dll" contInstall2
1241 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1242 StrCmp $R0 "rpcrt4.dll" contInstall2
1244 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."
1250 ; If the Loopback is already installed, we mark the option OFF and Read Only
1251 ; so the user can not select it.
1252 Call afs.isLoopbackInstalled
1253 IntCmp $R1 0 SkipLoop
1254 SectionGetFlags ${secLoopback} $0
1255 IntOp $0 $0 & ${SECTION_OFF}
1256 IntOp $0 $0 | ${SF_RO}
1257 SectionSetFlags ${secLoopback} $0
1260 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1262 SectionGetFlags ${secDebug} $0
1263 IntOp $0 $0 & ${SECTION_OFF}
1264 SectionSetFlags ${secDebug} $0
1266 SectionGetFlags ${secDebug} $0
1267 IntOp $0 $0 | ${SF_SELECTED}
1268 SectionSetFlags ${secDebug} $0
1270 ; Our logic should be like this.
1271 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1272 ; 2) If existing modules are installed, we keep them selected
1273 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1275 Call IsAnyAFSInstalled
1277 StrCmp $R0 "0" DefaultOptions
1279 Call ShouldClientInstall
1282 ; Check if it was an IBM/Transarc version
1283 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1284 StrCmp $R0 "IBM AFS Client" DoIBM
1285 StrCmp $R0 "Transarc AFS Client" DoIBM
1288 StrCmp $R2 "0" NoClient
1289 StrCmp $R2 "1" ReinstallClient
1290 StrCmp $R2 "2" UpgradeClient
1291 StrCmp $R2 "3" DowngradeClient
1294 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1295 StrCmp $R0 "3" +1 NotIBM
1300 SectionGetFlags ${secClient} $0
1301 IntOp $0 $0 | ${SF_SELECTED}
1302 SectionSetFlags ${secClient} $0
1303 ;# !insertmacro SelectSection ${secClient}
1306 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1307 SectionGetFlags ${secClient} $0
1308 IntOp $0 $0 & ${SECTION_OFF}
1309 SectionSetFlags ${secClient} $0
1312 SectionGetFlags ${secClient} $0
1313 IntOp $0 $0 | ${SF_SELECTED}
1314 SectionSetFlags ${secClient} $0
1315 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1318 SectionGetFlags ${secClient} $0
1319 IntOp $0 $0 | ${SF_SELECTED}
1320 SectionSetFlags ${secClient} $0
1321 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1324 SectionGetFlags ${secClient} $0
1325 IntOp $0 $0 | ${SF_SELECTED}
1326 SectionSetFlags ${secClient} $0
1327 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1333 Call ShouldServerInstall
1335 StrCmp $R2 "0" NoServer
1336 StrCmp $R2 "1" ReinstallServer
1337 StrCmp $R2 "2" UpgradeServer
1338 StrCmp $R2 "3" DowngradeServer
1340 SectionGetFlags ${secServer} $0
1341 IntOp $0 $0 | ${SF_SELECTED}
1342 SectionSetFlags ${secServer} $0
1343 ;# !insertmacro UnselectSection ${secServer}
1347 SectionGetFlags ${secServer} $0
1348 IntOp $0 $0 | ${SF_SELECTED}
1349 SectionSetFlags ${secServer} $0
1350 SectionSetText ${secServer} $(UPGRADE_SERVER)
1354 SectionGetFlags ${secServer} $0
1355 IntOp $0 $0 | ${SF_SELECTED}
1356 SectionSetFlags ${secServer} $0
1357 SectionSetText ${secServer} $(REINSTALL_SERVER)
1361 SectionGetFlags ${secServer} $0
1362 IntOp $0 $0 | ${SF_SELECTED}
1363 SectionSetFlags ${secServer} $0
1364 SectionSetText ${secServer} $(REINSTALL_SERVER)
1368 SectionGetFlags ${secServer} $0
1369 IntOp $0 $0 & ${SECTION_OFF}
1370 SectionSetFlags ${secServer} $0
1371 ;# !insertmacro UnselectSection ${secServer}
1375 ; Check control center
1376 Call IsControlInstalled
1378 StrCmp $R2 "0" NoControl
1380 SectionGetFlags ${secControl} $0
1381 IntOp $0 $0 | ${SF_SELECTED}
1382 SectionSetFlags ${secControl} $0
1386 SectionGetFlags ${secControl} $0
1387 IntOp $0 $0 & ${SECTION_OFF}
1388 SectionSetFlags ${secControl} $0
1389 ;# !insertmacro UnselectSection ${secControl}
1392 ; Check Documentation
1393 Call IsDocumentationInstalled
1395 StrCmp $R2 "0" NoDocs
1396 SectionGetFlags ${secDocs} $0
1397 IntOp $0 $0 | ${SF_SELECTED}
1398 SectionSetFlags ${secDocs} $0
1402 SectionGetFlags ${secDocs} $0
1403 IntOp $0 $0 & ${SECTION_OFF}
1404 SectionSetFlags ${secDocs} $0
1407 ; To check the SDK, we simply look to see if the files exist. If they do,
1408 ; the SDK is installed. If not, we don't need to push it on the user.
1409 ; If they are there, we want to make sure they match the installed version.
1411 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1412 SectionGetFlags ${secSDK} $0
1413 IntOp $0 $0 | ${SF_SELECTED}
1414 SectionSetFlags ${secSDK} $0
1418 SectionGetFlags ${secSDK} $0
1419 IntOp $0 $0 & ${SECTION_OFF}
1420 SectionSetFlags ${secSDK} $0
1425 SectionGetFlags ${secClient} $0
1426 IntOp $0 $0 | ${SF_SELECTED}
1427 SectionSetFlags ${secClient} $0
1429 ; Server NOT selected
1430 SectionGetFlags ${secServer} $0
1431 IntOp $0 $0 & ${SECTION_OFF}
1432 SectionSetFlags ${secServer} $0
1434 ; Control Center NOT selected
1435 SectionGetFlags ${secControl} $0
1436 IntOp $0 $0 & ${SECTION_OFF}
1437 SectionSetFlags ${secControl} $0
1438 ;# !insertmacro UnselectSection ${secControl}
1440 ; Documentation selected
1441 SectionGetFlags ${secDocs} $0
1442 IntOp $0 $0 | ${SF_SELECTED}
1443 SectionSetFlags ${secDocs} $0
1444 ;# !insertmacro UnselectSection ${secDocs}
1447 SectionGetFlags ${secSDK} $0
1448 IntOp $0 $0 & ${SECTION_OFF}
1449 SectionSetFlags ${secSDK} $0
1450 ;# !insertmacro UnselectSection ${secSDK}
1459 ; See if we can set a default installation path...
1460 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1461 StrCmp $R0 "" TryServer
1465 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1466 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1467 StrCmp $R0 "1" +1 SkipParent
1468 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1469 StrCmp $R0 "3" +1 SkipParent
1470 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1471 StrCmp $R0 "5000" UpParent
1472 StrCmp $R0 "5100" UpParent
1473 StrCmp $R0 "5200" UpParent
1474 StrCmp $R0 "5201" UpParent
1475 StrCmp $R0 "5299" UpParent
1487 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1488 StrCmp $R0 "" TryControl
1496 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1504 File /oname=$0 CellServPage.ini
1506 File /oname=$1 AFSCell.ini
1508 File /oname=$2 AFSCreds.ini
1509 ;File /oname=$1 ConfigURL.ini
1517 ;--------------------------------
1518 ; These are our cleanup functions
1519 Function .onInstFailed
1524 Function .onInstSuccess
1530 ;--------------------------------
1533 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1534 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1535 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1536 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1537 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1538 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1539 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1540 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1541 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1543 ;--------------------------------
1544 ;Uninstaller Section
1547 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1548 IfSilent StartRemove ; New in v2.0b4
1549 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1554 SetShellVarContext all
1555 ; Stop the running processes
1557 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1558 nsExec::Exec '$R0 afscreds.exe'
1559 Exec "afscreds.exe -z"
1560 ; in case we are upgrading an old version that does not support -z
1562 nsExec::Exec '$R0 afscreds.exe'
1564 nsExec::Exec '$R0 krbcc32s.exe'
1567 ; Delete the AFS service
1569 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1570 nsExec::Exec "net stop TransarcAFSDaemon"
1571 nsExec::Exec "net stop TransarcAFSServer"
1572 nsExec::Exec '$R0 u TransarcAFSDaemon'
1573 ; After we stop the service, but before we delete it, we have to remove the volume data
1574 ; This is because the storage locations are in the registry under the service key.
1575 ; Call un.RemoveAFSVolumes
1576 nsExec::Exec '$R0 u TransarcAFSServer'
1579 Call un.RemoveProvider
1581 Push "$INSTDIR\Client\Program"
1582 Call un.RemoveFromPath
1583 Push "$INSTDIR\Common"
1584 Call un.RemoveFromPath
1586 Push "$INSTDIR\kfw\bin"
1587 Call un.RemoveFromPath
1590 ; Delete documentation
1591 Delete "$INSTDIR\Documentation\README.TXT"
1592 Delete "$INSTDIR\Documentation\html\*"
1593 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1594 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1595 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1596 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1598 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1599 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1600 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1601 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1602 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1603 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1604 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1605 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1606 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1607 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1608 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1609 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1610 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1611 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1612 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1614 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1615 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1616 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1617 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1618 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1619 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1620 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1621 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1622 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1623 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1624 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1625 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1626 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1627 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1628 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1631 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1632 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1633 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1634 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1635 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1636 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1639 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1640 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1641 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1642 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1643 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1644 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1646 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1647 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1648 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1649 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1650 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1651 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1656 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1657 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1658 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1659 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1660 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1661 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1662 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1663 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1664 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1665 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1666 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1667 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1670 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1671 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1672 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1673 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1674 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1675 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1676 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1677 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1678 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1679 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1680 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1681 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1683 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1684 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1685 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1691 ; IfFileExists "$INSTDIR\Client\CellServDB" CellExists SkipDelAsk
1693 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1694 Delete "$INSTDIR\Client\CellServDB"
1696 ; Only remove krb5.ini if KfW was installed
1698 Delete "$WINDIR\krb5.ini"
1700 Delete "$INSTDIR\Client\afsdns.ini"
1703 Delete "$WINDIR\afsd_init.log"
1704 Delete "$INSTDIR\Uninstall.exe"
1707 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1708 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1709 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1710 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1711 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1712 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1713 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1714 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1715 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1716 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1717 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1718 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1719 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1720 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1721 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1722 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1723 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1725 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1726 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1727 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1728 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1729 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1730 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1731 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1732 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1733 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1734 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1735 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1736 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1737 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1738 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1739 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1740 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1741 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1743 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1744 ; do not delete the server configuration files
1745 ; or we will lose the volumes and authentication
1747 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1748 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1749 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1750 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1752 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1753 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1755 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1756 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1758 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1759 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1760 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1761 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1762 RMDIr /r "$INSTDIR\Documentation\html"
1764 RMDir "$INSTDIR\Documentation"
1765 ; Delete DOC short cut
1766 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1768 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1770 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1771 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1772 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1773 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1774 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1775 RMDir "$INSTDIR\Client\Program\Sample"
1776 RMDir "$INSTDIR\Client\Program\Include\afs"
1777 RMDir "$INSTDIR\Client\Program\Include\rx"
1778 RMDir "$INSTDIR\Client\Program\Include"
1779 RMDir "$INSTDIR\Client\Program"
1780 RMDir "$INSTDIR\Client"
1784 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1785 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1786 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1787 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1788 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1789 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1792 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1793 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1794 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1795 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1796 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1797 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1799 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1800 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1801 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1802 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1803 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1804 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1809 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1810 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1811 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1812 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1813 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1814 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1815 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1816 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1817 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1818 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1819 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1820 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1823 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1824 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1825 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1826 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1827 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1828 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1829 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1830 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1831 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1832 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1833 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1834 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1836 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1837 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1838 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1843 Delete /REBOOTOK "$INSTDIR\Common\*"
1844 RMDir "$INSTDIR\Common"
1848 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1849 RMDIR /r "$INSTDIR\kfw\bin"
1850 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1851 RMDIR /r "$INSTDIR\kfw\doc"
1852 RMDIR /r "$INSTDIR\kfw"
1855 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1857 ; Remove control center
1858 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1859 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1860 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1861 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1862 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1863 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1864 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1865 RMDir "$INSTDIR\Control Center"
1867 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1868 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1869 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1870 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1871 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1872 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1873 RMDir /r "$SMPROGRAMS\OpenAFS"
1874 Delete "$SMSTARTUP\AFS Credentials.lnk"
1876 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1878 Delete "$R0\AFSCache"
1879 Delete "C:\AFSCache"
1881 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1882 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1883 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1884 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1885 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1886 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1888 ; WinLogon Event Notification
1889 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1891 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1892 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1893 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1894 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1895 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1896 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1897 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1898 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1899 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1900 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1901 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1907 ;--------------------------------
1908 ;Uninstaller Functions
1912 ;Get language from registry
1913 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1917 Function un.onUninstSuccess
1920 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1925 ;------------------------------
1926 ; Get the CellServDB file from the Internet
1928 Function afs.GetCellServDB
1930 ;Check if we should download CellServDB
1931 ReadINIStr $R0 $0 "Field 4" "State"
1932 StrCmp $R0 "1" DoDownload
1934 ;Do nothing if we're keeping the existing file
1935 ReadINIStr $R0 $0 "Field 2" "State"
1938 ReadINIStr $R0 $0 "Field 6" "State"
1939 StrCmp $R0 "1" CheckOther
1941 ReadINIStr $R0 $0 "Field 3" "State"
1942 StrCmp $R0 "1" UsePackaged
1944 ; If none of these, grab file from other location
1948 ReadINIStr $R0 $0 "Field 5" "State"
1949 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
1950 Pop $R0 ;Get the return value
1951 StrCmp $R0 "success" +2
1952 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1956 SetOutPath "$INSTDIR\Client"
1961 ReadINIStr $R0 $0 "Field 7" "State"
1963 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
1969 Function AddProvider
1972 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1974 StrCpy $R0 "TransarcAFSDaemon"
1978 StrCmp $R0 "" +1 DoOther
1979 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1980 StrCpy $R0 "$R1,TransarcAFSDaemon"
1981 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1983 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1985 StrCpy $R0 "TransarcAFSDaemon"
1989 StrCmp $R0 "" +1 End
1990 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1991 StrCpy $R0 "$R1,TransarcAFSDaemon"
1992 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
1998 Function un.RemoveProvider
2000 StrCpy $R0 "TransarcAFSDaemon"
2002 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2003 Call un.RemoveFromProvider
2004 StrCpy $R0 "TransarcAFSDaemon"
2006 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2007 Call un.RemoveFromProvider
2011 Function un.RemoveFromProvider
2020 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2021 StrCpy $5 $1 1 -1 # copy last char
2022 StrCmp $5 "," +2 # if last char != ,
2023 StrCpy $1 "$1," # append ,
2026 Call un.StrStr ; Find `$0,` in $1
2027 Pop $2 ; pos of our dir
2028 StrCmp $2 "" unRemoveFromPath_done
2029 ; else, it is in path
2034 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2035 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2038 StrCpy $5 $3 1 -1 # copy last char
2039 StrCmp $5 "," 0 +2 # if last char == ,
2040 StrCpy $3 $3 -1 # remove last char
2042 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2044 unRemoveFromPath_done:
2054 Function CheckPathForAFS
2059 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2068 IfFileExists "$3\afsd_service.exe" Error
2069 StrCpy $1 $0 32768 1
2071 IntCmp $2 0 Done Done loop
2074 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."
2075 Abort "Unable to install OpenAFS"
2083 Function AddToUniquePath
2087 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2091 StrCmp $R0 "" +1 Done
2097 ;-------------------------------
2098 ;Do the page to get the CellServDB
2100 Function AFSPageGetCellServDB
2101 ; Skip this page if we are not installing the client
2102 SectionGetFlags ${secClient} $R0
2103 IntOp $R0 $R0 & ${SF_SELECTED}
2106 ; Set the install options here
2109 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2110 WriteINIStr $0 "Field 3" "State" "1"
2111 WriteINISTR $0 "Field 4" "State" "0"
2112 WriteINIStr $0 "Field 6" "State" "0"
2114 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2115 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2116 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2117 Delete "$WINDIR\afsdcell.ini"
2118 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2119 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2120 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2121 WriteINIStr $0 "Field 2" "State" "1"
2122 WriteINIStr $0 "Field 3" "State" "0"
2126 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2127 InstallOptions::dialog $0
2129 StrCmp $R1 "cancel" exit
2130 StrCmp $R1 "back" done
2131 StrCmp $R1 "success" done
2135 ; Check that if a file is set, a valid filename is entered...
2136 ReadINIStr $R0 $0 "Field 6" "State"
2137 StrCmp $R0 "1" CheckFileName
2139 ;Check if a URL is specified, one *IS* specified
2140 ReadINIStr $R0 $0 "Field 4" "State"
2141 StrCmp $R0 "1" CheckURL Skip
2144 ReadINIStr $R0 $0 "Field 5" "State"
2145 StrCmp $R0 "" +1 Skip
2146 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2147 WriteINIStr $0 "Field 4" "State" "0"
2151 ReadINIStr $R0 $0 "Field 7" "State"
2152 IfFileExists $R0 Skip
2154 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2155 WriteINIStr $0 "Field 6" "State" "0"
2163 Function AFSPageGetCellName
2165 ; Skip this page if we are not installing the client
2166 SectionGetFlags ${secClient} $R0
2167 IntOp $R0 $R0 & ${SF_SELECTED}
2171 ; If this is a server install, we do NOT want to recommend the Freelance client
2172 ; And we do not need to ask for the cell name.
2173 SectionGetFlags ${secServer} $R1
2174 IntOp $R1 $R1 & ${SF_SELECTED}
2175 StrCmp $R1 "1" +1 NotServer
2176 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2177 WriteINIStr $1 "Field 5" "State" "0"
2178 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2179 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2182 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2183 WriteINIStr $1 "Field 5" "State" "1"
2184 WriteINIStr $1 "Field 1" "Flags" ""
2185 WriteINIStr $1 "Field 2" "Flags" ""
2187 ; Get the current cell name, if any
2188 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2190 WriteINIStr $1 "Field 2" "State" $R1
2191 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2192 InstallOptions::dialog $1
2194 StrCmp $R1 "cancel" exit
2195 StrCmp $R1 "back" done
2196 StrCmp $R1 "success" done
2199 ReadINIStr $R0 $1 "Field 2" "State"
2200 StrCmp $R0 "" +1 good
2202 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2208 ;---------------------------------------------------------
2209 ;Do the page to get the afscreds.exe startup configuration
2211 Function AFSPageConfigAFSCreds
2212 ; Skip this page if we are not installing the client
2213 SectionGetFlags ${secClient} $R0
2214 IntOp $R0 $R0 & ${SF_SELECTED}
2217 ; Set the install options here
2219 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2220 InstallOptions::dialog $2
2222 StrCmp $R1 "cancel" exit
2223 StrCmp $R1 "back" done
2224 StrCmp $R1 "success" done
2232 ; Common install routines for each module
2233 Function AFSCommon.Install
2235 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2236 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2238 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2240 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2242 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2247 ;-------------------
2248 ; Get the currently installed version and place it on the stack
2250 Function GetInstalledVersion
2255 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2256 StrCmp $R0 "" NotTransarc done
2260 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2269 ; Functions to get each component of the version number
2270 Function GetInstalledVersionMajor
2275 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2276 StrCmp $R0 "" NotTransarc done
2280 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2289 Function GetInstalledVersionMinor
2294 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2295 StrCmp $R0 "" NotTransarc done
2299 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2308 Function GetInstalledVersionPatch
2313 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2314 StrCmp $R0 "" NotTransarc done
2318 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2329 ;-------------------------------
2330 ; Check if the client should be checked for default install
2331 Function ShouldClientInstall
2333 StrCpy $R2 "AFS Client"
2334 Call GetInstalledVersion
2337 StrCmp $R0 "" NotInstalled
2338 ; Now we see if it's an older or newer version
2340 Call GetInstalledVersionMajor
2342 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2344 Call GetInstalledVersionMinor
2346 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2348 Call GetInstalledVersionPatch
2350 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2373 ;-------------------------------
2374 ; Check how the server options should be set
2375 Function ShouldServerInstall
2377 StrCpy $R2 "AFS Server"
2378 Call GetInstalledVersion
2381 StrCmp $R0 "" NotInstalled
2382 ; Now we see if it's an older or newer version
2384 Call GetInstalledVersionMajor
2386 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2388 Call GetInstalledVersionMinor
2390 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2392 Call GetInstalledVersionPatch
2394 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2419 ; See if AFS Server is installed
2420 ; Returns: "1" if it is, 0 if it is not (on the stack)
2421 Function IsServerInstalled
2423 StrCpy $R2 "AFS Server"
2424 Call GetInstalledVersion
2427 StrCmp $R0 "" NotInstalled
2440 ; See if AFS Client is installed
2441 ; Returns: "1" if it is, 0 if it is not (on the stack)
2442 Function IsClientInstalled
2444 StrCpy $R2 "AFS Client"
2445 Call GetInstalledVersion
2448 StrCmp $R0 "" NotInstalled
2462 ; See if AFS Documentation is installed
2463 ; Returns: "1" if it is, 0 if it is not (on the stack)
2464 Function IsDocumentationInstalled
2466 StrCpy $R2 "AFS Supplemental Documentation"
2467 Call GetInstalledVersion
2470 StrCmp $R0 "" NotInstalled
2483 ; See if Control Center is installed
2484 ; Returns: "1" if it is, 0 if it is not (on the stack)
2485 Function IsControlInstalled
2487 StrCpy $R2 "AFS Control Center"
2488 Call GetInstalledVersion
2491 StrCmp $R0 "" NotInstalled
2506 ; output, top of stack (replaces, with e.g. whatever)
2507 ; modifies no other variables.
2509 Function GetParameters
2513 StrCpy $R0 $CMDLINE 1
2517 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2519 StrCpy $R0 $CMDLINE 1 $R2
2520 StrCmp $R0 $R1 loop2
2526 StrCpy $R0 $CMDLINE 1 $R2
2527 StrCmp $R0 " " loop2
2528 StrCpy $R0 $CMDLINE "" $R2
2535 ;Check to see if any AFS component is installed
2536 ;Returns: Value on stack: "1" if it is, "0" if it is not
2537 Function IsAnyAFSInstalled
2542 Call IsClientInstalled
2544 Call IsServerInstalled
2546 Call IsControlInstalled
2548 Call IsDocumentationInstalled
2550 ; Now we must see if ANY of the $Rn values are 1
2551 StrCmp $R0 "1" SomethingInstalled
2552 StrCmp $R1 "1" SomethingInstalled
2553 StrCmp $R2 "1" SomethingInstalled
2554 StrCmp $R3 "1" SomethingInstalled
2568 ;Install English Language Files
2569 Function AFSLangFiles
2571 SetOutPath "$INSTDIR\Common"
2572 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2573 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2574 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2575 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2576 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2577 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2578 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2579 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2580 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2581 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2582 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2583 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2584 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2585 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2587 SetOutPath "$INSTDIR\Common"
2591 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2592 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2593 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2594 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2595 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2596 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2597 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2598 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2599 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2600 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2601 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2602 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2605 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2606 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2607 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2608 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2609 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2610 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2611 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2612 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2613 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2614 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2615 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2616 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2618 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2619 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2620 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2625 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2626 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2627 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2628 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2629 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2630 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2631 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2632 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2633 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2634 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2635 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2636 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2639 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2640 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2641 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2642 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2643 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2644 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2645 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2646 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2647 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2648 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2649 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2650 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2652 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2653 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2654 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2659 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2660 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2661 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2662 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2663 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2664 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2665 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2666 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2670 SetOutPath "$INSTDIR\Documentation"
2671 File "..\..\doc\install\Documentation\en_US\README.TXT"
2673 SetOutPath "$INSTDIR\Client\Program"
2674 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2675 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2677 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2678 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2681 SetOutPath "$INSTDIR\Common"
2682 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2683 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2684 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2685 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2686 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2687 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2688 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2689 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2690 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2691 File "..\..\doc\help\en_US\afs-cc.CNT"
2692 File "..\..\doc\help\en_US\afs-cc.hlp"
2693 File "..\..\doc\help\en_US\afs-light.CNT"
2694 File "..\..\doc\help\en_US\afs-light.hlp"
2695 File "..\..\doc\help\en_US\afs-nt.CNT"
2696 File "..\..\doc\help\en_US\afs-nt.HLP"
2697 File "..\..\doc\help\en_US\taafscfg.CNT"
2698 File "..\..\doc\help\en_US\taafscfg.hlp"
2699 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2700 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2701 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2702 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2705 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2706 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2707 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2708 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2709 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2710 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2711 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2712 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2718 SetOutPath "$INSTDIR\Documentation"
2719 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2721 SetOutPath "$INSTDIR\Client\Program"
2722 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2723 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2725 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2726 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2729 SetOutPath "$INSTDIR\Common"
2730 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2731 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2732 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2733 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2734 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2735 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2736 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2737 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2738 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2739 File "..\..\doc\help\de_DE\afs-cc.CNT"
2740 File "..\..\doc\help\de_DE\afs-cc.hlp"
2741 File "..\..\doc\help\de_DE\afs-light.CNT"
2742 File "..\..\doc\help\de_DE\afs-light.hlp"
2743 File "..\..\doc\help\de_DE\afs-nt.CNT"
2744 File "..\..\doc\help\de_DE\afs-nt.HLP"
2745 File "..\..\doc\help\de_DE\taafscfg.CNT"
2746 File "..\..\doc\help\de_DE\taafscfg.hlp"
2747 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2748 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2749 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2750 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2753 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2754 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2755 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2756 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2757 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2758 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2759 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2760 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2766 SetOutPath "$INSTDIR\Documentation"
2767 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2769 SetOutPath "$INSTDIR\Client\Program"
2770 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2771 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2773 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2774 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2777 SetOutPath "$INSTDIR\Common"
2778 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2779 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2780 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2781 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2782 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2783 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2784 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2785 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2786 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2787 File "..\..\doc\help\es_ES\afs-cc.CNT"
2788 File "..\..\doc\help\es_ES\afs-cc.hlp"
2789 File "..\..\doc\help\es_ES\afs-light.CNT"
2790 File "..\..\doc\help\es_ES\afs-light.hlp"
2791 File "..\..\doc\help\es_ES\afs-nt.CNT"
2792 File "..\..\doc\help\es_ES\afs-nt.HLP"
2793 File "..\..\doc\help\es_ES\taafscfg.CNT"
2794 File "..\..\doc\help\es_ES\taafscfg.hlp"
2795 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2796 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2797 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2798 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2801 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2802 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2803 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2804 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2805 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2806 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2807 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2808 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2814 SetOutPath "$INSTDIR\Documentation"
2815 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2817 SetOutPath "$INSTDIR\Client\Program"
2818 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2819 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2821 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2822 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2825 SetOutPath "$INSTDIR\Common"
2826 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2827 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2828 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2829 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2830 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2831 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2832 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2833 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2834 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2835 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2836 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2837 File "..\..\doc\help\ja_JP\afs-light.CNT"
2838 File "..\..\doc\help\ja_JP\afs-light.hlp"
2839 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2840 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2841 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2842 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2843 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2844 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2845 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2846 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2849 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2850 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2851 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2852 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2853 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2854 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2855 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2856 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2862 SetOutPath "$INSTDIR\Documentation"
2863 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2865 SetOutPath "$INSTDIR\Client\Program"
2866 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2867 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2869 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2870 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2873 SetOutPath "$INSTDIR\Common"
2874 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2875 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2876 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2877 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2878 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2879 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2880 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2881 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2882 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2883 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2884 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2885 File "..\..\doc\help\ko_KR\afs-light.CNT"
2886 File "..\..\doc\help\ko_KR\afs-light.hlp"
2887 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2888 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2889 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2890 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2891 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2892 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2893 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2894 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2897 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2898 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2899 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2900 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2901 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2902 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2903 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2904 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2911 SetOutPath "$INSTDIR\Documentation"
2912 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2914 SetOutPath "$INSTDIR\Client\Program"
2915 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2916 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2918 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2919 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2922 SetOutPath "$INSTDIR\Common"
2923 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
2924 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
2925 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
2926 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
2927 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
2928 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
2929 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
2930 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
2931 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
2932 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2933 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2934 File "..\..\doc\help\pt_BR\afs-light.CNT"
2935 File "..\..\doc\help\pt_BR\afs-light.hlp"
2936 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2937 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2938 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2939 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2940 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2941 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2942 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2943 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2946 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2947 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2948 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2949 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2950 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2951 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2952 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2953 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2959 SetOutPath "$INSTDIR\Documentation"
2960 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2962 SetOutPath "$INSTDIR\Client\Program"
2963 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
2964 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2966 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2967 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2970 SetOutPath "$INSTDIR\Common"
2971 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
2972 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
2973 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
2974 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
2975 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
2976 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
2977 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
2978 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
2979 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
2980 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2981 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2982 File "..\..\doc\help\zh_CN\afs-light.CNT"
2983 File "..\..\doc\help\zh_CN\afs-light.hlp"
2984 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2985 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2986 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2987 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2988 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2989 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2990 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2991 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2994 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
2995 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
2996 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
2997 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
2998 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
2999 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3000 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3001 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3007 SetOutPath "$INSTDIR\Documentation"
3008 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3010 SetOutPath "$INSTDIR\Client\Program"
3011 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3012 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3014 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3015 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3018 SetOutPath "$INSTDIR\Common"
3019 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3020 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3021 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3022 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3023 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3024 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3025 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3026 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3027 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3028 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3029 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3030 File "..\..\doc\help\zh_TW\afs-light.CNT"
3031 File "..\..\doc\help\zh_TW\afs-light.hlp"
3032 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3033 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3034 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3035 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3036 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3037 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3038 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3039 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3042 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3043 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3044 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3045 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3046 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3047 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3048 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3049 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3058 ;====================================================
3059 ; AddToPath - Adds the given dir to the search path.
3060 ; Input - head of the stack
3061 ; Note - Win9x systems requires reboot
3062 ;====================================================
3069 # don't add if the path doesn't exist
3070 IfFileExists $0 "" AddToPath_done
3077 StrCmp $2 "" "" AddToPath_done
3082 StrCmp $2 "" "" AddToPath_done
3083 GetFullPathName /SHORT $3 $0
3088 StrCmp $2 "" "" AddToPath_done
3093 StrCmp $2 "" "" AddToPath_done
3097 StrCmp $1 1 AddToPath_NT
3100 FileOpen $1 "$1\autoexec.bat" a
3103 IntCmp $2 26 0 +2 +2 # DOS EOF
3104 FileSeek $1 -1 END # write over EOF
3105 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3111 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3112 StrCpy $2 $1 1 -1 # copy last char
3113 StrCmp $2 ";" 0 +2 # if last char == ;
3114 StrCpy $1 $1 -1 # remove last char
3115 StrCmp $1 "" AddToPath_NTdoIt
3118 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3119 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3128 ;====================================================
3129 ; RemoveFromPath - Remove a given dir from the path
3130 ; Input: head of the stack
3131 ;====================================================
3132 Function un.RemoveFromPath
3141 IntFmt $6 "%c" 26 # DOS EOF
3145 StrCmp $1 1 unRemoveFromPath_NT
3148 FileOpen $1 "$1\autoexec.bat" r
3151 GetFullPathName /SHORT $0 $0
3152 StrCpy $0 "SET PATH=%PATH%;$0"
3153 Goto unRemoveFromPath_dosLoop
3155 unRemoveFromPath_dosLoop:
3157 StrCpy $5 $3 1 -1 # read last char
3158 StrCmp $5 $6 0 +2 # if DOS EOF
3159 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3160 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3161 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3162 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3163 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3165 Goto unRemoveFromPath_dosLoop
3166 unRemoveFromPath_dosLoopRemoveLine:
3168 Goto unRemoveFromPath_dosLoop
3170 unRemoveFromPath_dosLoopEnd:
3174 Delete "$1\autoexec.bat"
3175 CopyFiles /SILENT $4 "$1\autoexec.bat"
3177 Goto unRemoveFromPath_done
3179 unRemoveFromPath_NT:
3180 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3181 StrCpy $5 $1 1 -1 # copy last char
3182 StrCmp $5 ";" +2 # if last char != ;
3183 StrCpy $1 "$1;" # append ;
3186 Call un.StrStr ; Find `$0;` in $1
3187 Pop $2 ; pos of our dir
3188 StrCmp $2 "" unRemoveFromPath_done
3189 ; else, it is in path
3194 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3195 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3198 StrCpy $5 $3 1 -1 # copy last char
3199 StrCmp $5 ";" 0 +2 # if last char == ;
3200 StrCpy $3 $3 -1 # remove last char
3202 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3203 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3205 unRemoveFromPath_done:
3215 ;====================================================
3216 ; IsNT - Returns 1 if the current system is NT, 0
3218 ; Output: head of the stack
3219 ;====================================================
3223 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3224 StrCmp $0 "" 0 IsNT_yes
3236 !insertmacro IsNT ""
3237 !insertmacro IsNT "un."
3239 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3241 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3242 ;====================================================
3243 ; StrStr - Finds a given string in another given string.
3244 ; Returns -1 if not found and the pos if found.
3245 ; Input: head of the stack - string to find
3246 ; second in the stack - string to find in
3247 ; Output: head of the stack
3248 ;====================================================
3250 Function ${un}StrStr
3251 Exch $R1 ; st=haystack,old$R1, $R1=needle
3252 Exch ; st=old$R1,haystack
3253 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3265 StrCpy $R5 $R2 $R3 $R4
3271 StrCpy $R1 $R2 "" $R4
3279 !insertmacro StrStr ""
3280 !insertmacro StrStr "un."
3283 !ifdef ADDSHAREDDLLUSED
3286 ; Increments a shared DLLs reference count.
3287 ; Use by passing one item on the stack (the full path of the DLL).
3290 ; Push $SYSDIR\myDll.dll
3294 Function AddSharedDLL
3297 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3299 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3305 ; un.RemoveSharedDLL
3307 ; Decrements a shared DLLs reference count, and removes if necessary.
3308 ; Use by passing one item on the stack (the full path of the DLL).
3309 ; Note: for use in the main installer (not the uninstaller), rename the
3310 ; function to RemoveSharedDLL.
3313 ; Push $SYSDIR\myDll.dll
3314 ; Call un.RemoveSharedDLL
3317 Function un.RemoveSharedDLL
3320 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3321 StrCmp $R0 "" remove
3323 IntCmp $R0 0 rk rk uk
3325 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3328 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3331 Delete /REBOOTOK $R1
3339 ; Installs the loopback adpater and disables it on Windows 2000
3340 Function afs.InstallMSLoopback
3342 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3343 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3347 Function afs.isLoopbackInstalled
3349 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3350 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3351 Delete "$TEMP\afsloopback.dll"
3357 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3358 ; Updated by Joost Verburg
3360 ; Returns on top of stack
3362 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3364 ; '' (Unknown Windows Version)
3367 ; Call GetWindowsVersion
3369 ; ; at this point $R0 is "NT 4.0" or whatnot
3371 Function GetWindowsVersion
3378 ReadRegStr $R0 HKLM \
3379 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3381 IfErrors 0 lbl_winnt
3384 ReadRegStr $R0 HKLM \
3385 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3388 StrCmp $R1 '4' 0 lbl_error
3392 StrCmp $R1 '4.0' lbl_win32_95
3393 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3411 StrCmp $R1 '3' lbl_winnt_x
3412 StrCmp $R1 '4' lbl_winnt_x
3416 StrCmp $R1 '5.0' lbl_winnt_2000
3417 StrCmp $R1 '5.1' lbl_winnt_XP
3418 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3421 StrCpy $R0 "NT $R0" 6
3446 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3447 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3448 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3449 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3453 ; Pop $R0 ; at this point $R0 is "true" or "false"
3455 Function IsUserAdmin
3464 UserInfo::GetAccountType
3467 StrCmp $R2 "Admin" 0 Continue
3468 ; Observation: I get here when running Win98SE. (Lilla)
3469 ; The functions UserInfo.dll looks for are there on Win98 too,
3470 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3471 ; on Win98, returns admin anyway. (per kichik)
3472 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3477 ; You should still check for an empty string because the functions
3478 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3481 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3485 ; comment/message below is by UserInfo.nsi author:
3486 ; This one means you don't need to care about admin or
3487 ; not admin because Windows 9x doesn't either
3488 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3492 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3500 ; input, top of stack (e.g. C:\Program Files\Poop)
3501 ; output, top of stack (replaces, with e.g. C:\Program Files)
3502 ; modifies no other variables.
3505 ; Push "C:\Program Files\Directory\Whatever"
3508 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3522 IntCmp $R1 $R2 get 0 get
3523 StrCpy $R3 $R0 1 -$R1
3538 ;--------------------------------
3539 ;Handle what must and what must not be installed
3540 Function .onSelChange
3541 ; If they install the server, they MUST install the client
3542 SectionGetFlags ${secServer} $R0
3543 IntOp $R0 $R0 & ${SF_SELECTED}
3544 StrCmp $R0 "1" MakeClientSelected
3546 ; If they install the control center, we'll give them the client.
3547 ; It may not be required, but it's a bit more useful
3548 SectionGetFlags ${secControl} $R0
3549 IntOp $R0 $R0 & ${SF_SELECTED}
3550 StrCmp $R0 "1" MakeClientSelected
3554 SectionGetFlags ${secClient} $R0
3555 IntOp $R0 $R0 | ${SF_SELECTED}
3556 SectionSetFlags ${secClient} $R0
3561 Function RegWriteMultiStr
3562 !define HKEY_CLASSES_ROOT 0x80000000
3563 !define HKEY_CURRENT_USER 0x80000001
3564 !define HKEY_LOCAL_MACHINE 0x80000002
3565 !define HKEY_USERS 0x80000003
3566 !define HKEY_PERFORMANCE_DATA 0x80000004
3567 !define HKEY_PERFORMANCE_TEXT 0x80000050
3568 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3569 !define HKEY_CURRENT_CONFIG 0x80000005
3570 !define HKEY_DYN_DATA 0x80000006
3572 !define KEY_QUERY_VALUE 0x0001
3573 !define KEY_SET_VALUE 0x0002
3574 !define KEY_CREATE_SUB_KEY 0x0004
3575 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3576 !define KEY_NOTIFY 0x0010
3577 !define KEY_CREATE_LINK 0x0020
3581 !define REG_EXPAND_SZ 2
3582 !define REG_BINARY 3
3584 !define REG_DWORD_LITTLE_ENDIAN 4
3585 !define REG_DWORD_BIG_ENDIAN 5
3587 !define REG_MULTI_SZ 7
3589 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3590 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3591 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3598 SetPluginUnload alwaysoff
3599 ; Create a buffer for the multi_sz value
3600 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3601 ; Open/create the registry key
3602 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3605 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3609 ; Fill in the buffer with our strings
3610 StrCpy $2 $1 ; Initial position
3612 StrLen $9 '$REG_DATA_1' ; Length of first string
3613 IntOp $9 $9 + 1 ; Plus null
3614 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3615 IntOp $2 $2 + $9 ; Advance to the next position
3617 StrCmp '$REG_DATA_2' "" terminate
3618 StrLen $9 '$REG_DATA_2' ; Length of second string
3619 IntOp $9 $9 + 1 ; Plus null
3620 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3621 IntOp $2 $2 + $9 ; Advance to the next position
3623 StrCmp '$REG_DATA_3' "" terminate
3624 StrLen $9 '$REG_DATA_3' ; Length of third string
3625 IntOp $9 $9 + 1 ; Plus null
3626 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3627 IntOp $2 $2 + $9 ; Advance to the next position
3630 System::Call "*$2(&t1 '')" ; Place the terminating null
3631 IntOp $2 $2 + 1 ; Advance to the next position
3633 ; Create/write the value
3634 IntOp $2 $2 - $1 ; Total length
3635 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3638 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3642 ; Close the registry key
3643 System::Call "${RegCloseKey}(r0)"
3647 SetPluginUnload manual