1 ;OpenAFS Install Script for NSIS
2 ; This version compiles with NSIS v2.0
4 ; Originally written by Rob Murawski <rsm4@ieee.org>
6 ;Redistribution and use in source and binary forms, with or without modification, are permitted
7 ;provided that the following conditions are met:
9 ; Redistributions of source code must retain the above copyright notice, this list of conditions
10 ; and the following disclaimer. Redistributions in binary form must reproduce the above copyright
11 ; notice, this list of conditions and the following disclaimer in the documentation and/or other
12 ; materials provided with the distribution. The name of the author may not be used to endorse or
13 ; promote products derived from this software without specific prior written permission.
15 ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17 ; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
18 ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21 ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
22 ; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 ; Some code originally based on:
26 ; NSIS Modern User Interface version 1.63
27 ; MultiLanguage Example Script
28 ; Written by Joost Verburg
30 ; Read in the environment information
31 !include ${INCLUDEDIR}\nsi-includes.nsi
35 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
37 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
38 !endif ; End DEBUG/!DEBUG
41 Name "OpenAFS ${AFS_VERSION}"
43 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
44 !endif ; End DEBUG/!DEBUG
46 VIProductVersion "${AFS_VERSION}.00"
47 VIAddVersionKey "ProductName" "OpenAFS"
48 VIAddVersionKey "CompanyName" "OpenAFS.org"
49 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
50 VIAddVersionKey "FileVersion" ${AFS_VERSION}
51 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
52 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
54 VIAddVersionKey "PrivateBuild" "Checked/Debug"
61 ;--------------------------------
64 !define REPLACEDLL_NOREGISTER
68 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
70 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
74 !define MUI_ICON "..\..\client_config\afs_config.ico"
75 !define MUI_UNICON "..\..\client_config\afs_config.ico"
76 !define AFS_COMPANY_NAME "OpenAFS"
77 !define AFS_PRODUCT_NAME "OpenAFS"
78 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
81 ;Folder selection page
82 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
84 ;Remember install folder
85 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
87 ;Remember the installer language
88 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
89 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
90 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
93 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
94 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
95 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
96 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
97 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
98 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
99 !define SYSTEMDIR "$%SystemRoot%\System32"
101 ;--------------------------------
102 ;Modern UI Configuration
104 ;!define MUI_LICENSEPAGE
105 !define MUI_CUSTOMPAGECOMMANDS
106 !define MUI_WELCOMEPAGE
107 !define MUI_COMPONENTSPAGE
108 !define MUI_COMPONENTSPAGE_SMALLDESC
109 !define MUI_DIRECTORYPAGE
111 !define MUI_ABORTWARNING
112 !define MUI_FINISHPAGE
114 !define MUI_UNINSTALLER
115 !define MUI_UNCONFIRMPAGE
118 !insertmacro MUI_PAGE_WELCOME
119 !insertmacro MUI_PAGE_COMPONENTS
120 !insertmacro MUI_PAGE_DIRECTORY
121 Page custom AFSPageGetCellServDB
122 Page custom AFSPageGetCellName
123 Page custom AFSPageConfigAFSCreds
124 !insertmacro MUI_PAGE_INSTFILES
125 !insertmacro MUI_PAGE_FINISH
127 ;LicenseData "Licenses.rtf"
128 ;--------------------------------
131 !insertmacro MUI_LANGUAGE "English"
132 ;!insertmacro MUI_LANGUAGE "French"
133 !insertmacro MUI_LANGUAGE "German"
134 !insertmacro MUI_LANGUAGE "Spanish"
135 !insertmacro MUI_LANGUAGE "SimpChinese"
136 !insertmacro MUI_LANGUAGE "TradChinese"
137 !insertmacro MUI_LANGUAGE "Japanese"
138 !insertmacro MUI_LANGUAGE "Korean"
139 ;!insertmacro MUI_LANGUAGE "Italian"
140 ;!insertmacro MUI_LANGUAGE "Dutch"
141 ;!insertmacro MUI_LANGUAGE "Danish"
142 ;!insertmacro MUI_LANGUAGE "Greek"
143 ;!insertmacro MUI_LANGUAGE "Russian"
144 !insertmacro MUI_LANGUAGE "PortugueseBR"
145 ;!insertmacro MUI_LANGUAGE "Polish"
146 ;!insertmacro MUI_LANGUAGE "Ukrainian"
147 ;!insertmacro MUI_LANGUAGE "Czech"
148 ;!insertmacro MUI_LANGUAGE "Slovak"
149 ;!insertmacro MUI_LANGUAGE "Croatian"
150 ;!insertmacro MUI_LANGUAGE "Bulgarian"
151 ;!insertmacro MUI_LANGUAGE "Hungarian"
152 ;!insertmacro MUI_LANGUAGE "Thai"
153 ;!insertmacro MUI_LANGUAGE "Romanian"
154 ;!insertmacro MUI_LANGUAGE "Macedonian"
155 ;!insertmacro MUI_LANGUAGE "Turkish"
157 ;--------------------------------
161 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
162 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
163 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
164 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
165 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
166 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
167 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
168 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
169 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
170 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
171 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
172 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
173 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
174 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
175 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
176 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
177 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
178 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
179 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
180 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
181 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
182 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
183 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
184 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
185 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
187 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
188 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
189 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
190 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
191 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
192 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
193 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
194 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
196 LangString DESC_secLoopback ${LANG_ENGLISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
197 LangString DESC_secLoopback ${LANG_GERMAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
198 LangString DESC_secLoopback ${LANG_SPANISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
199 LangString DESC_secLoopback ${LANG_SIMPCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
200 LangString DESC_secLoopback ${LANG_TRADCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
201 LangString DESC_secLoopback ${LANG_JAPANESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
202 LangString DESC_secLoopback ${LANG_KOREAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
203 LangString DESC_secLoopback ${LANG_PORTUGUESEBR} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
205 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
206 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
207 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
208 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
209 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
210 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
211 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
212 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
214 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
215 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
216 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
217 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
218 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
219 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
220 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
221 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
223 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
224 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
225 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
226 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
227 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
228 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
229 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
230 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
232 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
233 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
234 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
235 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
236 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
237 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
238 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
239 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
241 LangString DESC_secDEBUG ${LANG_ENGLISH} "Debug symbols: Used for debugging problems with OpenAFS."
242 LangString DESC_secDEBUG ${LANG_GERMAN} "Debug symbols: Used for debugging problems with OpenAFS."
243 LangString DESC_secDEBUG ${LANG_SPANISH} "Debug symbols: Used for debugging problems with OpenAFS."
244 LangString DESC_secDEBUG ${LANG_SIMPCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
245 LangString DESC_secDEBUG ${LANG_TRADCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
246 LangString DESC_secDEBUG ${LANG_JAPANESE} "Debug symbols: Used for debugging problems with OpenAFS."
247 LangString DESC_secDEBUG ${LANG_KOREAN} "Debug symbols: Used for debugging problems with OpenAFS."
248 LangString DESC_secDEBUG ${LANG_PORTUGUESEBR} "Debug symbols: Used for debugging problems with OpenAFS."
250 ; Popup error messages
251 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
252 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
253 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
254 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
255 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
256 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
257 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
258 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
260 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
261 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
262 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
263 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
264 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
265 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
266 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
267 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
269 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
270 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
271 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
272 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
273 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
274 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
275 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
276 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
279 ; Upgrade/re-install strings
280 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
281 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
282 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
283 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
284 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
285 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
286 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
287 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
289 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
290 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
291 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
292 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
293 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
294 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
295 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
296 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
298 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
299 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
300 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
301 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
302 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
303 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
304 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
305 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
307 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
308 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
309 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
310 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
311 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
312 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
313 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
314 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
316 ReserveFile "CellServPage.ini"
317 ReserveFile "AFSCell.ini"
318 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
319 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
320 ;--------------------------------
322 ; Macro - Upgrade DLL File
323 ; Written by Joost Verburg
324 ; ------------------------
327 ; LOCALFILE - Location of the new DLL file (on the compiler system)
328 ; DESTFILE - Location of the DLL file that should be upgraded
329 ; (on the user's system)
330 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
331 ; when the system has to be rebooted.
332 ; For Win9x support, this should be on the same volume as the
334 ; The Windows temp directory could be located on any volume,
335 ; so you cannot use this directory.
337 ; Define REPLACEDLL_NOREGISTER if you want to upgrade a DLL that does not
338 ; have to be registered.
340 ; Note: If you want to support Win9x, you can only use
341 ; short filenames (8.3).
344 ; !insertmacro ReplaceDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
347 !macro ReplaceDLL LOCALFILE DESTFILE TEMPBASEDIR
356 ;------------------------
357 ;Unique number for labels
359 !define REPLACEDLL_UNIQUE ${__LINE__}
361 ;------------------------
362 ;Copy the parameters used on run-time to a variable
363 ;This allows the usage of variables as paramter
365 StrCpy $R4 "${DESTFILE}"
366 StrCpy $R5 "${TEMPBASEDIR}"
368 ;------------------------
369 ;Check file and version
371 IfFileExists $R4 0 replacedll.copy_${REPLACEDLL_UNIQUE}
374 ; GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
375 ; GetDLLVersion $R4 $R2 $R3
376 ;IfErrors replacedll.upgrade_${REPLACEDLL_UNIQUE}
378 ;IntCmpU $R0 $R2 0 replacedll.done_${REPLACEDLL_UNIQUE} \
379 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
380 ;IntCmpU $R1 $R3 replacedll.done_${REPLACEDLL_UNIQUE} \
381 ; replacedll.done_${REPLACEDLL_UNIQUE} \
382 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
384 ;------------------------
385 ;Let's replace the DLL!
389 ;replacedll.upgrade_${REPLACEDLL_UNIQUE}:
390 !ifndef REPLACEDLL_NOREGISTER
395 ;------------------------
396 ;Try to copy the DLL directly
400 Call :replacedll.file_${REPLACEDLL_UNIQUE}
401 IfErrors 0 replacedll.noreboot_${REPLACEDLL_UNIQUE}
403 ;------------------------
404 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
406 GetTempFileName $R0 $R5
407 Call :replacedll.file_${REPLACEDLL_UNIQUE}
408 Rename /REBOOTOK $R0 $R4
410 ;------------------------
411 ;Register the DLL on reboot
413 !ifndef REPLACEDLL_NOREGISTER
414 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
415 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
418 Goto replacedll.done_${REPLACEDLL_UNIQUE}
420 ;------------------------
421 ;DLL does not exist - just extract
423 replacedll.copy_${REPLACEDLL_UNIQUE}:
425 Call :replacedll.file_${REPLACEDLL_UNIQUE}
427 ;------------------------
430 replacedll.noreboot_${REPLACEDLL_UNIQUE}:
431 !ifndef REPLACEDLL_NOREGISTER
435 ;------------------------
438 replacedll.done_${REPLACEDLL_UNIQUE}:
447 ;------------------------
450 Goto replacedll.end_${REPLACEDLL_UNIQUE}
452 ;------------------------
453 ;Called to extract the DLL
455 replacedll.file_${REPLACEDLL_UNIQUE}:
456 File /oname=$R0 "${LOCALFILE}"
459 replacedll.end_${REPLACEDLL_UNIQUE}:
461 ;------------------------
464 SetOverwrite lastused
466 !undef REPLACEDLL_UNIQUE
471 ;--------------------------------
474 ;Things that need to be extracted on first (keep these lines before any File command!)
475 ;Only useful for BZIP2 compression
476 !insertmacro MUI_RESERVEFILE_LANGDLL
478 ;--------------------------------
488 ;--------------------------------
491 ;----------------------
493 Section "AFS Client" secClient
495 SetShellVarContext all
497 ; Check for bad previous installation (if we are doing a new install)
498 Call IsAnyAFSInstalled
500 StrCmp $R0 "0" +1 skipCheck
504 ; Stop any running services or we can't replace the files
505 ; Stop the running processes
507 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
508 nsExec::Exec '$R0 afsd_service.exe'
509 nsExec::Exec '$R0 afscreds.exe'
510 Exec "afscreds.exe -z"
511 ; in case we are upgrading an old version that does not support -z
512 nsExec::Exec '$R0 afscreds.exe'
514 ;nsExec::Exec '$R0 krbcc32s.exe'
517 nsExec::Exec "net stop TransarcAFSDaemon"
518 nsExec::Exec "net stop TransarcAFSServer"
520 ; Do client components
521 SetOutPath "$INSTDIR\Client\Program"
522 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
523 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
524 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
525 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
526 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
527 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
528 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
529 File "${AFS_CLIENT_BUILDDIR}\aklog.exe"
530 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
531 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
532 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
533 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
534 File "${AFS_DESTDIR}\bin\kpasswd.exe"
535 File "${AFS_SERVER_BUILDDIR}\pts.exe"
536 File "${AFS_SERVER_BUILDDIR}\bos.exe"
537 File "${AFS_SERVER_BUILDDIR}\kas.exe"
538 File "${AFS_SERVER_BUILDDIR}\vos.exe"
539 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
540 File "${AFS_DESTDIR}\bin\translate_et.exe"
541 File "${AFS_DESTDIR}\etc\rxdebug.exe"
542 File "${AFS_DESTDIR}\etc\backup.exe"
543 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$INSTDIR\Client\Program\afs_cpa.cpl" "$INSTDIR"
546 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$SYSDIR\afslogon.dll" "$INSTDIR"
550 ; Get AFS CellServDB file
551 Call afs.GetCellServDB
554 ; Include Kerberos for Windows files in the installer...
555 SetOutPath "$INSTDIR\kfw\bin\"
556 File "${KFW_SOURCE}\bin\*"
557 SetOutPath "$INSTDIR\kfw\doc"
558 File "${KFW_SOURCE}\doc\*"
561 ;Store install folder
562 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
563 Call AFSCommon.Install
565 ; Write registry entries
566 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
567 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
568 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
569 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
570 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
571 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
572 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa" "$INSTDIR\Client\Program\afs_cpa.cpl"
575 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
576 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
577 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
578 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
579 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
580 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
581 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
582 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
583 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
585 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
586 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
587 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
588 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
589 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
590 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
591 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
593 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
594 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
596 ; Delete the DEBUG string
597 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
598 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
601 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
602 Call GetWindowsVersion
604 StrCmp $R1 "2000" +1 +2
605 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
607 ;Write start menu entries
608 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
609 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
611 ; Create command line options for AFSCreds...
613 ReadINIStr $R1 $2 "Field 3" "State"
616 ReadINIStr $R1 $2 "Field 5" "State"
619 ReadINIStr $R1 $2 "Field 7" "State"
622 ReadINIStr $R1 $2 "Field 9" "State"
625 ReadINIStr $R1 $2 "Field 13" "State"
629 WriteRegStr HKLM "SOFTWARE\OpenAFS\Client" "AfscredsShortcutParams" "$R2"
631 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
633 ReadINIStr $R1 $2 "Field 1" "State"
635 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
637 Push "$INSTDIR\Client\Program"
639 Push "$INSTDIR\Common"
643 ; Add kfw to path too
644 Push "$INSTDIR\kfw\bin"
648 ; Create the AFS service
649 SetOutPath "$INSTDIR\Common"
650 File "${AFS_WININSTALL_DIR}\Service.exe"
651 nsExec::Exec "net stop TransarcAFSDaemon"
652 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
653 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
655 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
656 StrCmp $R2 "" +1 skipremove
657 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
658 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
660 Delete "$INSTDIR\Common\service.exe"
663 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
664 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$SYSDIR\afslogon.dll"
665 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$SYSDIR\afslogon.dll"
666 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
667 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
669 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
670 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
671 ; to also include the service name.
673 ReadINIStr $R0 $1 "Field 7" "State"
674 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R0
675 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
676 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
679 ReadINIStr $R0 $1 "Field 2" "State"
680 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
681 ReadINIStr $R0 $1 "Field 3" "State"
682 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
683 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
684 ReadINIStr $R0 $1 "Field 5" "State"
685 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
686 ReadINIStr $R0 $1 "Field 9" "State"
687 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
688 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
689 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
690 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
691 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
692 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
694 ; Find Lana By Name appears to be causing grief for many people
695 ; I do not have time to track this down so I am simply going to disable it
696 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
698 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
699 strcpy $REG_VALUE "DependOnGroup"
700 strcpy $REG_DATA_1 "PNP_TDI"
701 strcpy $REG_DATA_2 ""
702 strcpy $REG_DATA_3 ""
703 Call RegWriteMultiStr
704 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
705 strcpy $REG_VALUE "DependOnService"
706 strcpy $REG_DATA_1 "Tcpip"
707 strcpy $REG_DATA_2 "NETBIOS"
708 strcpy $REG_DATA_3 "RpcSs"
709 Call RegWriteMultiStr
711 ; WinLogon Event Notification
712 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
713 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
714 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
715 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
716 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
720 WriteUninstaller "$INSTDIR\Uninstall.exe"
726 ; MS Loopback adapter
727 Section "MS Loopback Adapter" secLoopback
729 Call afs.InstallMSLoopback
734 ;------------------------
736 Section "AFS Server" secServer
738 SetShellVarContext all
740 ; Check for bad previous installation (if we are doing a new install)
741 Call IsAnyAFSInstalled
743 StrCmp $R0 "0" +1 skipCheck
747 ; Stop any running services or we can't replace the files
748 ; Stop the running processes
750 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
751 nsExec::Exec '$R0 afscreds.exe'
752 Exec "afscreds.exe -z"
753 ; in case we are upgrading an old version that does not support -z
755 nsExec::Exec '$R0 afscreds.exe'
757 ;nsExec::Exec '$R0 krbcc32s.exe'
762 nsExec::Exec "net stop TransarcAFSDaemon"
763 nsExec::Exec "net stop TransarcAFSServer"
765 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
766 CreateDirectory "$INSTDIR\Server\usr\afs\local"
767 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
769 SetOutPath "$INSTDIR\Server\usr\afs\bin"
770 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
771 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
772 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
773 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
774 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
775 File "${AFS_ETC_BUILDDIR}\butc.exe"
776 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
777 File "${AFS_ETC_BUILDDIR}\fms.exe"
778 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
779 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
780 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
781 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
782 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
783 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
784 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
785 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
787 ;AFS Server common files
788 SetOutPath "$INSTDIR\Common"
789 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
790 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
791 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
792 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
793 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
797 SetOutPath "$INSTDIR\Common"
801 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
803 ;Store install folder
804 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
806 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
807 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
808 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
809 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
810 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
811 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
812 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
813 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
814 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
815 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
816 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
817 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
818 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
819 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
820 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
821 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
822 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
824 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
825 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
827 ; Delete the DEBUG string
828 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
829 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
831 ; Install the service
832 SetOutPath "$INSTDIR\Common"
833 File "${AFS_WININSTALL_DIR}\Service.exe"
835 File "${AFS_WININSTALL_DIR}\Service.pdb"
838 ; Check if the service exists--if it does, this is an upgrade/re-install
839 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
840 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
842 ; If an uninstall was done, but we kept the config files, also skip
843 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
845 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
846 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
850 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
851 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
852 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
853 Delete "$INSTDIR\Common\service.exe"
855 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
856 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
859 WriteUninstaller "$INSTDIR\Uninstall.exe"
864 ;----------------------------
865 ; OpenAFS Control Center
866 Section "AFS Control Center" secControl
868 SetShellVarContext all
870 SetOutPath "$INSTDIR\Control Center"
871 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
872 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
873 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
876 ;AFS Server common files
877 Call AFSCommon.Install
879 SetOutPath "$INSTDIR\Common"
881 ;Store install folder
882 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
883 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
884 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
885 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
886 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
887 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
888 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
889 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
890 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
892 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
893 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
895 ; Delete the DEBUG string
896 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
897 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
900 ;Write start menu entries
901 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
902 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
903 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
905 WriteUninstaller "$INSTDIR\Uninstall.exe"
910 ;----------------------------
911 ; OpenAFS Supplemental Documentation
912 Section "Supplemental Documentation" secDocs
913 SetShellVarContext all
915 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
916 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
917 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
918 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
919 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
920 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
921 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
922 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
926 SetOutPath "$INSTDIR\Documentation\html"
927 File "..\..\doc\install\Documentation\en_US\html\*"
928 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
929 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
930 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
931 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
932 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
933 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
934 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
935 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
939 SetOutPath "$INSTDIR\Documentation"
940 File "..\..\doc\install\Documentation\de_DE\README.TXT"
941 SetOutPath "$INSTDIR\Documentation\html"
942 File "..\..\doc\install\Documentation\de_DE\html\*"
943 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
944 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
945 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
946 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
947 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
948 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
949 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
950 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
954 SetOutPath "$INSTDIR\Documentation"
955 File "..\..\doc\install\Documentation\es_ES\README.TXT"
956 SetOutPath "$INSTDIR\Documentation\html"
957 File "..\..\doc\install\Documentation\es_ES\html\*"
958 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
959 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
960 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
961 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
962 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
963 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
964 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
965 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
969 SetOutPath "$INSTDIR\Documentation"
970 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
971 SetOutPath "$INSTDIR\Documentation\html"
972 File "..\..\doc\install\Documentation\ja_JP\html\*"
973 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
974 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
975 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
976 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
977 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
978 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
979 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
980 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
984 SetOutPath "$INSTDIR\Documentation"
985 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
986 SetOutPath "$INSTDIR\Documentation\html"
987 File "..\..\doc\install\Documentation\ko_KR\html\*"
988 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
989 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
990 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
991 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
992 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
993 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
994 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
995 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
999 SetOutPath "$INSTDIR\Documentation"
1000 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1001 SetOutPath "$INSTDIR\Documentation\html"
1002 File "..\..\doc\install\Documentation\pt_BR\html\*"
1003 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1004 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1005 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1006 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1007 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1008 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1009 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1010 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1014 SetOutPath "$INSTDIR\Documentation"
1015 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1016 SetOutPath "$INSTDIR\Documentation\html"
1017 File "..\..\doc\install\Documentation\zh_CN\html\*"
1018 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1019 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1020 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1021 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1022 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1023 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1024 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1025 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1029 SetOutPath "$INSTDIR\Documentation"
1030 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1031 SetOutPath "$INSTDIR\Documentation\html"
1032 File "..\..\doc\install\Documentation\zh_TW\html\*"
1033 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1034 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1035 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1036 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1037 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1038 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1039 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1040 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1045 ;Store install folder
1046 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1047 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1048 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1049 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1050 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1051 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1052 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1053 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1054 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1056 ; Write start menu shortcut
1057 SetOutPath "$SMPROGRAMS\OpenAFS"
1058 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1061 WriteUninstaller "$INSTDIR\Uninstall.exe"
1062 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1063 Call AFSCommon.Install
1067 Section "Software Development Kit (SDK)" secSDK
1069 SetOutPath "$INSTDIR\Client\Program\lib"
1070 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1072 SetOutPath "$INSTDIR\Client\Program\Include"
1073 File /r "${AFS_BUILD_INCDIR}\*.*"
1076 SetOutPath "$INSTDIR\Client\Program\Sample"
1077 File "..\..\afsd\sample\token.c"
1079 ;Store install folder
1080 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1081 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1082 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1083 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1084 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1085 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1086 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1087 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1088 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1090 WriteUninstaller "$INSTDIR\Uninstall.exe"
1091 SetOutPath "$SMPROGRAMS\OpenAFS"
1092 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1094 Call AFSCommon.Install
1098 Section "Debug symbols" secDebug
1099 SectionGetFlags ${secClient} $R0
1100 IntOp $R0 $R0 & ${SF_SELECTED}
1101 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1103 ; Do client components
1104 SetOutPath "$INSTDIR\Client\Program"
1105 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1106 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1107 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1108 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1109 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1110 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1111 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1112 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1113 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1114 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1115 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1116 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1117 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1118 File "${AFS_DESTDIR}\bin\pts.pdb"
1119 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1120 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1121 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1122 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1123 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1124 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1125 File "${AFS_DESTDIR}\etc\backup.pdb"
1126 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1128 SetOutPath "$SYSDIR"
1129 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1132 SectionGetFlags ${secServer} $R0
1133 IntOp $R0 $R0 & ${SF_SELECTED}
1134 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1136 ; Do server components
1137 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1138 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1139 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1140 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1141 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1142 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1143 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1144 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1145 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1146 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1147 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1148 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1149 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1150 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1151 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1152 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1153 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1155 ; Do server common components
1156 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1157 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1158 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1159 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1160 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1162 SetOutPath "$SYSDIR"
1163 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1165 ; Do control center components
1167 SectionGetFlags ${secControl} $R0
1168 IntOp $R0 $R0 & ${SF_SELECTED}
1169 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1171 SetOutPath "$INSTDIR\Control Center"
1172 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1173 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1174 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1177 SetOutPath "$INSTDIR\Common"
1179 File "${SYSTEMDIR}\msvcr71d.pdb"
1180 File "${SYSTEMDIR}\msvcp71d.pdb"
1181 File "${SYSTEMDIR}\mfc71d.pdb"
1184 File "${SYSTEMDIR}\msvcr70d.pdb"
1185 File "${SYSTEMDIR}\msvcp70d.pdb"
1186 File "${SYSTEMDIR}\mfc70d.pdb"
1188 File "${SYSTEMDIR}\mfc42d.pdb"
1189 File "${SYSTEMDIR}\msvcp60d.pdb"
1190 File "${SYSTEMDIR}\msvcrtd.pdb"
1195 SetOutPath "$INSTDIR\Common"
1196 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1197 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1198 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1199 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1200 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1201 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1202 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1203 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1204 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1205 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1206 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1207 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1208 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1209 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1214 ;Display the Finish header
1215 ;Insert this macro after the sections if you are not using a finish page
1216 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1218 ;--------------------------------
1219 ;Installer Functions
1223 !insertmacro MUI_LANGDLL_DISPLAY
1225 ; Set the default install options
1230 StrCmp $R0 "true" contInstall
1232 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1237 ; Check that RPC functions are installed (I believe any one of these can be present for
1239 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1240 StrCmp $R0 "rpcrt4.dll" contInstall2
1241 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1242 StrCmp $R0 "rpcrt4.dll" contInstall2
1243 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1244 StrCmp $R0 "rpcrt4.dll" contInstall2
1246 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."
1252 ; If the Loopback is already installed, we mark the option OFF and Read Only
1253 ; so the user can not select it.
1254 Call afs.isLoopbackInstalled
1255 IntCmp $R1 0 SkipLoop
1256 SectionGetFlags ${secLoopback} $0
1257 IntOp $0 $0 & ${SECTION_OFF}
1258 IntOp $0 $0 | ${SF_RO}
1259 SectionSetFlags ${secLoopback} $0
1262 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1264 SectionGetFlags ${secDebug} $0
1265 IntOp $0 $0 & ${SECTION_OFF}
1266 SectionSetFlags ${secDebug} $0
1268 SectionGetFlags ${secDebug} $0
1269 IntOp $0 $0 | ${SF_SELECTED}
1270 SectionSetFlags ${secDebug} $0
1272 ; Our logic should be like this.
1273 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1274 ; 2) If existing modules are installed, we keep them selected
1275 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1277 Call IsAnyAFSInstalled
1279 StrCmp $R0 "0" DefaultOptions
1281 Call ShouldClientInstall
1284 ; Check if it was an IBM/Transarc version
1285 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1286 StrCmp $R0 "IBM AFS Client" DoIBM
1287 StrCmp $R0 "Transarc AFS Client" DoIBM
1290 StrCmp $R2 "0" NoClient
1291 StrCmp $R2 "1" ReinstallClient
1292 StrCmp $R2 "2" UpgradeClient
1293 StrCmp $R2 "3" DowngradeClient
1296 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1297 StrCmp $R0 "3" +1 NotIBM
1302 SectionGetFlags ${secClient} $0
1303 IntOp $0 $0 | ${SF_SELECTED}
1304 SectionSetFlags ${secClient} $0
1305 ;# !insertmacro SelectSection ${secClient}
1308 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1309 SectionGetFlags ${secClient} $0
1310 IntOp $0 $0 & ${SECTION_OFF}
1311 SectionSetFlags ${secClient} $0
1314 SectionGetFlags ${secClient} $0
1315 IntOp $0 $0 | ${SF_SELECTED}
1316 SectionSetFlags ${secClient} $0
1317 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1320 SectionGetFlags ${secClient} $0
1321 IntOp $0 $0 | ${SF_SELECTED}
1322 SectionSetFlags ${secClient} $0
1323 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1326 SectionGetFlags ${secClient} $0
1327 IntOp $0 $0 | ${SF_SELECTED}
1328 SectionSetFlags ${secClient} $0
1329 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1335 Call ShouldServerInstall
1337 StrCmp $R2 "0" NoServer
1338 StrCmp $R2 "1" ReinstallServer
1339 StrCmp $R2 "2" UpgradeServer
1340 StrCmp $R2 "3" DowngradeServer
1342 SectionGetFlags ${secServer} $0
1343 IntOp $0 $0 | ${SF_SELECTED}
1344 SectionSetFlags ${secServer} $0
1345 ;# !insertmacro UnselectSection ${secServer}
1349 SectionGetFlags ${secServer} $0
1350 IntOp $0 $0 | ${SF_SELECTED}
1351 SectionSetFlags ${secServer} $0
1352 SectionSetText ${secServer} $(UPGRADE_SERVER)
1356 SectionGetFlags ${secServer} $0
1357 IntOp $0 $0 | ${SF_SELECTED}
1358 SectionSetFlags ${secServer} $0
1359 SectionSetText ${secServer} $(REINSTALL_SERVER)
1363 SectionGetFlags ${secServer} $0
1364 IntOp $0 $0 | ${SF_SELECTED}
1365 SectionSetFlags ${secServer} $0
1366 SectionSetText ${secServer} $(REINSTALL_SERVER)
1370 SectionGetFlags ${secServer} $0
1371 IntOp $0 $0 & ${SECTION_OFF}
1372 SectionSetFlags ${secServer} $0
1373 ;# !insertmacro UnselectSection ${secServer}
1377 ; Check control center
1378 Call IsControlInstalled
1380 StrCmp $R2 "0" NoControl
1382 SectionGetFlags ${secControl} $0
1383 IntOp $0 $0 | ${SF_SELECTED}
1384 SectionSetFlags ${secControl} $0
1388 SectionGetFlags ${secControl} $0
1389 IntOp $0 $0 & ${SECTION_OFF}
1390 SectionSetFlags ${secControl} $0
1391 ;# !insertmacro UnselectSection ${secControl}
1394 ; Check Documentation
1395 Call IsDocumentationInstalled
1397 StrCmp $R2 "0" NoDocs
1398 SectionGetFlags ${secDocs} $0
1399 IntOp $0 $0 | ${SF_SELECTED}
1400 SectionSetFlags ${secDocs} $0
1404 SectionGetFlags ${secDocs} $0
1405 IntOp $0 $0 & ${SECTION_OFF}
1406 SectionSetFlags ${secDocs} $0
1409 ; To check the SDK, we simply look to see if the files exist. If they do,
1410 ; the SDK is installed. If not, we don't need to push it on the user.
1411 ; If they are there, we want to make sure they match the installed version.
1413 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1414 SectionGetFlags ${secSDK} $0
1415 IntOp $0 $0 | ${SF_SELECTED}
1416 SectionSetFlags ${secSDK} $0
1420 SectionGetFlags ${secSDK} $0
1421 IntOp $0 $0 & ${SECTION_OFF}
1422 SectionSetFlags ${secSDK} $0
1427 SectionGetFlags ${secClient} $0
1428 IntOp $0 $0 | ${SF_SELECTED}
1429 SectionSetFlags ${secClient} $0
1431 ; Server NOT selected
1432 SectionGetFlags ${secServer} $0
1433 IntOp $0 $0 & ${SECTION_OFF}
1434 SectionSetFlags ${secServer} $0
1436 ; Control Center NOT selected
1437 SectionGetFlags ${secControl} $0
1438 IntOp $0 $0 & ${SECTION_OFF}
1439 SectionSetFlags ${secControl} $0
1440 ;# !insertmacro UnselectSection ${secControl}
1442 ; Documentation selected
1443 SectionGetFlags ${secDocs} $0
1444 IntOp $0 $0 | ${SF_SELECTED}
1445 SectionSetFlags ${secDocs} $0
1446 ;# !insertmacro UnselectSection ${secDocs}
1449 SectionGetFlags ${secSDK} $0
1450 IntOp $0 $0 & ${SECTION_OFF}
1451 SectionSetFlags ${secSDK} $0
1452 ;# !insertmacro UnselectSection ${secSDK}
1461 ; See if we can set a default installation path...
1462 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1463 StrCmp $R0 "" TryServer
1467 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1468 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1469 StrCmp $R0 "1" +1 SkipParent
1470 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1471 StrCmp $R0 "3" +1 SkipParent
1472 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1473 StrCmp $R0 "5000" UpParent
1474 StrCmp $R0 "5100" UpParent
1475 StrCmp $R0 "5200" UpParent
1476 StrCmp $R0 "5201" UpParent
1477 StrCmp $R0 "5299" UpParent
1489 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1490 StrCmp $R0 "" TryControl
1498 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1506 File /oname=$0 CellServPage.ini
1508 File /oname=$1 AFSCell.ini
1510 File /oname=$2 AFSCreds.ini
1511 ;File /oname=$1 ConfigURL.ini
1519 ;--------------------------------
1520 ; These are our cleanup functions
1521 Function .onInstFailed
1526 Function .onInstSuccess
1532 ;--------------------------------
1535 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1536 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1537 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1538 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1539 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1540 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1541 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1542 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1543 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1545 ;--------------------------------
1546 ;Uninstaller Section
1549 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1550 IfSilent StartRemove ; New in v2.0b4
1551 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1556 SetShellVarContext all
1557 ; Stop the running processes
1559 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1560 nsExec::Exec '$R0 afscreds.exe'
1561 Exec "afscreds.exe -z"
1562 ; in case we are upgrading an old version that does not support -z
1564 nsExec::Exec '$R0 afscreds.exe'
1566 nsExec::Exec '$R0 krbcc32s.exe'
1569 ; Delete the AFS service
1571 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1572 nsExec::Exec "net stop TransarcAFSDaemon"
1573 nsExec::Exec "net stop TransarcAFSServer"
1574 nsExec::Exec '$R0 u TransarcAFSDaemon'
1575 ; After we stop the service, but before we delete it, we have to remove the volume data
1576 ; This is because the storage locations are in the registry under the service key.
1577 ; Call un.RemoveAFSVolumes
1578 nsExec::Exec '$R0 u TransarcAFSServer'
1581 Call un.RemoveProvider
1583 Push "$INSTDIR\Client\Program"
1584 Call un.RemoveFromPath
1585 Push "$INSTDIR\Common"
1586 Call un.RemoveFromPath
1588 Push "$INSTDIR\kfw\bin"
1589 Call un.RemoveFromPath
1592 ; Delete documentation
1593 Delete "$INSTDIR\Documentation\README.TXT"
1594 Delete "$INSTDIR\Documentation\html\*"
1595 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1596 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1597 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1598 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1600 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1601 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1602 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1603 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1604 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1605 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1606 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1607 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1608 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1609 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1610 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1611 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1612 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1613 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1614 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1616 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1617 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1618 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1619 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1620 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1621 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1622 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1623 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1624 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1625 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1626 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1627 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1628 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1629 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1630 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1633 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1634 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1635 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1636 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1637 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1638 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1641 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1642 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1643 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1644 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1645 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1646 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1648 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1649 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1650 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1651 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1652 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1653 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1657 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1658 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1659 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1660 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1661 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1662 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1663 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1664 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1665 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1666 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1667 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1668 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1671 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1672 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1673 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1674 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1675 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1676 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1677 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1678 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1679 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1680 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1681 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1682 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1684 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1685 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1686 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1692 ; IfFileExists "$INSTDIR\Client\CellServDB" CellExists SkipDelAsk
1694 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1695 Delete "$INSTDIR\Client\CellServDB"
1697 ; Only remove krb5.ini if KfW was installed
1699 Delete "$WINDIR\krb5.ini"
1701 Delete "$INSTDIR\Client\afsdns.ini"
1704 Delete "$WINDIR\afsd_init.log"
1705 Delete "$INSTDIR\Uninstall.exe"
1708 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1709 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1710 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1711 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1712 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1713 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1714 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1715 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1716 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1717 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1718 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1719 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1720 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1721 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1722 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1723 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1724 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1726 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1727 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1728 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1729 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1730 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1731 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1732 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1733 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1734 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1735 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1736 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1737 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1738 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1739 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1740 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1741 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1742 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1744 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1745 ; do not delete the server configuration files
1746 ; or we will lose the volumes and authentication
1748 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1749 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1750 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1751 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1753 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1754 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1756 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1757 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1759 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1760 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1761 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1762 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1763 RMDIr /r "$INSTDIR\Documentation\html"
1765 RMDir "$INSTDIR\Documentation"
1766 ; Delete DOC short cut
1767 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1769 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1771 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1772 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1773 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1774 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1775 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1776 RMDir "$INSTDIR\Client\Program\Sample"
1777 RMDir "$INSTDIR\Client\Program\Include\afs"
1778 RMDir "$INSTDIR\Client\Program\Include\rx"
1779 RMDir "$INSTDIR\Client\Program\Include"
1780 RMDir "$INSTDIR\Client\Program"
1781 RMDir "$INSTDIR\Client"
1785 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1786 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1787 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1788 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1789 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1790 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1793 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1794 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1795 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1796 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1797 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1798 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1800 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1801 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1802 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1803 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1804 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1805 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1810 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1811 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1812 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1813 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1814 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1815 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1816 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1817 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1818 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1819 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1820 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1821 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1824 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1825 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1826 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1827 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1828 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1829 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1830 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1831 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1832 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1833 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1834 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1835 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1837 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1838 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1839 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1844 Delete /REBOOTOK "$INSTDIR\Common\*"
1845 RMDir "$INSTDIR\Common"
1849 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1850 RMDIR /r "$INSTDIR\kfw\bin"
1851 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1852 RMDIR /r "$INSTDIR\kfw\doc"
1853 RMDIR /r "$INSTDIR\kfw"
1856 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1858 ; Remove control center
1859 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1860 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1861 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1862 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1863 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1864 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1865 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1866 RMDir "$INSTDIR\Control Center"
1868 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1869 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1870 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1871 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1872 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1873 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1874 RMDir /r "$SMPROGRAMS\OpenAFS"
1875 Delete "$SMSTARTUP\AFS Credentials.lnk"
1877 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1879 Delete "$R0\AFSCache"
1880 Delete "C:\AFSCache"
1882 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1883 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1884 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1885 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1886 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1887 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1889 ; WinLogon Event Notification
1890 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1892 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1893 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1894 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1895 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1896 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1897 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1898 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1899 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1900 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1901 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1902 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1908 ;--------------------------------
1909 ;Uninstaller Functions
1913 ;Get language from registry
1914 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1918 Function un.onUninstSuccess
1921 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1926 ;------------------------------
1927 ; Get the CellServDB file from the Internet
1929 Function afs.GetCellServDB
1931 ;Check if we should download CellServDB
1932 ReadINIStr $R0 $0 "Field 4" "State"
1933 StrCmp $R0 "1" DoDownload
1935 ;Do nothing if we're keeping the existing file
1936 ReadINIStr $R0 $0 "Field 2" "State"
1939 ReadINIStr $R0 $0 "Field 6" "State"
1940 StrCmp $R0 "1" CheckOther
1942 ReadINIStr $R0 $0 "Field 3" "State"
1943 StrCmp $R0 "1" UsePackaged
1945 ; If none of these, grab file from other location
1949 ReadINIStr $R0 $0 "Field 5" "State"
1950 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
1951 Pop $R0 ;Get the return value
1952 StrCmp $R0 "success" +2
1953 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1957 SetOutPath "$INSTDIR\Client"
1962 ReadINIStr $R0 $0 "Field 7" "State"
1964 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
1970 Function AddProvider
1973 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1975 StrCpy $R0 "TransarcAFSDaemon"
1979 StrCmp $R0 "" +1 DoOther
1980 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1981 StrCpy $R0 "$R1,TransarcAFSDaemon"
1982 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1984 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1986 StrCpy $R0 "TransarcAFSDaemon"
1990 StrCmp $R0 "" +1 End
1991 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1992 StrCpy $R0 "$R1,TransarcAFSDaemon"
1993 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
1999 Function un.RemoveProvider
2001 StrCpy $R0 "TransarcAFSDaemon"
2003 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2004 Call un.RemoveFromProvider
2005 StrCpy $R0 "TransarcAFSDaemon"
2007 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2008 Call un.RemoveFromProvider
2012 Function un.RemoveFromProvider
2021 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2022 StrCpy $5 $1 1 -1 # copy last char
2023 StrCmp $5 "," +2 # if last char != ,
2024 StrCpy $1 "$1," # append ,
2027 Call un.StrStr ; Find `$0,` in $1
2028 Pop $2 ; pos of our dir
2029 StrCmp $2 "" unRemoveFromPath_done
2030 ; else, it is in path
2035 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2036 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2039 StrCpy $5 $3 1 -1 # copy last char
2040 StrCmp $5 "," 0 +2 # if last char == ,
2041 StrCpy $3 $3 -1 # remove last char
2043 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2045 unRemoveFromPath_done:
2055 Function CheckPathForAFS
2060 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2069 IfFileExists "$3\afsd_service.exe" Error
2070 StrCpy $1 $0 32768 1
2072 IntCmp $2 0 Done Done loop
2075 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."
2076 Abort "Unable to install OpenAFS"
2084 Function AddToUniquePath
2088 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2092 StrCmp $R0 "" +1 Done
2098 ;-------------------------------
2099 ;Do the page to get the CellServDB
2101 Function AFSPageGetCellServDB
2102 ; Skip this page if we are not installing the client
2103 SectionGetFlags ${secClient} $R0
2104 IntOp $R0 $R0 & ${SF_SELECTED}
2107 ; Set the install options here
2110 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2111 WriteINIStr $0 "Field 3" "State" "1"
2112 WriteINISTR $0 "Field 4" "State" "0"
2113 WriteINIStr $0 "Field 6" "State" "0"
2115 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2116 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2117 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2118 Delete "$WINDIR\afsdcell.ini"
2119 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2120 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2121 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2122 WriteINIStr $0 "Field 2" "State" "1"
2123 WriteINIStr $0 "Field 3" "State" "0"
2127 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2128 InstallOptions::dialog $0
2130 StrCmp $R1 "cancel" exit
2131 StrCmp $R1 "back" done
2132 StrCmp $R1 "success" done
2136 ; Check that if a file is set, a valid filename is entered...
2137 ReadINIStr $R0 $0 "Field 6" "State"
2138 StrCmp $R0 "1" CheckFileName
2140 ;Check if a URL is specified, one *IS* specified
2141 ReadINIStr $R0 $0 "Field 4" "State"
2142 StrCmp $R0 "1" CheckURL Skip
2145 ReadINIStr $R0 $0 "Field 5" "State"
2146 StrCmp $R0 "" +1 Skip
2147 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2148 WriteINIStr $0 "Field 4" "State" "0"
2152 ReadINIStr $R0 $0 "Field 7" "State"
2153 IfFileExists $R0 Skip
2155 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2156 WriteINIStr $0 "Field 6" "State" "0"
2164 Function AFSPageGetCellName
2166 ; Skip this page if we are not installing the client
2167 SectionGetFlags ${secClient} $R0
2168 IntOp $R0 $R0 & ${SF_SELECTED}
2172 ; If this is a server install, we do NOT want to recommend the Freelance client
2173 ; And we do not need to ask for the cell name.
2174 SectionGetFlags ${secServer} $R1
2175 IntOp $R1 $R1 & ${SF_SELECTED}
2176 StrCmp $R1 "1" +1 NotServer
2177 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2178 WriteINIStr $1 "Field 5" "State" "0"
2179 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2180 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2183 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2184 WriteINIStr $1 "Field 5" "State" "1"
2185 WriteINIStr $1 "Field 1" "Flags" ""
2186 WriteINIStr $1 "Field 2" "Flags" ""
2188 ; Get the current cell name, if any
2189 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2191 WriteINIStr $1 "Field 2" "State" $R1
2192 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2193 InstallOptions::dialog $1
2195 StrCmp $R1 "cancel" exit
2196 StrCmp $R1 "back" done
2197 StrCmp $R1 "success" done
2200 ReadINIStr $R0 $1 "Field 2" "State"
2201 StrCmp $R0 "" +1 good
2203 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2209 ;---------------------------------------------------------
2210 ;Do the page to get the afscreds.exe startup configuration
2212 Function AFSPageConfigAFSCreds
2213 ; Skip this page if we are not installing the client
2214 SectionGetFlags ${secClient} $R0
2215 IntOp $R0 $R0 & ${SF_SELECTED}
2218 ; Set the install options here
2220 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2221 InstallOptions::dialog $2
2223 StrCmp $R1 "cancel" exit
2224 StrCmp $R1 "back" done
2225 StrCmp $R1 "success" done
2233 ; Common install routines for each module
2234 Function AFSCommon.Install
2236 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2237 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2239 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2241 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2243 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2248 ;-------------------
2249 ; Get the currently installed version and place it on the stack
2251 Function GetInstalledVersion
2256 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2257 StrCmp $R0 "" NotTransarc done
2261 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2270 ; Functions to get each component of the version number
2271 Function GetInstalledVersionMajor
2276 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2277 StrCmp $R0 "" NotTransarc done
2281 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2290 Function GetInstalledVersionMinor
2295 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2296 StrCmp $R0 "" NotTransarc done
2300 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2309 Function GetInstalledVersionPatch
2314 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2315 StrCmp $R0 "" NotTransarc done
2319 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2330 ;-------------------------------
2331 ; Check if the client should be checked for default install
2332 Function ShouldClientInstall
2334 StrCpy $R2 "AFS Client"
2335 Call GetInstalledVersion
2338 StrCmp $R0 "" NotInstalled
2339 ; Now we see if it's an older or newer version
2341 Call GetInstalledVersionMajor
2343 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2345 Call GetInstalledVersionMinor
2347 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2349 Call GetInstalledVersionPatch
2351 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2374 ;-------------------------------
2375 ; Check how the server options should be set
2376 Function ShouldServerInstall
2378 StrCpy $R2 "AFS Server"
2379 Call GetInstalledVersion
2382 StrCmp $R0 "" NotInstalled
2383 ; Now we see if it's an older or newer version
2385 Call GetInstalledVersionMajor
2387 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2389 Call GetInstalledVersionMinor
2391 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2393 Call GetInstalledVersionPatch
2395 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2420 ; See if AFS Server is installed
2421 ; Returns: "1" if it is, 0 if it is not (on the stack)
2422 Function IsServerInstalled
2424 StrCpy $R2 "AFS Server"
2425 Call GetInstalledVersion
2428 StrCmp $R0 "" NotInstalled
2441 ; See if AFS Client is installed
2442 ; Returns: "1" if it is, 0 if it is not (on the stack)
2443 Function IsClientInstalled
2445 StrCpy $R2 "AFS Client"
2446 Call GetInstalledVersion
2449 StrCmp $R0 "" NotInstalled
2463 ; See if AFS Documentation is installed
2464 ; Returns: "1" if it is, 0 if it is not (on the stack)
2465 Function IsDocumentationInstalled
2467 StrCpy $R2 "AFS Supplemental Documentation"
2468 Call GetInstalledVersion
2471 StrCmp $R0 "" NotInstalled
2484 ; See if Control Center is installed
2485 ; Returns: "1" if it is, 0 if it is not (on the stack)
2486 Function IsControlInstalled
2488 StrCpy $R2 "AFS Control Center"
2489 Call GetInstalledVersion
2492 StrCmp $R0 "" NotInstalled
2507 ; output, top of stack (replaces, with e.g. whatever)
2508 ; modifies no other variables.
2510 Function GetParameters
2514 StrCpy $R0 $CMDLINE 1
2518 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2520 StrCpy $R0 $CMDLINE 1 $R2
2521 StrCmp $R0 $R1 loop2
2527 StrCpy $R0 $CMDLINE 1 $R2
2528 StrCmp $R0 " " loop2
2529 StrCpy $R0 $CMDLINE "" $R2
2536 ;Check to see if any AFS component is installed
2537 ;Returns: Value on stack: "1" if it is, "0" if it is not
2538 Function IsAnyAFSInstalled
2543 Call IsClientInstalled
2545 Call IsServerInstalled
2547 Call IsControlInstalled
2549 Call IsDocumentationInstalled
2551 ; Now we must see if ANY of the $Rn values are 1
2552 StrCmp $R0 "1" SomethingInstalled
2553 StrCmp $R1 "1" SomethingInstalled
2554 StrCmp $R2 "1" SomethingInstalled
2555 StrCmp $R3 "1" SomethingInstalled
2569 ;Install English Language Files
2570 Function AFSLangFiles
2572 SetOutPath "$INSTDIR\Common"
2573 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2574 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2575 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2576 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2577 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2578 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2579 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2580 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2581 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2582 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2583 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2584 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2585 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2586 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2588 SetOutPath "$INSTDIR\Common"
2592 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2593 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2594 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2595 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2596 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2597 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2598 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2599 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2600 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2601 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2602 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2603 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2606 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2607 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2608 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2609 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2610 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2611 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2612 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2613 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2614 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2615 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2616 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2617 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2619 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2620 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2621 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2626 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2627 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2628 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2629 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2630 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2631 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2632 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2633 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2634 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2635 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2636 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2637 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2640 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2641 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2642 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2643 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2644 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2645 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2646 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2647 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2648 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2649 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2650 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2651 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2653 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2654 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2655 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2660 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2661 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2662 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2663 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2664 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2665 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2666 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2667 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2671 SetOutPath "$INSTDIR\Documentation"
2672 File "..\..\doc\install\Documentation\en_US\README.TXT"
2674 SetOutPath "$INSTDIR\Client\Program"
2675 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2676 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2678 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2679 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2682 SetOutPath "$INSTDIR\Common"
2683 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2684 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2685 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2686 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2687 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2688 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2689 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2690 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2691 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2692 File "..\..\doc\help\en_US\afs-cc.CNT"
2693 File "..\..\doc\help\en_US\afs-cc.hlp"
2694 File "..\..\doc\help\en_US\afs-light.CNT"
2695 File "..\..\doc\help\en_US\afs-light.hlp"
2696 File "..\..\doc\help\en_US\afs-nt.CNT"
2697 File "..\..\doc\help\en_US\afs-nt.HLP"
2698 File "..\..\doc\help\en_US\taafscfg.CNT"
2699 File "..\..\doc\help\en_US\taafscfg.hlp"
2700 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2701 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2702 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2703 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2706 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2707 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2708 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2709 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2710 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2711 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2712 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2713 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2719 SetOutPath "$INSTDIR\Documentation"
2720 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2722 SetOutPath "$INSTDIR\Client\Program"
2723 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2724 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2726 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2727 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2730 SetOutPath "$INSTDIR\Common"
2731 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2732 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2733 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2734 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2735 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2736 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2737 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2738 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2739 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2740 File "..\..\doc\help\de_DE\afs-cc.CNT"
2741 File "..\..\doc\help\de_DE\afs-cc.hlp"
2742 File "..\..\doc\help\de_DE\afs-light.CNT"
2743 File "..\..\doc\help\de_DE\afs-light.hlp"
2744 File "..\..\doc\help\de_DE\afs-nt.CNT"
2745 File "..\..\doc\help\de_DE\afs-nt.HLP"
2746 File "..\..\doc\help\de_DE\taafscfg.CNT"
2747 File "..\..\doc\help\de_DE\taafscfg.hlp"
2748 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2749 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2750 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2751 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2754 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2755 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2756 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2757 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2758 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2759 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2760 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2761 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2767 SetOutPath "$INSTDIR\Documentation"
2768 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2770 SetOutPath "$INSTDIR\Client\Program"
2771 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2772 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2774 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2775 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2778 SetOutPath "$INSTDIR\Common"
2779 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2780 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2781 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2782 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2783 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2784 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2785 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2786 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2787 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2788 File "..\..\doc\help\es_ES\afs-cc.CNT"
2789 File "..\..\doc\help\es_ES\afs-cc.hlp"
2790 File "..\..\doc\help\es_ES\afs-light.CNT"
2791 File "..\..\doc\help\es_ES\afs-light.hlp"
2792 File "..\..\doc\help\es_ES\afs-nt.CNT"
2793 File "..\..\doc\help\es_ES\afs-nt.HLP"
2794 File "..\..\doc\help\es_ES\taafscfg.CNT"
2795 File "..\..\doc\help\es_ES\taafscfg.hlp"
2796 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2797 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2798 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2799 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2802 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2803 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2804 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2805 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2806 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2807 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2808 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2809 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2815 SetOutPath "$INSTDIR\Documentation"
2816 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2818 SetOutPath "$INSTDIR\Client\Program"
2819 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2820 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2822 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2823 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2826 SetOutPath "$INSTDIR\Common"
2827 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2828 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2829 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2830 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2831 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2832 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2833 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2834 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2835 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2836 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2837 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2838 File "..\..\doc\help\ja_JP\afs-light.CNT"
2839 File "..\..\doc\help\ja_JP\afs-light.hlp"
2840 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2841 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2842 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2843 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2844 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2845 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2846 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2847 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2850 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2851 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2852 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2853 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2854 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2855 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2856 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2857 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2863 SetOutPath "$INSTDIR\Documentation"
2864 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2866 SetOutPath "$INSTDIR\Client\Program"
2867 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2868 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2870 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2871 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2874 SetOutPath "$INSTDIR\Common"
2875 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2876 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2877 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2878 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2879 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2880 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2881 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2882 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2883 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2884 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2885 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2886 File "..\..\doc\help\ko_KR\afs-light.CNT"
2887 File "..\..\doc\help\ko_KR\afs-light.hlp"
2888 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2889 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2890 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2891 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2892 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2893 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2894 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2895 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2898 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2899 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2900 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2901 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2902 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2903 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2904 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2905 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2912 SetOutPath "$INSTDIR\Documentation"
2913 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2915 SetOutPath "$INSTDIR\Client\Program"
2916 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2917 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2919 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2920 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2923 SetOutPath "$INSTDIR\Common"
2924 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
2925 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
2926 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
2927 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
2928 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
2929 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
2930 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
2931 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
2932 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
2933 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2934 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2935 File "..\..\doc\help\pt_BR\afs-light.CNT"
2936 File "..\..\doc\help\pt_BR\afs-light.hlp"
2937 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2938 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2939 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2940 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2941 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2942 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2943 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2944 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2947 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2948 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2949 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2950 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2951 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2952 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2953 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2954 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2960 SetOutPath "$INSTDIR\Documentation"
2961 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2963 SetOutPath "$INSTDIR\Client\Program"
2964 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
2965 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2967 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2968 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2971 SetOutPath "$INSTDIR\Common"
2972 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
2973 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
2974 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
2975 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
2976 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
2977 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
2978 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
2979 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
2980 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
2981 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2982 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2983 File "..\..\doc\help\zh_CN\afs-light.CNT"
2984 File "..\..\doc\help\zh_CN\afs-light.hlp"
2985 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2986 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2987 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2988 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2989 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2990 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2991 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2992 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2995 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
2996 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
2997 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
2998 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
2999 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3000 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3001 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3002 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3008 SetOutPath "$INSTDIR\Documentation"
3009 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3011 SetOutPath "$INSTDIR\Client\Program"
3012 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3013 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3015 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3016 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3019 SetOutPath "$INSTDIR\Common"
3020 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3021 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3022 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3023 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3024 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3025 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3026 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3027 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3028 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3029 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3030 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3031 File "..\..\doc\help\zh_TW\afs-light.CNT"
3032 File "..\..\doc\help\zh_TW\afs-light.hlp"
3033 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3034 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3035 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3036 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3037 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3038 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3039 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3040 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3043 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3044 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3045 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3046 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3047 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3048 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3049 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3050 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3059 ;====================================================
3060 ; AddToPath - Adds the given dir to the search path.
3061 ; Input - head of the stack
3062 ; Note - Win9x systems requires reboot
3063 ;====================================================
3070 # don't add if the path doesn't exist
3071 IfFileExists $0 "" AddToPath_done
3078 StrCmp $2 "" "" AddToPath_done
3083 StrCmp $2 "" "" AddToPath_done
3084 GetFullPathName /SHORT $3 $0
3089 StrCmp $2 "" "" AddToPath_done
3094 StrCmp $2 "" "" AddToPath_done
3098 StrCmp $1 1 AddToPath_NT
3101 FileOpen $1 "$1\autoexec.bat" a
3104 IntCmp $2 26 0 +2 +2 # DOS EOF
3105 FileSeek $1 -1 END # write over EOF
3106 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3112 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3113 StrCpy $2 $1 1 -1 # copy last char
3114 StrCmp $2 ";" 0 +2 # if last char == ;
3115 StrCpy $1 $1 -1 # remove last char
3116 StrCmp $1 "" AddToPath_NTdoIt
3119 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3120 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3129 ;====================================================
3130 ; RemoveFromPath - Remove a given dir from the path
3131 ; Input: head of the stack
3132 ;====================================================
3133 Function un.RemoveFromPath
3142 IntFmt $6 "%c" 26 # DOS EOF
3146 StrCmp $1 1 unRemoveFromPath_NT
3149 FileOpen $1 "$1\autoexec.bat" r
3152 GetFullPathName /SHORT $0 $0
3153 StrCpy $0 "SET PATH=%PATH%;$0"
3154 Goto unRemoveFromPath_dosLoop
3156 unRemoveFromPath_dosLoop:
3158 StrCpy $5 $3 1 -1 # read last char
3159 StrCmp $5 $6 0 +2 # if DOS EOF
3160 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3161 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3162 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3163 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3164 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3166 Goto unRemoveFromPath_dosLoop
3167 unRemoveFromPath_dosLoopRemoveLine:
3169 Goto unRemoveFromPath_dosLoop
3171 unRemoveFromPath_dosLoopEnd:
3175 Delete "$1\autoexec.bat"
3176 CopyFiles /SILENT $4 "$1\autoexec.bat"
3178 Goto unRemoveFromPath_done
3180 unRemoveFromPath_NT:
3181 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3182 StrCpy $5 $1 1 -1 # copy last char
3183 StrCmp $5 ";" +2 # if last char != ;
3184 StrCpy $1 "$1;" # append ;
3187 Call un.StrStr ; Find `$0;` in $1
3188 Pop $2 ; pos of our dir
3189 StrCmp $2 "" unRemoveFromPath_done
3190 ; else, it is in path
3195 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3196 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3199 StrCpy $5 $3 1 -1 # copy last char
3200 StrCmp $5 ";" 0 +2 # if last char == ;
3201 StrCpy $3 $3 -1 # remove last char
3203 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3204 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3206 unRemoveFromPath_done:
3216 ;====================================================
3217 ; IsNT - Returns 1 if the current system is NT, 0
3219 ; Output: head of the stack
3220 ;====================================================
3224 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3225 StrCmp $0 "" 0 IsNT_yes
3237 !insertmacro IsNT ""
3238 !insertmacro IsNT "un."
3240 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3242 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3243 ;====================================================
3244 ; StrStr - Finds a given string in another given string.
3245 ; Returns -1 if not found and the pos if found.
3246 ; Input: head of the stack - string to find
3247 ; second in the stack - string to find in
3248 ; Output: head of the stack
3249 ;====================================================
3251 Function ${un}StrStr
3252 Exch $R1 ; st=haystack,old$R1, $R1=needle
3253 Exch ; st=old$R1,haystack
3254 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3266 StrCpy $R5 $R2 $R3 $R4
3272 StrCpy $R1 $R2 "" $R4
3280 !insertmacro StrStr ""
3281 !insertmacro StrStr "un."
3284 !ifdef ADDSHAREDDLLUSED
3287 ; Increments a shared DLLs reference count.
3288 ; Use by passing one item on the stack (the full path of the DLL).
3291 ; Push $SYSDIR\myDll.dll
3295 Function AddSharedDLL
3298 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3300 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3306 ; un.RemoveSharedDLL
3308 ; Decrements a shared DLLs reference count, and removes if necessary.
3309 ; Use by passing one item on the stack (the full path of the DLL).
3310 ; Note: for use in the main installer (not the uninstaller), rename the
3311 ; function to RemoveSharedDLL.
3314 ; Push $SYSDIR\myDll.dll
3315 ; Call un.RemoveSharedDLL
3318 Function un.RemoveSharedDLL
3321 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3322 StrCmp $R0 "" remove
3324 IntCmp $R0 0 rk rk uk
3326 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3329 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3332 Delete /REBOOTOK $R1
3340 ; Installs the loopback adpater and disables it on Windows 2000
3341 Function afs.InstallMSLoopback
3343 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3344 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3348 Function afs.isLoopbackInstalled
3350 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3351 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3352 Delete "$TEMP\afsloopback.dll"
3358 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3359 ; Updated by Joost Verburg
3361 ; Returns on top of stack
3363 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3365 ; '' (Unknown Windows Version)
3368 ; Call GetWindowsVersion
3370 ; ; at this point $R0 is "NT 4.0" or whatnot
3372 Function GetWindowsVersion
3379 ReadRegStr $R0 HKLM \
3380 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3382 IfErrors 0 lbl_winnt
3385 ReadRegStr $R0 HKLM \
3386 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3389 StrCmp $R1 '4' 0 lbl_error
3393 StrCmp $R1 '4.0' lbl_win32_95
3394 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3412 StrCmp $R1 '3' lbl_winnt_x
3413 StrCmp $R1 '4' lbl_winnt_x
3417 StrCmp $R1 '5.0' lbl_winnt_2000
3418 StrCmp $R1 '5.1' lbl_winnt_XP
3419 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3422 StrCpy $R0 "NT $R0" 6
3447 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3448 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3449 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3450 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3454 ; Pop $R0 ; at this point $R0 is "true" or "false"
3456 Function IsUserAdmin
3465 UserInfo::GetAccountType
3468 StrCmp $R2 "Admin" 0 Continue
3469 ; Observation: I get here when running Win98SE. (Lilla)
3470 ; The functions UserInfo.dll looks for are there on Win98 too,
3471 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3472 ; on Win98, returns admin anyway. (per kichik)
3473 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3478 ; You should still check for an empty string because the functions
3479 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3482 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3486 ; comment/message below is by UserInfo.nsi author:
3487 ; This one means you don't need to care about admin or
3488 ; not admin because Windows 9x doesn't either
3489 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3493 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3501 ; input, top of stack (e.g. C:\Program Files\Poop)
3502 ; output, top of stack (replaces, with e.g. C:\Program Files)
3503 ; modifies no other variables.
3506 ; Push "C:\Program Files\Directory\Whatever"
3509 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3523 IntCmp $R1 $R2 get 0 get
3524 StrCpy $R3 $R0 1 -$R1
3539 ;--------------------------------
3540 ;Handle what must and what must not be installed
3541 Function .onSelChange
3542 ; If they install the server, they MUST install the client
3543 SectionGetFlags ${secServer} $R0
3544 IntOp $R0 $R0 & ${SF_SELECTED}
3545 StrCmp $R0 "1" MakeClientSelected
3547 ; If they install the control center, we'll give them the client.
3548 ; It may not be required, but it's a bit more useful
3549 SectionGetFlags ${secControl} $R0
3550 IntOp $R0 $R0 & ${SF_SELECTED}
3551 StrCmp $R0 "1" MakeClientSelected
3555 SectionGetFlags ${secClient} $R0
3556 IntOp $R0 $R0 | ${SF_SELECTED}
3557 SectionSetFlags ${secClient} $R0
3562 Function RegWriteMultiStr
3563 !define HKEY_CLASSES_ROOT 0x80000000
3564 !define HKEY_CURRENT_USER 0x80000001
3565 !define HKEY_LOCAL_MACHINE 0x80000002
3566 !define HKEY_USERS 0x80000003
3567 !define HKEY_PERFORMANCE_DATA 0x80000004
3568 !define HKEY_PERFORMANCE_TEXT 0x80000050
3569 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3570 !define HKEY_CURRENT_CONFIG 0x80000005
3571 !define HKEY_DYN_DATA 0x80000006
3573 !define KEY_QUERY_VALUE 0x0001
3574 !define KEY_SET_VALUE 0x0002
3575 !define KEY_CREATE_SUB_KEY 0x0004
3576 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3577 !define KEY_NOTIFY 0x0010
3578 !define KEY_CREATE_LINK 0x0020
3582 !define REG_EXPAND_SZ 2
3583 !define REG_BINARY 3
3585 !define REG_DWORD_LITTLE_ENDIAN 4
3586 !define REG_DWORD_BIG_ENDIAN 5
3588 !define REG_MULTI_SZ 7
3590 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3591 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3592 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3599 SetPluginUnload alwaysoff
3600 ; Create a buffer for the multi_sz value
3601 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3602 ; Open/create the registry key
3603 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3606 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3610 ; Fill in the buffer with our strings
3611 StrCpy $2 $1 ; Initial position
3613 StrLen $9 '$REG_DATA_1' ; Length of first string
3614 IntOp $9 $9 + 1 ; Plus null
3615 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3616 IntOp $2 $2 + $9 ; Advance to the next position
3618 StrCmp '$REG_DATA_2' "" terminate
3619 StrLen $9 '$REG_DATA_2' ; Length of second string
3620 IntOp $9 $9 + 1 ; Plus null
3621 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3622 IntOp $2 $2 + $9 ; Advance to the next position
3624 StrCmp '$REG_DATA_3' "" terminate
3625 StrLen $9 '$REG_DATA_3' ; Length of third string
3626 IntOp $9 $9 + 1 ; Plus null
3627 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3628 IntOp $2 $2 + $9 ; Advance to the next position
3631 System::Call "*$2(&t1 '')" ; Place the terminating null
3632 IntOp $2 $2 + 1 ; Advance to the next position
3634 ; Create/write the value
3635 IntOp $2 $2 - $1 ; Total length
3636 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3639 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3643 ; Close the registry key
3644 System::Call "${RegCloseKey}(r0)"
3648 SetPluginUnload manual