2 ; OpenAFS Install Script for NSIS
3 ; This version compiles with NSIS v2.07
5 ; Originally written by Rob Murawski <rsm4@ieee.org>
7 ;Redistribution and use in source and binary forms, with or without modification, are permitted
8 ;provided that the following conditions are met:
10 ; Redistributions of source code must retain the above copyright notice, this list of conditions
11 ; and the following disclaimer. Redistributions in binary form must reproduce the above copyright
12 ; notice, this list of conditions and the following disclaimer in the documentation and/or other
13 ; materials provided with the distribution. The name of the author may not be used to endorse or
14 ; promote products derived from this software without specific prior written permission.
16 ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
17 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
18 ; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19 ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
21 ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
22 ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
23 ; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 ; Some code originally based on:
27 ; NSIS Modern User Interface version 1.63
28 ; MultiLanguage Example Script
29 ; Written by Joost Verburg
31 ; Read in the environment information
32 !include ${INCLUDEDIR}\nsi-includes.nsi
36 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
38 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
39 !endif ; End DEBUG/!DEBUG
42 Name "OpenAFS ${AFS_VERSION}"
44 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
45 !endif ; End DEBUG/!DEBUG
47 VIProductVersion "${AFS_VERSION}.00"
48 VIAddVersionKey "ProductName" "OpenAFS"
49 VIAddVersionKey "CompanyName" "OpenAFS.org"
50 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
51 VIAddVersionKey "FileVersion" ${AFS_VERSION}
52 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
53 VIAddVersionKey "LegalCopyright" "(C)2000-2005"
55 VIAddVersionKey "PrivateBuild" "Checked/Debug"
62 ;--------------------------------
65 !define REPLACEDLL_NOREGISTER
70 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
72 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
76 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-IFS.exe"
78 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-IFS-DEBUG.exe"
82 SetCompressor /solid lzma
83 !define MUI_ICON "..\..\client_config\OpenAFS.ico"
84 !define MUI_UNICON "..\..\client_config\OpenAFS.ico"
85 !define AFS_COMPANY_NAME "OpenAFS"
86 !define AFS_PRODUCT_NAME "OpenAFS"
87 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
90 ;Folder selection page
91 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
93 ;Remember install folder
94 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
96 ;Remember the installer language
97 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
98 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
99 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
101 ;Where are the files?
102 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
103 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
104 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
105 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
106 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
107 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
108 !define SYSTEMDIR "$%SystemRoot%\System32"
110 ;--------------------------------
111 ;Modern UI Configuration
113 ;!define MUI_LICENSEPAGE
114 !define MUI_CUSTOMPAGECOMMANDS
115 !define MUI_WELCOMEPAGE
116 !define MUI_COMPONENTSPAGE
117 !define MUI_COMPONENTSPAGE_SMALLDESC
118 !define MUI_DIRECTORYPAGE
120 !define MUI_ABORTWARNING
121 !define MUI_FINISHPAGE
123 !define MUI_UNINSTALLER
124 !define MUI_UNCONFIRMPAGE
127 !insertmacro MUI_PAGE_WELCOME
128 !insertmacro MUI_PAGE_COMPONENTS
129 !insertmacro MUI_PAGE_DIRECTORY
130 Page custom AFSPageGetCellServDB
131 Page custom AFSPageGetCellName
132 Page custom AFSPageConfigAFSCreds
133 !insertmacro MUI_PAGE_INSTFILES
134 !insertmacro MUI_PAGE_FINISH
136 ;LicenseData "Licenses.rtf"
137 ;--------------------------------
140 !insertmacro MUI_LANGUAGE "English"
141 ;!insertmacro MUI_LANGUAGE "French"
142 !insertmacro MUI_LANGUAGE "German"
143 !insertmacro MUI_LANGUAGE "Spanish"
144 !insertmacro MUI_LANGUAGE "SimpChinese"
145 !insertmacro MUI_LANGUAGE "TradChinese"
146 !insertmacro MUI_LANGUAGE "Japanese"
147 !insertmacro MUI_LANGUAGE "Korean"
148 ;!insertmacro MUI_LANGUAGE "Italian"
149 ;!insertmacro MUI_LANGUAGE "Dutch"
150 ;!insertmacro MUI_LANGUAGE "Danish"
151 ;!insertmacro MUI_LANGUAGE "Greek"
152 ;!insertmacro MUI_LANGUAGE "Russian"
153 !insertmacro MUI_LANGUAGE "PortugueseBR"
154 ;!insertmacro MUI_LANGUAGE "Polish"
155 ;!insertmacro MUI_LANGUAGE "Ukrainian"
156 ;!insertmacro MUI_LANGUAGE "Czech"
157 ;!insertmacro MUI_LANGUAGE "Slovak"
158 ;!insertmacro MUI_LANGUAGE "Croatian"
159 ;!insertmacro MUI_LANGUAGE "Bulgarian"
160 ;!insertmacro MUI_LANGUAGE "Hungarian"
161 ;!insertmacro MUI_LANGUAGE "Thai"
162 ;!insertmacro MUI_LANGUAGE "Romanian"
163 ;!insertmacro MUI_LANGUAGE "Macedonian"
164 ;!insertmacro MUI_LANGUAGE "Turkish"
166 ;--------------------------------
170 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
171 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
172 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
173 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
174 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
175 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
176 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
177 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
178 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
179 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
180 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
181 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
182 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
183 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
184 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
185 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
186 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
187 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
188 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
189 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
190 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
191 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
192 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
193 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
194 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
196 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
197 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
198 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
199 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
200 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
201 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
202 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
203 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
205 LangString DESC_secLoopback ${LANG_ENGLISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
206 LangString DESC_secLoopback ${LANG_GERMAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
207 LangString DESC_secLoopback ${LANG_SPANISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
208 LangString DESC_secLoopback ${LANG_SIMPCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
209 LangString DESC_secLoopback ${LANG_TRADCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
210 LangString DESC_secLoopback ${LANG_JAPANESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
211 LangString DESC_secLoopback ${LANG_KOREAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
212 LangString DESC_secLoopback ${LANG_PORTUGUESEBR} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
214 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
215 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
216 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
217 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
218 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
219 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
220 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
221 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
223 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
224 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
225 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
226 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
227 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
228 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
229 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
230 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
232 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
233 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
234 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
235 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
236 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
237 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
238 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
239 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
241 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
242 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
243 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
244 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
245 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
246 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
247 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
248 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
250 LangString DESC_secDEBUG ${LANG_ENGLISH} "Debug symbols: Used for debugging problems with OpenAFS."
251 LangString DESC_secDEBUG ${LANG_GERMAN} "Debug symbols: Used for debugging problems with OpenAFS."
252 LangString DESC_secDEBUG ${LANG_SPANISH} "Debug symbols: Used for debugging problems with OpenAFS."
253 LangString DESC_secDEBUG ${LANG_SIMPCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
254 LangString DESC_secDEBUG ${LANG_TRADCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
255 LangString DESC_secDEBUG ${LANG_JAPANESE} "Debug symbols: Used for debugging problems with OpenAFS."
256 LangString DESC_secDEBUG ${LANG_KOREAN} "Debug symbols: Used for debugging problems with OpenAFS."
257 LangString DESC_secDEBUG ${LANG_PORTUGUESEBR} "Debug symbols: Used for debugging problems with OpenAFS."
259 ; Popup error messages
260 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
261 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
262 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
263 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
264 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
265 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
266 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
267 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
269 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
270 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
271 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
272 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
273 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
274 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
275 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
276 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
278 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
279 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
280 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
281 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
282 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
283 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
284 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
285 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
288 ; Upgrade/re-install strings
289 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
290 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
291 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
292 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
293 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
294 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
295 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
296 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
298 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
299 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
300 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
301 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
302 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
303 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
304 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
305 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
307 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
308 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
309 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
310 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
311 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
312 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
313 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
314 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
316 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
317 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
318 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
319 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
320 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
321 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
322 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
323 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
325 ReserveFile "CellServPage.ini"
326 ReserveFile "AFSCell.ini"
327 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
328 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
329 ;--------------------------------
331 ; Macro - Upgrade DLL File
332 ; Written by Joost Verburg
333 ; ------------------------
336 ; LOCALFILE - Location of the new DLL file (on the compiler system)
337 ; DESTFILE - Location of the DLL file that should be upgraded
338 ; (on the user's system)
339 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
340 ; when the system has to be rebooted.
341 ; For Win9x support, this should be on the same volume as the
343 ; The Windows temp directory could be located on any volume,
344 ; so you cannot use this directory.
346 ; Define REPLACEDLL_NOREGISTER if you want to upgrade a DLL that does not
347 ; have to be registered.
349 ; Note: If you want to support Win9x, you can only use
350 ; short filenames (8.3).
353 ; !insertmacro ReplaceDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
356 !macro ReplaceDLL LOCALFILE DESTFILE TEMPBASEDIR
365 ;------------------------
366 ;Unique number for labels
368 !define REPLACEDLL_UNIQUE ${__LINE__}
370 ;------------------------
371 ;Copy the parameters used on run-time to a variable
372 ;This allows the usage of variables as paramter
374 StrCpy $R4 "${DESTFILE}"
375 StrCpy $R5 "${TEMPBASEDIR}"
377 ;------------------------
378 ;Check file and version
380 IfFileExists $R4 0 replacedll.copy_${REPLACEDLL_UNIQUE}
383 ; GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
384 ; GetDLLVersion $R4 $R2 $R3
385 ;IfErrors replacedll.upgrade_${REPLACEDLL_UNIQUE}
387 ;IntCmpU $R0 $R2 0 replacedll.done_${REPLACEDLL_UNIQUE} \
388 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
389 ;IntCmpU $R1 $R3 replacedll.done_${REPLACEDLL_UNIQUE} \
390 ; replacedll.done_${REPLACEDLL_UNIQUE} \
391 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
393 ;------------------------
394 ;Let's replace the DLL!
398 ;replacedll.upgrade_${REPLACEDLL_UNIQUE}:
399 !ifndef REPLACEDLL_NOREGISTER
404 ;------------------------
405 ;Try to copy the DLL directly
409 Call :replacedll.file_${REPLACEDLL_UNIQUE}
410 IfErrors 0 replacedll.noreboot_${REPLACEDLL_UNIQUE}
412 ;------------------------
413 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
415 GetTempFileName $R0 $R5
416 Call :replacedll.file_${REPLACEDLL_UNIQUE}
417 Rename /REBOOTOK $R0 $R4
419 ;------------------------
420 ;Register the DLL on reboot
422 !ifndef REPLACEDLL_NOREGISTER
423 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
424 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
427 Goto replacedll.done_${REPLACEDLL_UNIQUE}
429 ;------------------------
430 ;DLL does not exist - just extract
432 replacedll.copy_${REPLACEDLL_UNIQUE}:
434 Call :replacedll.file_${REPLACEDLL_UNIQUE}
436 ;------------------------
439 replacedll.noreboot_${REPLACEDLL_UNIQUE}:
440 !ifndef REPLACEDLL_NOREGISTER
444 ;------------------------
447 replacedll.done_${REPLACEDLL_UNIQUE}:
456 ;------------------------
459 Goto replacedll.end_${REPLACEDLL_UNIQUE}
461 ;------------------------
462 ;Called to extract the DLL
464 replacedll.file_${REPLACEDLL_UNIQUE}:
465 File /oname=$R0 "${LOCALFILE}"
468 replacedll.end_${REPLACEDLL_UNIQUE}:
470 ;------------------------
473 SetOverwrite lastused
475 !undef REPLACEDLL_UNIQUE
480 ;--------------------------------
483 ;Things that need to be extracted on first (keep these lines before any File command!)
484 ;Only useful for BZIP2 compression
485 !insertmacro MUI_RESERVEFILE_LANGDLL
487 ;--------------------------------
498 ;--------------------------------
501 ;----------------------
503 Section "!AFS Client" secClient
505 SetShellVarContext all
507 ; Check for bad previous installation (if we are doing a new install)
508 Call IsAnyAFSInstalled
510 StrCmp $R0 "0" +1 skipCheck
514 ; Stop any running services or we can't replace the files
515 ; Stop the running processes
517 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
518 nsExec::Exec '$R0 afsd_service.exe'
519 nsExec::Exec '$R0 afscreds.exe'
520 Exec "afscreds.exe -z"
521 ; in case we are upgrading an old version that does not support -z
522 nsExec::Exec '$R0 afscreds.exe'
524 ;nsExec::Exec '$R0 krbcc32s.exe'
527 nsExec::Exec "net stop TransarcAFSDaemon"
528 nsExec::Exec "net stop TransarcAFSServer"
530 ; Do client components
531 SetOutPath "$INSTDIR\Client\Program"
532 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
533 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
534 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
535 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
536 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
537 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
538 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
539 File "${AFS_CLIENT_BUILDDIR}\afsdacl.exe"
540 File "${AFS_CLIENT_BUILDDIR}\cmdebug.exe"
541 File "${AFS_CLIENT_BUILDDIR}\aklog.exe"
542 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
543 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
544 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
545 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
546 File "${AFS_DESTDIR}\bin\kpasswd.exe"
547 File "${AFS_SERVER_BUILDDIR}\pts.exe"
548 File "${AFS_SERVER_BUILDDIR}\bos.exe"
549 File "${AFS_SERVER_BUILDDIR}\kas.exe"
550 File "${AFS_SERVER_BUILDDIR}\vos.exe"
551 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
552 File "${AFS_DESTDIR}\bin\translate_et.exe"
553 File "${AFS_DESTDIR}\etc\rxdebug.exe"
554 File "${AFS_DESTDIR}\etc\backup.exe"
555 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$INSTDIR\Client\Program\afs_cpa.cpl" "$INSTDIR"
558 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$SYSDIR\afslogon.dll" "$INSTDIR"
559 File "${AFS_CLIENT_BUILDDIR}\afscpcc.exe"
562 !insertmacro ReplaceDLL "..\..\afsrdr\objfre_w2K_x86\i386\afsrdr.sys" "$SYSDIR\DRIVERS\afsrdr.sys" "$INSTDIR"
564 !insertmacro ReplaceDLL "..\..\afsrdr\objchk_w2K_x86\i386\afsrdr.sys" "$SYSDIR\DRIVERS\afsrdr.sys" "$INSTDIR"
570 ; Get AFS CellServDB file
571 Call afs.GetCellServDB
574 File /oname=$R0 "${AFS_WININSTALL_DIR}\AdminGroup.exe"
575 nsExec::Exec '$R0 -create'
578 ; Include Kerberos for Windows files in the installer...
579 SetOutPath "$INSTDIR\kfw\bin\"
580 File "${KFW_SOURCE}\bin\*"
581 SetOutPath "$INSTDIR\kfw\doc"
582 File "${KFW_SOURCE}\doc\*"
585 ;Store install folder
586 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
587 Call AFSCommon.Install
589 ; Write registry entries
590 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
591 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
592 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
593 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
594 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
595 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
596 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa" "$INSTDIR\Client\Program\afs_cpa.cpl"
598 ; Support for apps that wrote submount data directly to afsdsbmt.ini
599 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini" "AFS Mappings" "USR:Software\OpenAFS\Client\mappings"
600 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini" "AFS Submounts" "SYS:OpenAFS\Client\Submounts"
603 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
604 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
605 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
606 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
607 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
608 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
609 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
610 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
611 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
612 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
613 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
614 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
615 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
616 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
617 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
618 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
619 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
621 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
622 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
624 ; Delete the DEBUG string
625 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
626 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
629 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
630 Call GetWindowsVersion
632 StrCmp $R1 "2000" +1 +2
633 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
635 ;Write start menu entries
636 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
637 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
639 ; Create command line options for AFSCreds...
641 ReadINIStr $R1 $2 "Field 3" "State"
644 ReadINIStr $R1 $2 "Field 5" "State"
647 ReadINIStr $R1 $2 "Field 7" "State"
650 ReadINIStr $R1 $2 "Field 9" "State"
653 ReadINIStr $R1 $2 "Field 13" "State"
657 WriteRegStr HKLM "SOFTWARE\OpenAFS\Client" "AfscredsShortcutParams" "$R2"
659 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
661 ReadINIStr $R1 $2 "Field 1" "State"
663 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
665 Push "$INSTDIR\Client\Program"
667 Push "$INSTDIR\Common"
671 ; Add kfw to path too
672 Push "$INSTDIR\kfw\bin"
676 ; Create the AFS service
677 SetOutPath "$INSTDIR\Common"
678 File "${AFS_WININSTALL_DIR}\Service.exe"
679 nsExec::Exec "net stop TransarcAFSDaemon"
680 nsExec::Exec "net stop AfsRdr"
681 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
682 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
684 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
685 StrCmp $R2 "" +1 skipremove
686 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
687 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
688 nsExec::Exec '$INSTDIR\Common\Service.exe u AfsRdr'
690 nsExec::Exec '$INSTDIR\Common\Service.exe AfsRdr "System32\DRIVERS\afsrdr.sys" "AFS Redirector"'
693 Delete "$INSTDIR\Common\service.exe"
696 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
697 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$SYSDIR\afslogon.dll"
698 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$SYSDIR\afslogon.dll"
699 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
700 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
702 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
703 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
704 ; to also include the service name.
706 ReadINIStr $R0 $1 "Field 7" "State"
707 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R0
708 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
709 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
712 ReadINIStr $R0 $1 "Field 2" "State"
713 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
714 ReadINIStr $R0 $1 "Field 3" "State"
715 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
716 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
717 ReadINIStr $R0 $1 "Field 5" "State"
718 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
719 ReadINIStr $R0 $1 "Field 9" "State"
720 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
721 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
722 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
723 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
724 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
725 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
727 ; Find Lana By Name appears to be causing grief for many people
728 ; I do not have time to track this down so I am simply going to disable it
729 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
731 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
732 strcpy $REG_VALUE "DependOnGroup"
733 strcpy $REG_DATA_1 "PNP_TDI"
734 strcpy $REG_DATA_2 ""
735 strcpy $REG_DATA_3 ""
736 strcpy $REG_DATA_4 ""
737 Call RegWriteMultiStr
738 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
739 strcpy $REG_VALUE "DependOnService"
740 strcpy $REG_DATA_1 "Tcpip"
741 strcpy $REG_DATA_2 "NETBIOS"
742 strcpy $REG_DATA_3 "RpcSs"
744 strcpy $REG_DATA_4 "AfsRdr"
746 strcpy $REG_DATA_4 ""
748 Call RegWriteMultiStr
750 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\AfsRdr"
751 strcpy $REG_VALUE "DependOnService"
752 strcpy $REG_DATA_1 "Tcpip"
753 strcpy $REG_DATA_2 ""
754 strcpy $REG_DATA_3 ""
755 strcpy $REG_DATA_4 ""
756 Call RegWriteMultiStr
759 ; WinLogon Event Notification
760 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
761 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
762 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
763 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logon" "AFS_Logon_Event"
764 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
765 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
767 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" "Asynchronous" 0
768 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" "Impersonate" 0
769 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" "DLLName" "afslogon.dll"
770 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" "Logon" "KFW_Logon_Event"
774 WriteUninstaller "$INSTDIR\Uninstall.exe"
775 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayIcon" "$INSTDIR\Uninstall.exe,0"
776 Call CreateDesktopIni
782 ; MS Loopback adapter
783 Section "!MS Loopback Adapter" secLoopback
785 Call afs.InstallMSLoopback
790 ;------------------------
792 Section /o "AFS Server" secServer
794 SetShellVarContext all
796 ; Check for bad previous installation (if we are doing a new install)
797 Call IsAnyAFSInstalled
799 StrCmp $R0 "0" +1 skipCheck
803 ; Stop any running services or we can't replace the files
804 ; Stop the running processes
806 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
807 nsExec::Exec '$R0 afscreds.exe'
808 Exec "afscreds.exe -z"
809 ; in case we are upgrading an old version that does not support -z
811 nsExec::Exec '$R0 afscreds.exe'
813 ;nsExec::Exec '$R0 krbcc32s.exe'
818 nsExec::Exec "net stop TransarcAFSDaemon"
819 nsExec::Exec "net stop TransarcAFSServer"
821 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
822 CreateDirectory "$INSTDIR\Server\usr\afs\local"
823 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
825 SetOutPath "$INSTDIR\Server\usr\afs\bin"
826 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
827 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
828 File "${AFS_SERVER_BUILDDIR}\asetkey.exe"
829 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
830 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
831 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
832 File "${AFS_ETC_BUILDDIR}\butc.exe"
833 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
834 File "${AFS_ETC_BUILDDIR}\fms.exe"
835 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
836 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
837 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
838 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
839 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
840 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
841 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
842 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
844 ;AFS Server common files
845 SetOutPath "$INSTDIR\Common"
846 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
847 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
848 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
849 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
850 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
852 SetOutPath "$INSTDIR\Common"
856 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
858 ;Store install folder
859 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
861 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
862 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
863 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
864 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
865 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
866 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
867 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
868 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
869 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
870 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
871 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
872 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
873 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
874 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
875 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
876 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
877 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
879 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
880 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
882 ; Delete the DEBUG string
883 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
884 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
886 ; Install the service
887 SetOutPath "$INSTDIR\Common"
888 File "${AFS_WININSTALL_DIR}\Service.exe"
890 File "${AFS_WININSTALL_DIR}\Service.pdb"
893 ; Check if the service exists--if it does, this is an upgrade/re-install
894 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
895 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
897 ; If an uninstall was done, but we kept the config files, also skip
898 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
900 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
901 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
905 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
906 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
907 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
908 Delete "$INSTDIR\Common\service.exe"
910 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
911 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
914 WriteUninstaller "$INSTDIR\Uninstall.exe"
915 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayIcon" "$INSTDIR\Uninstall.exe,0"
920 ;----------------------------
921 ; OpenAFS Control Center
922 Section /o "AFS Control Center" secControl
924 SetShellVarContext all
926 SetOutPath "$INSTDIR\Control Center"
927 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
928 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
929 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
932 ;AFS Server common files
933 Call AFSCommon.Install
935 SetOutPath "$INSTDIR\Common"
937 ;Store install folder
938 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
939 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
940 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
941 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
942 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
943 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
944 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
945 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
946 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
948 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
949 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
951 ; Delete the DEBUG string
952 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
953 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
956 ;Write start menu entries
957 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
958 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
959 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
961 WriteUninstaller "$INSTDIR\Uninstall.exe"
962 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayIcon" "$INSTDIR\Uninstall.exe,0"
967 ;----------------------------
968 ; OpenAFS Supplemental Documentation
969 Section /o "Supplemental Documentation" secDocs
970 SetShellVarContext all
972 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
973 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
974 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
975 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
976 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
977 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
978 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
979 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
983 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
984 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
985 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
986 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
990 SetOutPath "$INSTDIR\Documentation\html"
991 File "..\..\doc\install\Documentation\de_DE\html\*"
992 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
993 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
994 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
995 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
999 SetOutPath "$INSTDIR\Documentation\html"
1000 File "..\..\doc\install\Documentation\es_ES\html\*"
1001 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1002 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
1003 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1004 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
1008 SetOutPath "$INSTDIR\Documentation\html"
1009 File "..\..\doc\install\Documentation\ja_JP\html\*"
1010 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1011 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
1012 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1013 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
1017 SetOutPath "$INSTDIR\Documentation\html"
1018 File "..\..\doc\install\Documentation\ko_KR\html\*"
1019 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1020 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1021 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1022 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1026 SetOutPath "$INSTDIR\Documentation\html"
1027 File "..\..\doc\install\Documentation\pt_BR\html\*"
1028 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1029 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1030 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1031 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1035 SetOutPath "$INSTDIR\Documentation\html"
1036 File "..\..\doc\install\Documentation\zh_CN\html\*"
1037 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1038 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1039 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1040 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1044 SetOutPath "$INSTDIR\Documentation\html"
1045 File "..\..\doc\install\Documentation\zh_TW\html\*"
1046 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1047 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1048 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1049 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1054 ;Store install folder
1055 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1056 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1057 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1058 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1059 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1060 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1061 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1062 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1063 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1065 WriteUninstaller "$INSTDIR\Uninstall.exe"
1066 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayIcon" "$INSTDIR\Uninstall.exe,0"
1067 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1068 Call AFSCommon.Install
1072 Section /o "Software Development Kit (SDK)" secSDK
1074 SetOutPath "$INSTDIR\SDK\lib"
1075 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1077 SetOutPath "$INSTDIR\SDK\Include"
1078 File /r "${AFS_BUILD_INCDIR}\*.*"
1081 SetOutPath "$INSTDIR\SDK\Sample"
1082 File "..\..\afsd\sample\token.c"
1084 ;Store install folder
1085 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1086 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1087 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1088 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1089 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1090 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1091 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1092 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1093 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1095 WriteUninstaller "$INSTDIR\Uninstall.exe"
1096 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayIcon" "$INSTDIR\Uninstall.exe,0"
1098 SetOutPath "$SMPROGRAMS\OpenAFS"
1099 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1101 Call AFSCommon.Install
1105 Section /o "Debug symbols" secDebug
1106 SectionGetFlags ${secClient} $R0
1107 IntOp $R0 $R0 & ${SF_SELECTED}
1108 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1110 ; Do client components
1111 SetOutPath "$INSTDIR\Client\Program"
1112 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1113 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1114 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1115 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1116 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1117 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1118 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1119 File "${AFS_CLIENT_BUILDDIR}\afsdacl.pdb"
1120 File "${AFS_CLIENT_BUILDDIR}\cmdebug.pdb"
1121 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1122 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1123 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1124 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1125 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1126 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1127 File "${AFS_DESTDIR}\bin\pts.pdb"
1128 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1129 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1130 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1131 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1132 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1133 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1134 File "${AFS_DESTDIR}\etc\backup.pdb"
1135 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1137 SetOutPath "$SYSDIR"
1138 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1141 SectionGetFlags ${secServer} $R0
1142 IntOp $R0 $R0 & ${SF_SELECTED}
1143 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1145 ; Do server components
1146 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1147 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1148 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1149 File "${AFS_SERVER_BUILDDIR}\asetkey.pdb"
1150 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1151 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1152 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1153 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1154 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1155 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1156 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1157 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1158 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1159 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1160 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1161 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1162 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1163 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1165 ; Do server common components
1166 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1167 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1168 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1169 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1170 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1172 SetOutPath "$SYSDIR"
1173 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1175 ; Do control center components
1177 SectionGetFlags ${secControl} $R0
1178 IntOp $R0 $R0 & ${SF_SELECTED}
1179 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1181 SetOutPath "$INSTDIR\Control Center"
1182 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1183 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1184 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1187 SetOutPath "$INSTDIR\Common"
1189 File "${SYSTEMDIR}\msvcr80d.pdb"
1190 File "${SYSTEMDIR}\msvcp80d.pdb"
1191 File "${SYSTEMDIR}\mfc80d.pdb"
1194 File "${SYSTEMDIR}\msvcr71d.pdb"
1195 File "${SYSTEMDIR}\msvcp71d.pdb"
1196 File "${SYSTEMDIR}\mfc71d.pdb"
1199 File "${SYSTEMDIR}\msvcr70d.pdb"
1200 File "${SYSTEMDIR}\msvcp70d.pdb"
1201 File "${SYSTEMDIR}\mfc70d.pdb"
1203 File "${SYSTEMDIR}\mfc42d.pdb"
1204 File "${SYSTEMDIR}\msvcp60d.pdb"
1205 File "${SYSTEMDIR}\msvcrtd.pdb"
1211 SetOutPath "$INSTDIR\Common"
1212 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1213 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1214 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1215 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1216 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1217 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1218 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1219 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1220 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1221 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1222 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1223 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1224 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1225 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1230 ;Display the Finish header
1231 ;Insert this macro after the sections if you are not using a finish page
1232 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1234 ;--------------------------------
1235 ;Installer Functions
1239 !insertmacro MUI_LANGDLL_DISPLAY
1241 ; Set the default install options
1246 StrCmp $R0 "true" contInstall
1248 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1253 ; Set Install Type text
1254 InstTypeSetText 0 "AFS Client"
1255 InstTypeSetText 1 "AFS Administrator"
1256 InstTypeSetText 2 "AFS Server"
1257 InstTypeSetText 3 "AFS Developer Tools"
1259 ; Set sections in each install type
1260 SectionSetInstTypes 0 15 ; AFS Client
1261 SectionSetInstTypes 1 15 ; Loopback adapter
1262 SectionSetInstTypes 2 4 ; AFS Server
1263 SectionSetInstTypes 3 6 ; AFS Control Center
1264 SectionSetInstTypes 4 14 ; Documentation
1265 SectionSetInstTypes 5 8 ; SDK
1267 SectionSetInstTypes 6 8 ; Debug symbols
1269 SectionSetInstTypes 6 15 ; Debug symbols
1272 ; Check that RPC functions are installed (I believe any one of these can be present for
1274 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1275 StrCmp $R0 "rpcrt4.dll" contInstall2
1276 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1277 StrCmp $R0 "rpcrt4.dll" contInstall2
1278 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1279 StrCmp $R0 "rpcrt4.dll" contInstall2
1280 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_http"
1281 StrCmp $R0 "rpcrt4.dll" contInstall2
1283 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."
1288 ; If the Loopback is already installed, we mark the option OFF and Read Only
1289 ; so the user can not select it.
1290 Call afs.isLoopbackInstalled
1291 IntCmp $R1 0 SkipLoop
1292 SectionGetFlags ${secLoopback} $0
1293 IntOp $0 $0 & ${SECTION_OFF}
1294 IntOp $0 $0 | ${SF_RO}
1295 SectionSetFlags ${secLoopback} $0
1296 ; And disable the loopback in the types
1297 SectionSetInstTypes 1 0 ; Loopback adapter
1300 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1302 SectionGetFlags ${secDebug} $0
1303 IntOp $0 $0 & ${SECTION_OFF}
1304 SectionSetFlags ${secDebug} $0
1306 SectionGetFlags ${secDebug} $0
1307 IntOp $0 $0 | ${SF_SELECTED}
1308 SectionSetFlags ${secDebug} $0
1310 ; Our logic should be like this.
1311 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1312 ; 2) If existing modules are installed, we keep them selected
1313 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1315 Call IsAnyAFSInstalled
1317 StrCmp $R0 "0" DefaultOptions
1319 Call ShouldClientInstall
1322 ; Check if it was an IBM/Transarc version
1323 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1324 StrCmp $R0 "IBM AFS Client" DoIBM
1325 StrCmp $R0 "Transarc AFS Client" DoIBM
1328 StrCmp $R2 "0" NoClient
1329 StrCmp $R2 "1" ReinstallClient
1330 StrCmp $R2 "2" UpgradeClient
1331 StrCmp $R2 "3" DowngradeClient
1334 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1335 StrCmp $R0 "3" +1 NotIBM
1340 SectionGetFlags ${secClient} $0
1341 IntOp $0 $0 | ${SF_SELECTED}
1342 SectionSetFlags ${secClient} $0
1343 ;# !insertmacro SelectSection ${secClient}
1346 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1347 SectionGetFlags ${secClient} $0
1348 IntOp $0 $0 & ${SECTION_OFF}
1349 SectionSetFlags ${secClient} $0
1352 SectionGetFlags ${secClient} $0
1353 IntOp $0 $0 | ${SF_SELECTED}
1354 SectionSetFlags ${secClient} $0
1355 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1358 SectionGetFlags ${secClient} $0
1359 IntOp $0 $0 | ${SF_SELECTED}
1360 SectionSetFlags ${secClient} $0
1361 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1364 SectionGetFlags ${secClient} $0
1365 IntOp $0 $0 | ${SF_SELECTED}
1366 SectionSetFlags ${secClient} $0
1367 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1373 Call ShouldServerInstall
1375 StrCmp $R2 "0" NoServer
1376 StrCmp $R2 "1" ReinstallServer
1377 StrCmp $R2 "2" UpgradeServer
1378 StrCmp $R2 "3" DowngradeServer
1380 SectionGetFlags ${secServer} $0
1381 IntOp $0 $0 | ${SF_SELECTED}
1382 SectionSetFlags ${secServer} $0
1383 ;# !insertmacro UnselectSection ${secServer}
1387 SectionGetFlags ${secServer} $0
1388 IntOp $0 $0 | ${SF_SELECTED}
1389 SectionSetFlags ${secServer} $0
1390 SectionSetText ${secServer} $(UPGRADE_SERVER)
1394 SectionGetFlags ${secServer} $0
1395 IntOp $0 $0 | ${SF_SELECTED}
1396 SectionSetFlags ${secServer} $0
1397 SectionSetText ${secServer} $(REINSTALL_SERVER)
1401 SectionGetFlags ${secServer} $0
1402 IntOp $0 $0 | ${SF_SELECTED}
1403 SectionSetFlags ${secServer} $0
1404 SectionSetText ${secServer} $(REINSTALL_SERVER)
1408 SectionGetFlags ${secServer} $0
1409 IntOp $0 $0 & ${SECTION_OFF}
1410 SectionSetFlags ${secServer} $0
1411 ;# !insertmacro UnselectSection ${secServer}
1415 ; Check control center
1416 Call IsControlInstalled
1418 StrCmp $R2 "0" NoControl
1420 SectionGetFlags ${secControl} $0
1421 IntOp $0 $0 | ${SF_SELECTED}
1422 SectionSetFlags ${secControl} $0
1426 SectionGetFlags ${secControl} $0
1427 IntOp $0 $0 & ${SECTION_OFF}
1428 SectionSetFlags ${secControl} $0
1429 ;# !insertmacro UnselectSection ${secControl}
1432 ; Check Documentation
1433 Call IsDocumentationInstalled
1435 StrCmp $R2 "0" NoDocs
1436 SectionGetFlags ${secDocs} $0
1437 IntOp $0 $0 | ${SF_SELECTED}
1438 SectionSetFlags ${secDocs} $0
1442 SectionGetFlags ${secDocs} $0
1443 IntOp $0 $0 & ${SECTION_OFF}
1444 SectionSetFlags ${secDocs} $0
1447 ; To check the SDK, we simply look to see if the files exist. If they do,
1448 ; the SDK is installed. If not, we don't need to push it on the user.
1449 ; If they are there, we want to make sure they match the installed version.
1451 IfFileExists "$INSTDIR\SDK\Include\main.h" +1 NoSDK
1452 SectionGetFlags ${secSDK} $0
1453 IntOp $0 $0 | ${SF_SELECTED}
1454 SectionSetFlags ${secSDK} $0
1458 SectionGetFlags ${secSDK} $0
1459 IntOp $0 $0 & ${SECTION_OFF}
1460 SectionSetFlags ${secSDK} $0
1465 SectionGetFlags ${secClient} $0
1466 IntOp $0 $0 | ${SF_SELECTED}
1467 SectionSetFlags ${secClient} $0
1469 ; Server NOT selected
1470 SectionGetFlags ${secServer} $0
1471 IntOp $0 $0 & ${SECTION_OFF}
1472 SectionSetFlags ${secServer} $0
1474 ; Control Center NOT selected
1475 SectionGetFlags ${secControl} $0
1476 IntOp $0 $0 & ${SECTION_OFF}
1477 SectionSetFlags ${secControl} $0
1478 ;# !insertmacro UnselectSection ${secControl}
1480 ; Documentation NOT selected
1481 SectionGetFlags ${secDocs} $0
1482 IntOp $0 $0 & ${SECTION_OFF}
1483 SectionSetFlags ${secDocs} $0
1484 ;# !insertmacro UnselectSection ${secDocs}
1487 SectionGetFlags ${secSDK} $0
1488 IntOp $0 $0 & ${SECTION_OFF}
1489 SectionSetFlags ${secSDK} $0
1490 ;# !insertmacro UnselectSection ${secSDK}
1499 ; See if we can set a default installation path...
1500 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1501 StrCmp $R0 "" TryServer
1505 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1506 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1507 StrCmp $R0 "1" +1 SkipParent
1508 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1509 StrCmp $R0 "3" +1 SkipParent
1510 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1511 StrCmp $R0 "5000" UpParent
1512 StrCmp $R0 "5100" UpParent
1513 StrCmp $R0 "5200" UpParent
1514 StrCmp $R0 "5201" UpParent
1515 StrCmp $R0 "5299" UpParent
1527 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1528 StrCmp $R0 "" TryControl
1536 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1544 File /oname=$0 CellServPage.ini
1546 File /oname=$1 AFSCell.ini
1548 File /oname=$2 AFSCreds.ini
1549 ;File /oname=$1 ConfigURL.ini
1554 ;--------------------------------
1555 ; These are our cleanup functions
1556 Function .onInstFailed
1561 Function .onInstSuccess
1567 ;--------------------------------
1570 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1571 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1572 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1573 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1574 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1575 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1576 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1577 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1578 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1580 ;--------------------------------
1581 ;Uninstaller Section
1584 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1585 IfSilent StartRemove ; New in v2.0b4
1586 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1591 SetShellVarContext all
1592 ; Stop the running processes
1594 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1595 nsExec::Exec '$R0 afscreds.exe'
1596 Exec "afscreds.exe -z"
1597 ; in case we are upgrading an old version that does not support -z
1599 nsExec::Exec '$R0 afscreds.exe'
1601 nsExec::Exec '$R0 krbcc32s.exe'
1604 ; Delete the AFS service
1606 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1607 nsExec::Exec "net stop TransarcAFSDaemon"
1608 nsExec::Exec "net stop TransarcAFSServer"
1609 nsExec::Exec '$R0 u TransarcAFSDaemon'
1610 ; After we stop the service, but before we delete it, we have to remove the volume data
1611 ; This is because the storage locations are in the registry under the service key.
1612 ; Call un.RemoveAFSVolumes
1613 nsExec::Exec '$R0 u TransarcAFSServer'
1616 Call un.RemoveProvider
1618 Push "$INSTDIR\Client\Program"
1619 Call un.RemoveFromPath
1620 Push "$INSTDIR\Common"
1621 Call un.RemoveFromPath
1623 Push "$INSTDIR\kfw\bin"
1624 Call un.RemoveFromPath
1627 ; Delete documentation
1628 Delete "$INSTDIR\Documentation\README.TXT"
1629 Delete "$INSTDIR\Documentation\html\*"
1630 Delete "$INSTDIR\Documentation\html\index_files\*"
1631 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1632 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1633 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1634 Delete "$INSTDIR\Documentation\html\ReleaseNotes\logo_files\*"
1635 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1637 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1638 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1639 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1640 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1641 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1642 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1643 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1644 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1645 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1646 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1647 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1648 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1649 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1650 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1651 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1653 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1654 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1655 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1656 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1657 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1658 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1659 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1660 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1661 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1662 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1663 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1664 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1665 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1666 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1667 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1670 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.dll"
1671 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.pdb"
1672 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.dll"
1673 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.pdb"
1674 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.dll"
1675 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.pdb"
1678 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1679 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1680 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1681 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1682 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1683 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1686 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1687 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1688 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1689 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1690 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1691 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1693 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1694 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1695 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1696 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1697 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1698 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1704 Delete /REBOOTOK "$INSTDIR\bin\mfc80.dll"
1705 Delete /REBOOTOK "$INSTDIR\bin\msvcr80.dll"
1706 Delete /REBOOTOK "$INSTDIR\bin\msvcp80.dll"
1707 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHS.DLL"
1708 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHT.DLL"
1709 Delete /REBOOTOK "$INSTDIR\bin\MFC80DEU.DLL"
1710 Delete /REBOOTOK "$INSTDIR\bin\MFC80ENU.DLL"
1711 Delete /REBOOTOK "$INSTDIR\bin\MFC80ESP.DLL"
1712 Delete /REBOOTOK "$INSTDIR\bin\MFC80FRA.DLL"
1713 Delete /REBOOTOK "$INSTDIR\bin\MFC80ITA.DLL"
1714 Delete /REBOOTOK "$INSTDIR\bin\MFC80JPN.DLL"
1715 Delete /REBOOTOK "$INSTDIR\bin\MFC80KOR.DLL"
1718 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1719 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1720 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1721 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1722 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1723 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1724 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1725 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1726 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1727 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1728 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1729 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1732 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1733 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1734 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1735 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1736 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1737 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1738 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1739 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1740 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1741 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1742 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1743 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1745 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1746 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1747 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1754 ; IfFileExists "$INSTDIR\Client\CellServDB" CellExists SkipDelAsk
1756 MessageBox MB_YESNO "Would you like to keep your configuration information?" IDYES SkipDel
1757 Delete "$INSTDIR\Client\CellServDB"
1759 ; Only remove krb5.ini if KfW was installed
1761 Delete "$WINDIR\krb5.ini"
1763 Delete "$INSTDIR\Client\afsdns.ini"
1766 File /oname=$R0 "${AFS_WININSTALL_DIR}\AdminGroup.exe"
1767 nsExec::Exec '$R0 -remove'
1770 Delete "$WINDIR\afsd_init.log"
1771 Delete "$INSTDIR\Uninstall.exe"
1774 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1775 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1776 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1777 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1778 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1779 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1780 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1781 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1782 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1783 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1784 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1785 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1786 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1787 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1788 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1789 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1790 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1792 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1793 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1794 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1795 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1796 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1797 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1798 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1799 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1800 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1801 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1802 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1803 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1804 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1805 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1806 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1807 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1808 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1810 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1811 ; do not delete the server configuration files
1812 ; or we will lose the volumes and authentication
1814 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1815 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1816 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1817 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1819 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1820 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1821 Delete /REBOOTOK "$SYSDIR\afslogon.dll"
1822 Delete /REBOOTOK "$SYSDIR\afscpcc.exe"
1824 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1825 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1826 Delete /REBOOTOK "$SYSDIR\afslogon.pdb"
1827 Delete /REBOOTOK "$SYSDIR\afscpcc.pdb"
1829 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1830 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1831 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1832 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1833 RMDIr /r "$INSTDIR\Documentation\html"
1835 RMDir "$INSTDIR\Documentation"
1836 ; Delete DOC short cut
1837 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1839 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1841 Delete /REBOOTOK "$INSTDIR\SDK\Include\*"
1842 Delete /REBOOTOK "$INSTDIR\SDK\Include\afs\*"
1843 Delete /REBOOTOK "$INSTDIR\SDK\Include\rx\*"
1844 Delete /REBOOTOK "$INSTDIR\SDK\Sample\*"
1845 Delete /REBOOTOK "$INSTDIR\SDK\*"
1847 RMDir "$INSTDIR\SDK\Sample"
1848 RMDir "$INSTDIR\SDK\Include\afs"
1849 RMDir "$INSTDIR\SDK\Include\rx"
1850 RMDir "$INSTDIR\SDK\Include"
1851 RMDir "$INSTDIR\SDK"
1853 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1854 Delete /REBOOTOK "$INSTDIR\Client\*"
1856 RMDir "$INSTDIR\Client\Program"
1857 RMDir "$INSTDIR\Client"
1861 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.dll"
1862 Delete /REBOOTOK "$INSTDIR\bin\msvcr80d.pdb"
1863 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.dll"
1864 Delete /REBOOTOK "$INSTDIR\bin\msvcp80d.pdb"
1865 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.dll"
1866 Delete /REBOOTOK "$INSTDIR\bin\mfc80d.pdb"
1869 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1870 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1871 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1872 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1873 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1874 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1877 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1878 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1879 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1880 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1881 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1882 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1884 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1885 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1886 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1887 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1888 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1889 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1895 Delete /REBOOTOK "$INSTDIR\bin\mfc80.dll"
1896 Delete /REBOOTOK "$INSTDIR\bin\msvcr80.dll"
1897 Delete /REBOOTOK "$INSTDIR\bin\msvcp80.dll"
1898 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHS.DLL"
1899 Delete /REBOOTOK "$INSTDIR\bin\MFC80CHT.DLL"
1900 Delete /REBOOTOK "$INSTDIR\bin\MFC80DEU.DLL"
1901 Delete /REBOOTOK "$INSTDIR\bin\MFC80ENU.DLL"
1902 Delete /REBOOTOK "$INSTDIR\bin\MFC80ESP.DLL"
1903 Delete /REBOOTOK "$INSTDIR\bin\MFC80FRA.DLL"
1904 Delete /REBOOTOK "$INSTDIR\bin\MFC80ITA.DLL"
1905 Delete /REBOOTOK "$INSTDIR\bin\MFC80JPN.DLL"
1906 Delete /REBOOTOK "$INSTDIR\bin\MFC80KOR.DLL"
1909 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1910 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1911 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1912 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1913 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1914 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1915 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1916 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1917 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1918 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1919 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1920 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1923 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1924 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1925 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1926 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1927 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1928 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1929 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1930 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1931 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1932 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1933 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1934 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1936 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1937 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1938 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1944 Delete /REBOOTOK "$INSTDIR\Common\*"
1945 RMDir "$INSTDIR\Common"
1949 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1950 RMDIR /r "$INSTDIR\kfw\bin"
1951 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1952 RMDIR /r "$INSTDIR\kfw\doc"
1953 RMDIR /r "$INSTDIR\kfw"
1956 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1958 ; Remove control center
1959 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1960 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1961 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1962 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1963 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1964 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1965 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1966 RMDir "$INSTDIR\Control Center"
1968 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1969 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1970 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1971 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1972 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1973 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1974 RMDir /r "$SMPROGRAMS\OpenAFS"
1975 Delete "$SMSTARTUP\AFS Credentials.lnk"
1977 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1979 Delete "$R0\AFSCache"
1980 Delete "C:\AFSCache"
1982 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1983 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1984 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1985 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1986 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1987 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1989 ; WinLogon Event Notification
1990 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1992 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1993 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1994 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1995 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1996 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1997 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1998 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1999 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
2000 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
2001 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
2002 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
2004 ; Support for apps that wrote submount data directly to afsdsbmt.ini
2005 DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini"
2011 ;--------------------------------
2012 ;Uninstaller Functions
2016 ;Get language from registry
2017 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
2021 Function un.onUninstSuccess
2024 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
2029 ;------------------------------
2030 ; Get the CellServDB file from the Internet
2032 Function afs.GetCellServDB
2034 ;Check if we should download CellServDB
2035 ReadINIStr $R0 $0 "Field 4" "State"
2036 StrCmp $R0 "1" DoDownload
2038 ;Do nothing if we're keeping the existing file
2039 ReadINIStr $R0 $0 "Field 2" "State"
2042 ReadINIStr $R0 $0 "Field 6" "State"
2043 StrCmp $R0 "1" CheckOther
2045 ReadINIStr $R0 $0 "Field 3" "State"
2046 StrCmp $R0 "1" UsePackaged
2048 ; If none of these, grab file from other location
2052 ReadINIStr $R0 $0 "Field 5" "State"
2053 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
2054 Pop $R0 ;Get the return value
2055 StrCmp $R0 "success" +2
2056 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
2060 SetOutPath "$INSTDIR\Client"
2065 ReadINIStr $R0 $0 "Field 7" "State"
2067 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
2073 Function AddProvider
2076 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2078 StrCpy $R0 "TransarcAFSDaemon"
2082 StrCmp $R0 "" +1 DoOther
2083 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2084 StrCpy $R0 "$R1,TransarcAFSDaemon"
2085 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
2087 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2089 StrCpy $R0 "TransarcAFSDaemon"
2093 StrCmp $R0 "" +1 End
2094 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2095 StrCpy $R0 "$R1,TransarcAFSDaemon"
2096 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2102 Function un.RemoveProvider
2104 StrCpy $R0 "TransarcAFSDaemon"
2106 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2107 Call un.RemoveFromProvider
2108 StrCpy $R0 "TransarcAFSDaemon"
2110 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2111 Call un.RemoveFromProvider
2115 Function un.RemoveFromProvider
2124 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2125 StrCpy $5 $1 1 -1 # copy last char
2126 StrCmp $5 "," +2 # if last char != ,
2127 StrCpy $1 "$1," # append ,
2130 Call un.StrStr ; Find `$0,` in $1
2131 Pop $2 ; pos of our dir
2132 StrCmp $2 "" unRemoveFromPath_done
2133 ; else, it is in path
2138 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2139 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2142 StrCpy $5 $3 1 -1 # copy last char
2143 StrCmp $5 "," 0 +2 # if last char == ,
2144 StrCpy $3 $3 -1 # remove last char
2146 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2148 unRemoveFromPath_done:
2158 Function CheckPathForAFS
2163 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2172 IfFileExists "$3\afsd_service.exe" Error
2173 StrCpy $1 $0 32768 1
2175 IntCmp $2 0 Done Done loop
2178 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."
2179 Abort "Unable to install OpenAFS"
2187 Function AddToUniquePath
2191 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2195 StrCmp $R0 "" +1 Done
2201 ;-------------------------------
2202 ;Do the page to get the CellServDB
2204 Function AFSPageGetCellServDB
2205 ; Skip this page if we are not installing the client
2206 SectionGetFlags ${secClient} $R0
2207 IntOp $R0 $R0 & ${SF_SELECTED}
2210 ; Set the install options here
2213 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2214 WriteINIStr $0 "Field 3" "State" "1"
2215 WriteINISTR $0 "Field 4" "State" "0"
2216 WriteINIStr $0 "Field 6" "State" "0"
2218 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2219 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2220 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2221 Delete "$WINDIR\afsdcell.ini"
2222 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2223 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2224 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2225 WriteINIStr $0 "Field 2" "State" "1"
2226 WriteINIStr $0 "Field 3" "State" "0"
2230 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2231 InstallOptions::dialog $0
2233 StrCmp $R1 "cancel" exit
2234 StrCmp $R1 "back" done
2235 StrCmp $R1 "success" done
2239 ; Check that if a file is set, a valid filename is entered...
2240 ReadINIStr $R0 $0 "Field 6" "State"
2241 StrCmp $R0 "1" CheckFileName
2243 ;Check if a URL is specified, one *IS* specified
2244 ReadINIStr $R0 $0 "Field 4" "State"
2245 StrCmp $R0 "1" CheckURL Skip
2248 ReadINIStr $R0 $0 "Field 5" "State"
2249 StrCmp $R0 "" +1 Skip
2250 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2251 WriteINIStr $0 "Field 4" "State" "0"
2255 ReadINIStr $R0 $0 "Field 7" "State"
2256 IfFileExists $R0 Skip
2258 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2259 WriteINIStr $0 "Field 6" "State" "0"
2267 Function AFSPageGetCellName
2269 ; Skip this page if we are not installing the client
2270 SectionGetFlags ${secClient} $R0
2271 IntOp $R0 $R0 & ${SF_SELECTED}
2275 ; We want to read in the existing parameters and make them the defaults
2278 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel"
2280 WriteINIStr $1 "Field 3" "State" $R1
2282 WriteINIStr $1 "Field 3" "State" "1"
2285 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS"
2287 WriteINIStr $1 "Field 9" "State" $R1
2289 WriteINIStr $1 "Field 9" "State" "1"
2291 ; Use integrated logon
2292 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "LogonOptions"
2294 WriteINIStr $1 "Field 7" "State" $R1
2296 WriteINIStr $1 "Field 7" "State" "0"
2298 ; If this is a server install, we do NOT want to recommend the Freelance client
2299 ; And we do not need to ask for the cell name.
2300 SectionGetFlags ${secServer} $R1
2301 IntOp $R1 $R1 & ${SF_SELECTED}
2302 StrCmp $R1 "1" +1 NotServer
2303 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2304 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient"
2306 WriteINIStr $1 "Field 5" "State" $R1
2308 WriteINIStr $1 "Field 5" "State" "0"
2309 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2310 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2313 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2314 ReadRegDWORD $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient"
2316 WriteINIStr $1 "Field 5" "State" $R1
2318 WriteINIStr $1 "Field 5" "State" "1"
2319 WriteINIStr $1 "Field 1" "Flags" ""
2320 WriteINIStr $1 "Field 2" "Flags" ""
2322 ; Get the current cell name, if any
2323 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2325 WriteINIStr $1 "Field 2" "State" $R1
2326 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2327 InstallOptions::dialog $1
2329 StrCmp $R1 "cancel" exit
2330 StrCmp $R1 "back" done
2331 StrCmp $R1 "success" done
2334 ReadINIStr $R0 $1 "Field 2" "State"
2335 StrCmp $R0 "" +1 good
2337 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2343 ;---------------------------------------------------------
2344 ;Do the page to get the afscreds.exe startup configuration
2346 Function AFSPageConfigAFSCreds
2347 ; Skip this page if we are not installing the client
2348 SectionGetFlags ${secClient} $R0
2349 IntOp $R0 $R0 & ${SF_SELECTED}
2352 ; Set the install options here
2354 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2355 InstallOptions::dialog $2
2357 StrCmp $R1 "cancel" exit
2358 StrCmp $R1 "back" done
2359 StrCmp $R1 "success" done
2367 ; Common install routines for each module
2368 Function AFSCommon.Install
2370 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2371 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2373 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2375 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2377 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2382 ;-------------------
2383 ; Get the currently installed version and place it on the stack
2385 Function GetInstalledVersion
2390 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2391 StrCmp $R0 "" NotTransarc done
2395 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2404 ; Functions to get each component of the version number
2405 Function GetInstalledVersionMajor
2410 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2411 StrCmp $R0 "" NotTransarc done
2415 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2424 Function GetInstalledVersionMinor
2429 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2430 StrCmp $R0 "" NotTransarc done
2434 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2443 Function GetInstalledVersionPatch
2448 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2449 StrCmp $R0 "" NotTransarc done
2453 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2464 ;-------------------------------
2465 ; Check if the client should be checked for default install
2466 Function ShouldClientInstall
2468 StrCpy $R2 "AFS Client"
2469 Call GetInstalledVersion
2472 StrCmp $R0 "" NotInstalled
2473 ; Now we see if it's an older or newer version
2475 Call GetInstalledVersionMajor
2477 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2479 Call GetInstalledVersionMinor
2481 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2483 Call GetInstalledVersionPatch
2485 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2508 ;-------------------------------
2509 ; Check how the server options should be set
2510 Function ShouldServerInstall
2512 StrCpy $R2 "AFS Server"
2513 Call GetInstalledVersion
2516 StrCmp $R0 "" NotInstalled
2517 ; Now we see if it's an older or newer version
2519 Call GetInstalledVersionMajor
2521 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2523 Call GetInstalledVersionMinor
2525 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2527 Call GetInstalledVersionPatch
2529 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2554 ; See if AFS Server is installed
2555 ; Returns: "1" if it is, 0 if it is not (on the stack)
2556 Function IsServerInstalled
2558 StrCpy $R2 "AFS Server"
2559 Call GetInstalledVersion
2562 StrCmp $R0 "" NotInstalled
2575 ; See if AFS Client is installed
2576 ; Returns: "1" if it is, 0 if it is not (on the stack)
2577 Function IsClientInstalled
2579 StrCpy $R2 "AFS Client"
2580 Call GetInstalledVersion
2583 StrCmp $R0 "" NotInstalled
2597 ; See if AFS Documentation is installed
2598 ; Returns: "1" if it is, 0 if it is not (on the stack)
2599 Function IsDocumentationInstalled
2601 StrCpy $R2 "AFS Supplemental Documentation"
2602 Call GetInstalledVersion
2605 StrCmp $R0 "" NotInstalled
2618 ; See if Control Center is installed
2619 ; Returns: "1" if it is, 0 if it is not (on the stack)
2620 Function IsControlInstalled
2622 StrCpy $R2 "AFS Control Center"
2623 Call GetInstalledVersion
2626 StrCmp $R0 "" NotInstalled
2639 !ifdef USE_GETPARAMETERS
2642 ; output, top of stack (replaces, with e.g. whatever)
2643 ; modifies no other variables.
2645 Function GetParameters
2649 StrCpy $R0 $CMDLINE 1
2653 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2655 StrCpy $R0 $CMDLINE 1 $R2
2656 StrCmp $R0 $R1 loop2
2662 StrCpy $R0 $CMDLINE 1 $R2
2663 StrCmp $R0 " " loop2
2664 StrCpy $R0 $CMDLINE "" $R2
2672 ;Check to see if any AFS component is installed
2673 ;Returns: Value on stack: "1" if it is, "0" if it is not
2674 Function IsAnyAFSInstalled
2679 Call IsClientInstalled
2681 Call IsServerInstalled
2683 Call IsControlInstalled
2685 Call IsDocumentationInstalled
2687 ; Now we must see if ANY of the $Rn values are 1
2688 StrCmp $R0 "1" SomethingInstalled
2689 StrCmp $R1 "1" SomethingInstalled
2690 StrCmp $R2 "1" SomethingInstalled
2691 StrCmp $R3 "1" SomethingInstalled
2705 ;Install English Language Files
2706 Function AFSLangFiles
2708 SetOutPath "$INSTDIR\Common"
2709 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2710 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2711 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2712 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2713 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2714 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2715 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2716 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2717 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2718 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2719 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2720 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2721 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2722 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2724 SetOutPath "$INSTDIR\Common"
2728 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr80d.dll" "$INSTDIR\Common\msvcr80d.dll" "$INSTDIR"
2729 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp80d.dll" "$INSTDIR\Common\msvcp80d.dll" "$INSTDIR"
2730 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc80d.dll" "$INSTDIR\Common\mfc80d.dll" "$INSTDIR"
2731 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHS.DLL" "$INSTDIR\Common\MFC80CHS.DLL" "$INSTDIR"
2732 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHT.DLL" "$INSTDIR\Common\MFC80CHT.DLL" "$INSTDIR"
2733 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80DEU.DLL" "$INSTDIR\Common\MFC80DEU.DLL" "$INSTDIR"
2734 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ENU.DLL" "$INSTDIR\Common\MFC80ENU.DLL" "$INSTDIR"
2735 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ESP.DLL" "$INSTDIR\Common\MFC80ESP.DLL" "$INSTDIR"
2736 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80FRA.DLL" "$INSTDIR\Common\MFC80FRA.DLL" "$INSTDIR"
2737 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ITA.DLL" "$INSTDIR\Common\MFC80ITA.DLL" "$INSTDIR"
2738 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80JPN.DLL" "$INSTDIR\Common\MFC80JPN.DLL" "$INSTDIR"
2739 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80KOR.DLL" "$INSTDIR\Common\MFC80KOR.DLL" "$INSTDIR"
2742 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2743 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2744 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2745 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2746 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2747 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2748 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2749 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2750 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2751 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2752 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2753 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2756 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2757 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2758 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2759 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2760 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2761 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2762 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2763 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2764 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2765 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2766 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2767 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2769 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2770 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2771 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2777 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc80.dll" "$INSTDIR\Common\mfc80.dll" "$INSTDIR"
2778 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr80.dll" "$INSTDIR\Common\msvcr80.dll" "$INSTDIR"
2779 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp80.dll" "$INSTDIR\Common\msvcp80.dll" "$INSTDIR"
2780 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHS.DLL" "$INSTDIR\Common\MFC80CHS.DLL" "$INSTDIR"
2781 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80CHT.DLL" "$INSTDIR\Common\MFC80CHT.DLL" "$INSTDIR"
2782 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80DEU.DLL" "$INSTDIR\Common\MFC80DEU.DLL" "$INSTDIR"
2783 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ENU.DLL" "$INSTDIR\Common\MFC80ENU.DLL" "$INSTDIR"
2784 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ESP.DLL" "$INSTDIR\Common\MFC80ESP.DLL" "$INSTDIR"
2785 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80FRA.DLL" "$INSTDIR\Common\MFC80FRA.DLL" "$INSTDIR"
2786 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80ITA.DLL" "$INSTDIR\Common\MFC80ITA.DLL" "$INSTDIR"
2787 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80JPN.DLL" "$INSTDIR\Common\MFC80JPN.DLL" "$INSTDIR"
2788 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC80KOR.DLL" "$INSTDIR\Common\MFC80KOR.DLL" "$INSTDIR"
2791 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2792 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2793 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2794 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2795 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2796 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2797 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2798 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2799 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2800 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2801 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2802 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2805 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2806 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2807 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2808 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2809 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2810 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2811 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2812 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2813 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2814 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2815 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2816 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2818 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2819 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2820 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2826 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2827 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2828 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2829 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2830 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2831 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2832 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2833 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2837 SetOutPath "$INSTDIR\Documentation"
2838 File "..\..\doc\install\Documentation\en_US\README.TXT"
2839 SetOutPath "$INSTDIR\Documentation\html"
2840 File "..\..\doc\install\Documentation\en_US\html\*"
2841 SetOutPath "$INSTDIR\Documentation\html\index_files"
2842 File "..\..\doc\install\Documentation\en_US\html\index_files\*"
2843 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
2844 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
2845 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
2846 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
2847 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
2848 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\logo_files\*"
2850 SetOutPath "$INSTDIR\Client\Program"
2851 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2852 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2854 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2855 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2858 File "..\..\doc\help\en_US\afs-light.CNT"
2859 File "..\..\doc\help\en_US\afs-light.hlp"
2860 File "..\..\doc\help\en_US\afs-nt.CNT"
2861 File "..\..\doc\help\en_US\afs-nt.HLP"
2863 SetOutPath "$INSTDIR\Common"
2864 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2865 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2866 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2867 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2868 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2869 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2870 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2871 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2872 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2873 File "..\..\doc\help\en_US\afs-cc.CNT"
2874 File "..\..\doc\help\en_US\afs-cc.hlp"
2875 File "..\..\doc\help\en_US\taafscfg.CNT"
2876 File "..\..\doc\help\en_US\taafscfg.hlp"
2877 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2878 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2879 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2880 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2883 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2884 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2885 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2886 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2887 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2888 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2889 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2890 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2896 SetOutPath "$INSTDIR\Documentation"
2897 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2898 SetOutPath "$INSTDIR\Documentation\html"
2899 File "..\..\doc\install\Documentation\de_DE\html\*"
2900 SetOutPath "$INSTDIR\Documentation\html\index_files"
2901 ;File "..\..\doc\install\Documentation\de_DE\html\index_files\*"
2902 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
2903 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
2904 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
2905 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
2906 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
2907 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\logo_files\*"
2909 SetOutPath "$INSTDIR\Client\Program"
2910 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2911 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2913 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2914 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2917 File "..\..\doc\help\de_DE\afs-light.CNT"
2918 File "..\..\doc\help\de_DE\afs-light.hlp"
2919 File "..\..\doc\help\de_DE\afs-nt.CNT"
2920 File "..\..\doc\help\de_DE\afs-nt.HLP"
2922 SetOutPath "$INSTDIR\Common"
2923 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2924 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2925 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2926 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2927 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2928 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2929 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2930 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2931 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2932 File "..\..\doc\help\de_DE\afs-cc.CNT"
2933 File "..\..\doc\help\de_DE\afs-cc.hlp"
2934 File "..\..\doc\help\de_DE\taafscfg.CNT"
2935 File "..\..\doc\help\de_DE\taafscfg.hlp"
2936 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2937 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2938 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2939 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2942 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2943 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2944 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2945 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2946 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2947 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2948 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2949 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2955 SetOutPath "$INSTDIR\Documentation"
2956 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2957 SetOutPath "$INSTDIR\Documentation\html"
2958 ;File "..\..\doc\install\Documentation\es_ES\html\*"
2959 SetOutPath "$INSTDIR\Documentation\html\index_html"
2960 ;File "..\..\doc\install\Documentation\es_ES\html\index_files\*"
2961 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
2962 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
2963 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
2964 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
2965 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
2966 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\logo_files\*"
2968 SetOutPath "$INSTDIR\Client\Program"
2969 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2970 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2972 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2973 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2976 File "..\..\doc\help\es_ES\afs-light.CNT"
2977 File "..\..\doc\help\es_ES\afs-light.hlp"
2978 File "..\..\doc\help\es_ES\afs-nt.CNT"
2979 File "..\..\doc\help\es_ES\afs-nt.HLP"
2981 SetOutPath "$INSTDIR\Common"
2982 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2983 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2984 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2985 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2986 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2987 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2988 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2989 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2990 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2991 File "..\..\doc\help\es_ES\afs-cc.CNT"
2992 File "..\..\doc\help\es_ES\afs-cc.hlp"
2993 File "..\..\doc\help\es_ES\taafscfg.CNT"
2994 File "..\..\doc\help\es_ES\taafscfg.hlp"
2995 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2996 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2997 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2998 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
3001 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
3002 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
3003 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
3004 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
3005 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
3006 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
3007 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
3008 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
3014 SetOutPath "$INSTDIR\Documentation"
3015 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
3016 SetOutPath "$INSTDIR\Documentation\html"
3017 File "..\..\doc\install\Documentation\ja_JP\html\*"
3018 SetOutPath "$INSTDIR\Documentation\html\index_files"
3019 ;File "..\..\doc\install\Documentation\ja_JP\html\index_files\*"
3020 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
3021 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
3022 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
3023 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
3024 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
3025 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\logo_files\*"
3027 SetOutPath "$INSTDIR\Client\Program"
3028 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
3029 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
3031 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
3032 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
3035 File "..\..\doc\help\ja_JP\afs-light.CNT"
3036 File "..\..\doc\help\ja_JP\afs-light.hlp"
3037 File "..\..\doc\help\ja_JP\afs-nt.CNT"
3038 File "..\..\doc\help\ja_JP\afs-nt.HLP"
3040 SetOutPath "$INSTDIR\Common"
3041 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
3042 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
3043 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
3044 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
3045 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
3046 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
3047 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
3048 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
3049 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
3050 File "..\..\doc\help\ja_JP\afs-cc.CNT"
3051 File "..\..\doc\help\ja_JP\afs-cc.hlp"
3052 File "..\..\doc\help\ja_JP\taafscfg.CNT"
3053 File "..\..\doc\help\ja_JP\taafscfg.hlp"
3054 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
3055 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
3056 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
3057 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
3060 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
3061 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
3062 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
3063 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
3064 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
3065 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
3066 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
3067 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
3073 SetOutPath "$INSTDIR\Documentation"
3074 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
3075 SetOutPath "$INSTDIR\Documentation\html"
3076 File "..\..\doc\install\Documentation\ko_KR\html\*"
3077 SetOutPath "$INSTDIR\Documentation\html\index_files"
3078 ;File "..\..\doc\install\Documentation\ko_KR\html\index_files\*"
3079 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
3080 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
3081 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
3082 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
3083 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
3084 ;File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\logo_files\*"
3086 SetOutPath "$INSTDIR\Client\Program"
3087 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
3088 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
3090 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
3091 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
3094 File "..\..\doc\help\ko_KR\afs-light.CNT"
3095 File "..\..\doc\help\ko_KR\afs-light.hlp"
3096 File "..\..\doc\help\ko_KR\afs-nt.CNT"
3097 File "..\..\doc\help\ko_KR\afs-nt.HLP"
3099 SetOutPath "$INSTDIR\Common"
3100 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
3101 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
3102 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
3103 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
3104 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
3105 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
3106 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
3107 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
3108 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
3109 File "..\..\doc\help\ko_KR\afs-cc.CNT"
3110 File "..\..\doc\help\ko_KR\afs-cc.hlp"
3111 File "..\..\doc\help\ko_KR\taafscfg.CNT"
3112 File "..\..\doc\help\ko_KR\taafscfg.hlp"
3113 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
3114 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
3115 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
3116 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
3119 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
3120 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
3121 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
3122 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
3123 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
3124 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
3125 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
3126 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
3133 SetOutPath "$INSTDIR\Documentation"
3134 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
3135 SetOutPath "$INSTDIR\Documentation\html"
3136 File "..\..\doc\install\Documentation\pt_BR\html\*"
3137 SetOutPath "$INSTDIR\Documentation\html\index_files"
3138 ;File "..\..\doc\install\Documentation\pt_BR\html\index_files\*"
3139 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
3140 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
3141 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
3142 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
3143 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
3144 ;File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\logo_files\*"
3146 SetOutPath "$INSTDIR\Client\Program"
3147 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
3148 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
3150 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
3151 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
3154 File "..\..\doc\help\pt_BR\afs-light.CNT"
3155 File "..\..\doc\help\pt_BR\afs-light.hlp"
3156 File "..\..\doc\help\pt_BR\afs-nt.CNT"
3157 File "..\..\doc\help\pt_BR\afs-nt.HLP"
3159 SetOutPath "$INSTDIR\Common"
3160 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
3161 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
3162 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
3163 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
3164 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
3165 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
3166 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
3167 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
3168 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
3169 File "..\..\doc\help\pt_BR\afs-cc.CNT"
3170 File "..\..\doc\help\pt_BR\afs-cc.hlp"
3171 File "..\..\doc\help\pt_BR\taafscfg.CNT"
3172 File "..\..\doc\help\pt_BR\taafscfg.hlp"
3173 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
3174 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
3175 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
3176 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
3179 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
3180 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
3181 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
3182 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
3183 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
3184 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
3185 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
3186 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
3192 SetOutPath "$INSTDIR\Documentation"
3193 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
3194 SetOutPath "$INSTDIR\Documentation\html"
3195 File "..\..\doc\install\Documentation\zh_CN\html\*"
3196 SetOutPath "$INSTDIR\Documentation\html\index_files"
3197 ;File "..\..\doc\install\Documentation\zh_CN\html\index_files\*"
3198 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
3199 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
3200 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
3201 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
3202 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
3203 ;File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\logo_files\*"
3205 SetOutPath "$INSTDIR\Client\Program"
3206 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
3207 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
3209 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
3210 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
3213 File "..\..\doc\help\zh_CN\afs-light.CNT"
3214 File "..\..\doc\help\zh_CN\afs-light.hlp"
3215 File "..\..\doc\help\zh_CN\afs-nt.CNT"
3216 File "..\..\doc\help\zh_CN\afs-nt.HLP"
3218 SetOutPath "$INSTDIR\Common"
3219 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
3220 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
3221 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
3222 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
3223 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
3224 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
3225 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
3226 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
3227 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
3228 File "..\..\doc\help\zh_CN\afs-cc.CNT"
3229 File "..\..\doc\help\zh_CN\afs-cc.hlp"
3230 File "..\..\doc\help\zh_CN\taafscfg.CNT"
3231 File "..\..\doc\help\zh_CN\taafscfg.hlp"
3232 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
3233 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
3234 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
3235 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3238 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3239 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3240 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3241 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3242 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3243 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3244 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3245 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3251 SetOutPath "$INSTDIR\Documentation"
3252 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3253 SetOutPath "$INSTDIR\Documentation\html"
3254 File "..\..\doc\install\Documentation\zh_TW\html\*"
3255 SetOutPath "$INSTDIR\Documentation\html\index_files"
3256 ;File "..\..\doc\install\Documentation\zh_TW\html\index_files\*"
3257 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
3258 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
3259 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
3260 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
3261 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes\logo_files"
3262 ;File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\logo_files\*"
3264 SetOutPath "$INSTDIR\Client\Program"
3265 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3266 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3268 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3269 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3272 File "..\..\doc\help\zh_TW\afs-light.CNT"
3273 File "..\..\doc\help\zh_TW\afs-light.hlp"
3274 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3275 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3277 SetOutPath "$INSTDIR\Common"
3278 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3279 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3280 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3281 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3282 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3283 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3284 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3285 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3286 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3287 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3288 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3289 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3290 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3291 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3292 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3293 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3294 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3297 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3298 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3299 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3300 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3301 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3302 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3303 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3304 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3310 ; Write start menu shortcut
3311 SetOutPath "$SMPROGRAMS\OpenAFS"
3312 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
3319 ;====================================================
3320 ; AddToPath - Adds the given dir to the search path.
3321 ; Input - head of the stack
3322 ; Note - Win9x systems requires reboot
3323 ;====================================================
3330 # don't add if the path doesn't exist
3331 IfFileExists $0 "" AddToPath_done
3338 StrCmp $2 "" "" AddToPath_done
3343 StrCmp $2 "" "" AddToPath_done
3344 GetFullPathName /SHORT $3 $0
3349 StrCmp $2 "" "" AddToPath_done
3354 StrCmp $2 "" "" AddToPath_done
3358 StrCmp $1 1 AddToPath_NT
3361 FileOpen $1 "$1\autoexec.bat" a
3364 IntCmp $2 26 0 +2 +2 # DOS EOF
3365 FileSeek $1 -1 END # write over EOF
3366 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3372 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3373 StrCpy $2 $1 1 -1 # copy last char
3374 StrCmp $2 ";" 0 +2 # if last char == ;
3375 StrCpy $1 $1 -1 # remove last char
3376 StrCmp $1 "" AddToPath_NTdoIt
3379 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3380 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3389 ;====================================================
3390 ; RemoveFromPath - Remove a given dir from the path
3391 ; Input: head of the stack
3392 ;====================================================
3393 Function un.RemoveFromPath
3402 IntFmt $6 "%c" 26 # DOS EOF
3406 StrCmp $1 1 unRemoveFromPath_NT
3409 FileOpen $1 "$1\autoexec.bat" r
3412 GetFullPathName /SHORT $0 $0
3413 StrCpy $0 "SET PATH=%PATH%;$0"
3414 Goto unRemoveFromPath_dosLoop
3416 unRemoveFromPath_dosLoop:
3418 StrCpy $5 $3 1 -1 # read last char
3419 StrCmp $5 $6 0 +2 # if DOS EOF
3420 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3421 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3422 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3423 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3424 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3426 Goto unRemoveFromPath_dosLoop
3427 unRemoveFromPath_dosLoopRemoveLine:
3429 Goto unRemoveFromPath_dosLoop
3431 unRemoveFromPath_dosLoopEnd:
3435 Delete "$1\autoexec.bat"
3436 CopyFiles /SILENT $4 "$1\autoexec.bat"
3438 Goto unRemoveFromPath_done
3440 unRemoveFromPath_NT:
3441 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3442 StrCpy $5 $1 1 -1 # copy last char
3443 StrCmp $5 ";" +2 # if last char != ;
3444 StrCpy $1 "$1;" # append ;
3447 Call un.StrStr ; Find `$0;` in $1
3448 Pop $2 ; pos of our dir
3449 StrCmp $2 "" unRemoveFromPath_done
3450 ; else, it is in path
3455 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3456 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3459 StrCpy $5 $3 1 -1 # copy last char
3460 StrCmp $5 ";" 0 +2 # if last char == ;
3461 StrCpy $3 $3 -1 # remove last char
3463 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3464 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3466 unRemoveFromPath_done:
3476 ;====================================================
3477 ; IsNT - Returns 1 if the current system is NT, 0
3479 ; Output: head of the stack
3480 ;====================================================
3484 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3485 StrCmp $0 "" 0 IsNT_yes
3497 !insertmacro IsNT ""
3498 !insertmacro IsNT "un."
3500 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3502 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3503 ;====================================================
3504 ; StrStr - Finds a given string in another given string.
3505 ; Returns -1 if not found and the pos if found.
3506 ; Input: head of the stack - string to find
3507 ; second in the stack - string to find in
3508 ; Output: head of the stack
3509 ;====================================================
3511 Function ${un}StrStr
3512 Exch $R1 ; st=haystack,old$R1, $R1=needle
3513 Exch ; st=old$R1,haystack
3514 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3526 StrCpy $R5 $R2 $R3 $R4
3532 StrCpy $R1 $R2 "" $R4
3540 !insertmacro StrStr ""
3541 !insertmacro StrStr "un."
3544 !ifdef ADDSHAREDDLLUSED
3547 ; Increments a shared DLLs reference count.
3548 ; Use by passing one item on the stack (the full path of the DLL).
3551 ; Push $SYSDIR\myDll.dll
3555 Function AddSharedDLL
3558 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3560 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3566 ; un.RemoveSharedDLL
3568 ; Decrements a shared DLLs reference count, and removes if necessary.
3569 ; Use by passing one item on the stack (the full path of the DLL).
3570 ; Note: for use in the main installer (not the uninstaller), rename the
3571 ; function to RemoveSharedDLL.
3574 ; Push $SYSDIR\myDll.dll
3575 ; Call un.RemoveSharedDLL
3578 Function un.RemoveSharedDLL
3581 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3582 StrCmp $R0 "" remove
3584 IntCmp $R0 0 rk rk uk
3586 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3589 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3592 Delete /REBOOTOK $R1
3600 ; Installs the loopback adpater and disables it on Windows 2000
3601 Function afs.InstallMSLoopback
3603 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3604 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3608 Function afs.isLoopbackInstalled
3610 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3611 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3612 Delete "$TEMP\afsloopback.dll"
3618 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3619 ; Updated by Joost Verburg
3621 ; Returns on top of stack
3623 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3625 ; '' (Unknown Windows Version)
3628 ; Call GetWindowsVersion
3630 ; ; at this point $R0 is "NT 4.0" or whatnot
3632 Function GetWindowsVersion
3639 ReadRegStr $R0 HKLM \
3640 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3642 IfErrors 0 lbl_winnt
3645 ReadRegStr $R0 HKLM \
3646 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3649 StrCmp $R1 '4' 0 lbl_error
3653 StrCmp $R1 '4.0' lbl_win32_95
3654 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3672 StrCmp $R1 '3' lbl_winnt_x
3673 StrCmp $R1 '4' lbl_winnt_x
3677 StrCmp $R1 '5.0' lbl_winnt_2000
3678 StrCmp $R1 '5.1' lbl_winnt_XP
3679 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3682 StrCpy $R0 "NT $R0" 6
3707 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3708 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3709 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3710 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3714 ; Pop $R0 ; at this point $R0 is "true" or "false"
3716 Function IsUserAdmin
3725 UserInfo::GetAccountType
3728 StrCmp $R2 "Admin" 0 Continue
3729 ; Observation: I get here when running Win98SE. (Lilla)
3730 ; The functions UserInfo.dll looks for are there on Win98 too,
3731 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3732 ; on Win98, returns admin anyway. (per kichik)
3733 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3738 ; You should still check for an empty string because the functions
3739 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3742 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3746 ; comment/message below is by UserInfo.nsi author:
3747 ; This one means you don't need to care about admin or
3748 ; not admin because Windows 9x doesn't either
3749 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3753 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3761 ; input, top of stack (e.g. C:\Program Files\Poop)
3762 ; output, top of stack (replaces, with e.g. C:\Program Files)
3763 ; modifies no other variables.
3766 ; Push "C:\Program Files\Directory\Whatever"
3769 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3783 IntCmp $R1 $R2 get 0 get
3784 StrCpy $R3 $R0 1 -$R1
3799 ;--------------------------------
3800 ;Handle what must and what must not be installed
3801 Function .onSelChange
3802 ; If they install the server, they MUST install the client
3803 SectionGetFlags ${secServer} $R0
3804 IntOp $R0 $R0 & ${SF_SELECTED}
3805 StrCmp $R0 "1" MakeClientSelected
3807 ; If they install the control center, we'll give them the client.
3808 ; It may not be required, but it's a bit more useful
3809 SectionGetFlags ${secControl} $R0
3810 IntOp $R0 $R0 & ${SF_SELECTED}
3811 StrCmp $R0 "1" MakeClientSelected
3815 SectionGetFlags ${secClient} $R0
3816 IntOp $R0 $R0 | ${SF_SELECTED}
3817 SectionSetFlags ${secClient} $R0
3822 Function RegWriteMultiStr
3823 !define HKEY_CLASSES_ROOT 0x80000000
3824 !define HKEY_CURRENT_USER 0x80000001
3825 !define HKEY_LOCAL_MACHINE 0x80000002
3826 !define HKEY_USERS 0x80000003
3827 !define HKEY_PERFORMANCE_DATA 0x80000004
3828 !define HKEY_PERFORMANCE_TEXT 0x80000050
3829 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3830 !define HKEY_CURRENT_CONFIG 0x80000005
3831 !define HKEY_DYN_DATA 0x80000006
3833 !define KEY_QUERY_VALUE 0x0001
3834 !define KEY_SET_VALUE 0x0002
3835 !define KEY_CREATE_SUB_KEY 0x0004
3836 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3837 !define KEY_NOTIFY 0x0010
3838 !define KEY_CREATE_LINK 0x0020
3842 !define REG_EXPAND_SZ 2
3843 !define REG_BINARY 3
3845 !define REG_DWORD_LITTLE_ENDIAN 4
3846 !define REG_DWORD_BIG_ENDIAN 5
3848 !define REG_MULTI_SZ 7
3850 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3851 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3852 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3859 SetPluginUnload alwaysoff
3860 ; Create a buffer for the multi_sz value
3861 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3862 ; Open/create the registry key
3863 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3866 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3870 ; Fill in the buffer with our strings
3871 StrCpy $2 $1 ; Initial position
3873 StrLen $9 '$REG_DATA_1' ; Length of first string
3874 IntOp $9 $9 + 1 ; Plus null
3875 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3876 IntOp $2 $2 + $9 ; Advance to the next position
3878 StrCmp '$REG_DATA_2' "" terminate
3879 StrLen $9 '$REG_DATA_2' ; Length of second string
3880 IntOp $9 $9 + 1 ; Plus null
3881 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3882 IntOp $2 $2 + $9 ; Advance to the next position
3884 StrCmp '$REG_DATA_3' "" terminate
3885 StrLen $9 '$REG_DATA_3' ; Length of third string
3886 IntOp $9 $9 + 1 ; Plus null
3887 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3888 IntOp $2 $2 + $9 ; Advance to the next position
3890 StrCmp '$REG_DATA_4' "" terminate
3891 StrLen $9 '$REG_DATA_4' ; Length of third string
3892 IntOp $9 $9 + 1 ; Plus null
3893 System::Call "*$2(&t$9 '$REG_DATA_4')" ; Place the string
3894 IntOp $2 $2 + $9 ; Advance to the next position
3897 System::Call "*$2(&t1 '')" ; Place the terminating null
3898 IntOp $2 $2 + 1 ; Advance to the next position
3900 ; Create/write the value
3901 IntOp $2 $2 - $1 ; Total length
3902 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3905 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3909 ; Close the registry key
3910 System::Call "${RegCloseKey}(r0)"
3914 SetPluginUnload manual
3923 Function CreateDesktopIni
3924 WriteIniStr "$INSTDIR\Desktop.ini" ".ShellClassInfo" "IconFile" "client\program\afsd_service.exe"
3925 WriteIniStr "$INSTDIR\Desktop.ini" ".ShellClassInfo" "IconIndex" "0"
3926 SetFileAttributes "$INSTDIR\Desktop.ini" HIDDEN|SYSTEM
3927 SetFileAttributes "$INSTDIR\" READONLY