1 ;OpenAFS Install Script for NSIS
2 ; This version compiles with NSIS v2.0
4 ; Originally written by Rob Murawski <rsm4@ieee.org>
6 ;Redistribution and use in source and binary forms, with or without modification, are permitted
7 ;provided that the following conditions are met:
9 ; Redistributions of source code must retain the above copyright notice, this list of conditions
10 ; and the following disclaimer. Redistributions in binary form must reproduce the above copyright
11 ; notice, this list of conditions and the following disclaimer in the documentation and/or other
12 ; materials provided with the distribution. The name of the author may not be used to endorse or
13 ; promote products derived from this software without specific prior written permission.
15 ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17 ; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
18 ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21 ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
22 ; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 ; Some code originally based on:
26 ; NSIS Modern User Interface version 1.63
27 ; MultiLanguage Example Script
28 ; Written by Joost Verburg
30 ; Read in the environment information
31 !include ${INCLUDEDIR}\nsi-includes.nsi
35 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
37 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
38 !endif ; End DEBUG/!DEBUG
41 Name "OpenAFS ${AFS_VERSION}"
43 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
44 !endif ; End DEBUG/!DEBUG
46 VIProductVersion "${AFS_VERSION}.00"
47 VIAddVersionKey "ProductName" "OpenAFS"
48 VIAddVersionKey "CompanyName" "OpenAFS.org"
49 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
50 VIAddVersionKey "FileVersion" ${AFS_VERSION}
51 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
52 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
54 VIAddVersionKey "PrivateBuild" "Checked/Debug"
61 ;--------------------------------
64 !define REPLACEDLL_NOREGISTER
68 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
70 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
74 !define MUI_ICON "..\..\client_config\afs_config.ico"
75 !define MUI_UNICON "..\..\client_config\afs_config.ico"
76 !define AFS_COMPANY_NAME "OpenAFS"
77 !define AFS_PRODUCT_NAME "OpenAFS"
78 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
81 ;Folder selection page
82 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
84 ;Remember install folder
85 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
87 ;Remember the installer language
88 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
89 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
90 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
93 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
94 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
95 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
96 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
97 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
98 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
99 !define SYSTEMDIR "$%SystemRoot%\System32"
101 ;--------------------------------
102 ;Modern UI Configuration
104 ;!define MUI_LICENSEPAGE
105 !define MUI_CUSTOMPAGECOMMANDS
106 !define MUI_WELCOMEPAGE
107 !define MUI_COMPONENTSPAGE
108 !define MUI_COMPONENTSPAGE_SMALLDESC
109 !define MUI_DIRECTORYPAGE
111 !define MUI_ABORTWARNING
112 !define MUI_FINISHPAGE
114 !define MUI_UNINSTALLER
115 !define MUI_UNCONFIRMPAGE
118 !insertmacro MUI_PAGE_WELCOME
119 !insertmacro MUI_PAGE_COMPONENTS
120 !insertmacro MUI_PAGE_DIRECTORY
121 Page custom AFSPageGetCellServDB
122 Page custom AFSPageGetCellName
123 Page custom AFSPageConfigAFSCreds
124 !insertmacro MUI_PAGE_INSTFILES
125 !insertmacro MUI_PAGE_FINISH
127 ;LicenseData "Licenses.rtf"
128 ;--------------------------------
131 !insertmacro MUI_LANGUAGE "English"
132 ;!insertmacro MUI_LANGUAGE "French"
133 !insertmacro MUI_LANGUAGE "German"
134 !insertmacro MUI_LANGUAGE "Spanish"
135 !insertmacro MUI_LANGUAGE "SimpChinese"
136 !insertmacro MUI_LANGUAGE "TradChinese"
137 !insertmacro MUI_LANGUAGE "Japanese"
138 !insertmacro MUI_LANGUAGE "Korean"
139 ;!insertmacro MUI_LANGUAGE "Italian"
140 ;!insertmacro MUI_LANGUAGE "Dutch"
141 ;!insertmacro MUI_LANGUAGE "Danish"
142 ;!insertmacro MUI_LANGUAGE "Greek"
143 ;!insertmacro MUI_LANGUAGE "Russian"
144 !insertmacro MUI_LANGUAGE "PortugueseBR"
145 ;!insertmacro MUI_LANGUAGE "Polish"
146 ;!insertmacro MUI_LANGUAGE "Ukrainian"
147 ;!insertmacro MUI_LANGUAGE "Czech"
148 ;!insertmacro MUI_LANGUAGE "Slovak"
149 ;!insertmacro MUI_LANGUAGE "Croatian"
150 ;!insertmacro MUI_LANGUAGE "Bulgarian"
151 ;!insertmacro MUI_LANGUAGE "Hungarian"
152 ;!insertmacro MUI_LANGUAGE "Thai"
153 ;!insertmacro MUI_LANGUAGE "Romanian"
154 ;!insertmacro MUI_LANGUAGE "Macedonian"
155 ;!insertmacro MUI_LANGUAGE "Turkish"
157 ;--------------------------------
161 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
162 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
163 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
164 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
165 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
166 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
167 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
168 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
169 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
170 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
171 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
172 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
173 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
174 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
175 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
176 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
177 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
178 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
179 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
180 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
181 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
182 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
183 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
184 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
185 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
187 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
188 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
189 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
190 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
191 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
192 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
193 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
194 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
196 LangString DESC_secLoopback ${LANG_ENGLISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
197 LangString DESC_secLoopback ${LANG_GERMAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
198 LangString DESC_secLoopback ${LANG_SPANISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
199 LangString DESC_secLoopback ${LANG_SIMPCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
200 LangString DESC_secLoopback ${LANG_TRADCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
201 LangString DESC_secLoopback ${LANG_JAPANESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
202 LangString DESC_secLoopback ${LANG_KOREAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
203 LangString DESC_secLoopback ${LANG_PORTUGUESEBR} "MS Loopback adapter: Installs the adapter for a more reliable AFS client."
205 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
206 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
207 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
208 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
209 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
210 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
211 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
212 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
214 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
215 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
216 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
217 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
218 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
219 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
220 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
221 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
223 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
224 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
225 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
226 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
227 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
228 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
229 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
230 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
232 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
233 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
234 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
235 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
236 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
237 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
238 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
239 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
241 LangString DESC_secDEBUG ${LANG_ENGLISH} "Debug symbols: Used for debugging problems with OpenAFS."
242 LangString DESC_secDEBUG ${LANG_GERMAN} "Debug symbols: Used for debugging problems with OpenAFS."
243 LangString DESC_secDEBUG ${LANG_SPANISH} "Debug symbols: Used for debugging problems with OpenAFS."
244 LangString DESC_secDEBUG ${LANG_SIMPCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
245 LangString DESC_secDEBUG ${LANG_TRADCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
246 LangString DESC_secDEBUG ${LANG_JAPANESE} "Debug symbols: Used for debugging problems with OpenAFS."
247 LangString DESC_secDEBUG ${LANG_KOREAN} "Debug symbols: Used for debugging problems with OpenAFS."
248 LangString DESC_secDEBUG ${LANG_PORTUGUESEBR} "Debug symbols: Used for debugging problems with OpenAFS."
250 ; Popup error messages
251 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
252 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
253 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
254 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
255 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
256 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
257 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
258 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
260 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
261 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
262 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
263 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
264 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
265 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
266 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
267 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
269 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
270 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
271 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
272 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
273 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
274 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
275 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
276 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
279 ; Upgrade/re-install strings
280 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
281 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
282 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
283 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
284 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
285 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
286 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
287 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
289 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
290 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
291 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
292 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
293 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
294 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
295 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
296 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
298 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
299 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
300 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
301 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
302 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
303 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
304 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
305 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
307 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
308 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
309 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
310 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
311 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
312 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
313 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
314 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
316 ReserveFile "CellServPage.ini"
317 ReserveFile "AFSCell.ini"
318 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
319 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
320 ;--------------------------------
322 ; Macro - Upgrade DLL File
323 ; Written by Joost Verburg
324 ; ------------------------
327 ; LOCALFILE - Location of the new DLL file (on the compiler system)
328 ; DESTFILE - Location of the DLL file that should be upgraded
329 ; (on the user's system)
330 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
331 ; when the system has to be rebooted.
332 ; For Win9x support, this should be on the same volume as the
334 ; The Windows temp directory could be located on any volume,
335 ; so you cannot use this directory.
337 ; Define REPLACEDLL_NOREGISTER if you want to upgrade a DLL that does not
338 ; have to be registered.
340 ; Note: If you want to support Win9x, you can only use
341 ; short filenames (8.3).
344 ; !insertmacro ReplaceDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
347 !macro ReplaceDLL LOCALFILE DESTFILE TEMPBASEDIR
356 ;------------------------
357 ;Unique number for labels
359 !define REPLACEDLL_UNIQUE ${__LINE__}
361 ;------------------------
362 ;Copy the parameters used on run-time to a variable
363 ;This allows the usage of variables as paramter
365 StrCpy $R4 "${DESTFILE}"
366 StrCpy $R5 "${TEMPBASEDIR}"
368 ;------------------------
369 ;Check file and version
371 IfFileExists $R4 0 replacedll.copy_${REPLACEDLL_UNIQUE}
374 ; GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
375 ; GetDLLVersion $R4 $R2 $R3
376 ;IfErrors replacedll.upgrade_${REPLACEDLL_UNIQUE}
378 ;IntCmpU $R0 $R2 0 replacedll.done_${REPLACEDLL_UNIQUE} \
379 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
380 ;IntCmpU $R1 $R3 replacedll.done_${REPLACEDLL_UNIQUE} \
381 ; replacedll.done_${REPLACEDLL_UNIQUE} \
382 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
384 ;------------------------
385 ;Let's replace the DLL!
389 ;replacedll.upgrade_${REPLACEDLL_UNIQUE}:
390 !ifndef REPLACEDLL_NOREGISTER
395 ;------------------------
396 ;Try to copy the DLL directly
400 Call :replacedll.file_${REPLACEDLL_UNIQUE}
401 IfErrors 0 replacedll.noreboot_${REPLACEDLL_UNIQUE}
403 ;------------------------
404 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
406 GetTempFileName $R0 $R5
407 Call :replacedll.file_${REPLACEDLL_UNIQUE}
408 Rename /REBOOTOK $R0 $R4
410 ;------------------------
411 ;Register the DLL on reboot
413 !ifndef REPLACEDLL_NOREGISTER
414 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
415 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
418 Goto replacedll.done_${REPLACEDLL_UNIQUE}
420 ;------------------------
421 ;DLL does not exist - just extract
423 replacedll.copy_${REPLACEDLL_UNIQUE}:
425 Call :replacedll.file_${REPLACEDLL_UNIQUE}
427 ;------------------------
430 replacedll.noreboot_${REPLACEDLL_UNIQUE}:
431 !ifndef REPLACEDLL_NOREGISTER
435 ;------------------------
438 replacedll.done_${REPLACEDLL_UNIQUE}:
447 ;------------------------
450 Goto replacedll.end_${REPLACEDLL_UNIQUE}
452 ;------------------------
453 ;Called to extract the DLL
455 replacedll.file_${REPLACEDLL_UNIQUE}:
456 File /oname=$R0 "${LOCALFILE}"
459 replacedll.end_${REPLACEDLL_UNIQUE}:
461 ;------------------------
464 SetOverwrite lastused
466 !undef REPLACEDLL_UNIQUE
471 ;--------------------------------
474 ;Things that need to be extracted on first (keep these lines before any File command!)
475 ;Only useful for BZIP2 compression
476 !insertmacro MUI_RESERVEFILE_LANGDLL
478 ;--------------------------------
488 ;--------------------------------
491 ;----------------------
493 Section "AFS Client" secClient
495 SetShellVarContext all
497 ; Check for bad previous installation (if we are doing a new install)
498 Call IsAnyAFSInstalled
500 StrCmp $R0 "0" +1 skipCheck
504 ; Stop any running services or we can't replace the files
505 ; Stop the running processes
507 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
508 nsExec::Exec '$R0 afsd_service.exe'
509 nsExec::Exec '$R0 afscreds.exe'
510 Exec "afscreds.exe -z"
511 ; in case we are upgrading an old version that does not support -z
512 nsExec::Exec '$R0 afscreds.exe'
514 ;nsExec::Exec '$R0 krbcc32s.exe'
517 nsExec::Exec "net stop TransarcAFSDaemon"
518 nsExec::Exec "net stop TransarcAFSServer"
520 ; Do client components
521 SetOutPath "$INSTDIR\Client\Program"
522 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
523 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
524 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
525 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
526 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
527 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
528 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
529 File "${AFS_CLIENT_BUILDDIR}\aklog.exe"
530 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
531 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
532 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
533 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
534 File "${AFS_DESTDIR}\bin\kpasswd.exe"
535 File "${AFS_SERVER_BUILDDIR}\pts.exe"
536 File "${AFS_SERVER_BUILDDIR}\bos.exe"
537 File "${AFS_SERVER_BUILDDIR}\kas.exe"
538 File "${AFS_SERVER_BUILDDIR}\vos.exe"
539 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
540 File "${AFS_DESTDIR}\bin\translate_et.exe"
541 File "${AFS_DESTDIR}\etc\rxdebug.exe"
542 File "${AFS_DESTDIR}\etc\backup.exe"
543 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$INSTDIR\Client\Program\afs_cpa.cpl" "$INSTDIR"
546 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$SYSDIR\afslogon.dll" "$INSTDIR"
550 ; Get AFS CellServDB file
551 Call afs.GetCellServDB
554 ; Include Kerberos for Windows files in the installer...
555 SetOutPath "$INSTDIR\kfw\bin\"
556 File "${KFW_SOURCE}\bin\*"
557 SetOutPath "$INSTDIR\kfw\doc"
558 File "${KFW_SOURCE}\doc\*"
561 ;Store install folder
562 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
563 Call AFSCommon.Install
565 ; Write registry entries
566 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
567 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
568 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
569 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
570 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
571 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
572 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa" "$INSTDIR\Client\Program\afs_cpa.cpl"
575 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
576 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
577 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
578 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
579 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
580 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
581 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
582 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
583 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
585 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
586 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
587 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
588 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
589 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
590 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
591 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
593 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
594 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
596 ; Delete the DEBUG string
597 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
598 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
601 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
602 Call GetWindowsVersion
604 StrCmp $R1 "2000" +1 +2
605 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
607 ;Write start menu entries
608 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
609 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
611 ; Create command line options for AFSCreds...
613 ReadINIStr $R1 $2 "Field 3" "State"
616 ReadINIStr $R1 $2 "Field 5" "State"
619 ReadINIStr $R1 $2 "Field 7" "State"
622 ReadINIStr $R1 $2 "Field 9" "State"
625 ReadINIStr $R1 $2 "Field 13" "State"
629 WriteRegStr HKLM "SOFTWARE\OpenAFS\Client" "AfscredsShortcutParams" "$R2"
631 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
633 ReadINIStr $R1 $2 "Field 1" "State"
635 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
637 Push "$INSTDIR\Client\Program"
639 Push "$INSTDIR\Common"
643 ; Add kfw to path too
644 Push "$INSTDIR\kfw\bin"
648 ; Create the AFS service
649 SetOutPath "$INSTDIR\Common"
650 File "${AFS_WININSTALL_DIR}\Service.exe"
651 nsExec::Exec "net stop TransarcAFSDaemon"
652 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
653 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
655 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
656 StrCmp $R2 "" +1 skipremove
657 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
658 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
660 Delete "$INSTDIR\Common\service.exe"
663 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
664 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$SYSDIR\afslogon.dll"
665 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$SYSDIR\afslogon.dll"
666 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
667 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
669 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
670 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
671 ; to also include the service name.
673 ReadINIStr $R0 $1 "Field 7" "State"
674 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R0
675 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
676 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
679 ReadINIStr $R0 $1 "Field 2" "State"
680 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
681 ReadINIStr $R0 $1 "Field 3" "State"
682 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
683 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
684 ReadINIStr $R0 $1 "Field 5" "State"
685 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
686 ReadINIStr $R0 $1 "Field 9" "State"
687 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
688 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
689 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
690 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
691 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
692 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
694 ; Find Lana By Name appears to be causing grief for many people
695 ; I do not have time to track this down so I am simply going to disable it
696 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
698 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
699 strcpy $REG_VALUE "DependOnGroup"
700 strcpy $REG_DATA_1 "PNP_TDI"
701 strcpy $REG_DATA_2 ""
702 strcpy $REG_DATA_3 ""
703 Call RegWriteMultiStr
704 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
705 strcpy $REG_VALUE "DependOnService"
706 strcpy $REG_DATA_1 "Tcpip"
707 strcpy $REG_DATA_2 "NETBIOS"
708 strcpy $REG_DATA_3 "RpcSs"
709 Call RegWriteMultiStr
711 ; WinLogon Event Notification
712 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
713 WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
714 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
715 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
716 WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
720 WriteUninstaller "$INSTDIR\Uninstall.exe"
726 ; MS Loopback adapter
727 Section "MS Loopback Adapter" secLoopback
729 Call afs.InstallMSLoopback
734 ;------------------------
736 Section "AFS Server" secServer
738 SetShellVarContext all
740 ; Check for bad previous installation (if we are doing a new install)
741 Call IsAnyAFSInstalled
743 StrCmp $R0 "0" +1 skipCheck
747 ; Stop any running services or we can't replace the files
748 ; Stop the running processes
750 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
751 nsExec::Exec '$R0 afscreds.exe'
752 Exec "afscreds.exe -z"
753 ; in case we are upgrading an old version that does not support -z
755 nsExec::Exec '$R0 afscreds.exe'
757 ;nsExec::Exec '$R0 krbcc32s.exe'
762 nsExec::Exec "net stop TransarcAFSDaemon"
763 nsExec::Exec "net stop TransarcAFSServer"
765 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
766 CreateDirectory "$INSTDIR\Server\usr\afs\local"
767 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
769 SetOutPath "$INSTDIR\Server\usr\afs\bin"
770 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
771 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
772 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
773 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
774 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
775 File "${AFS_ETC_BUILDDIR}\butc.exe"
776 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
777 File "${AFS_ETC_BUILDDIR}\fms.exe"
778 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
779 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
780 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
781 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
782 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
783 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
784 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
785 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
787 ;AFS Server common files
788 SetOutPath "$INSTDIR\Common"
789 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
790 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
791 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
792 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
793 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
795 SetOutPath "$INSTDIR\Common"
799 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
801 ;Store install folder
802 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
804 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
805 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
806 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
807 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
808 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
809 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
810 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
811 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
812 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
813 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
814 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
815 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
816 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
817 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
818 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
819 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
820 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
822 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
823 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
825 ; Delete the DEBUG string
826 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
827 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
829 ; Install the service
830 SetOutPath "$INSTDIR\Common"
831 File "${AFS_WININSTALL_DIR}\Service.exe"
833 File "${AFS_WININSTALL_DIR}\Service.pdb"
836 ; Check if the service exists--if it does, this is an upgrade/re-install
837 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
838 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
840 ; If an uninstall was done, but we kept the config files, also skip
841 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
843 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
844 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
848 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
849 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
850 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
851 Delete "$INSTDIR\Common\service.exe"
853 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
854 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
857 WriteUninstaller "$INSTDIR\Uninstall.exe"
862 ;----------------------------
863 ; OpenAFS Control Center
864 Section "AFS Control Center" secControl
866 SetShellVarContext all
868 SetOutPath "$INSTDIR\Control Center"
869 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
870 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
871 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
874 ;AFS Server common files
875 Call AFSCommon.Install
877 SetOutPath "$INSTDIR\Common"
879 ;Store install folder
880 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
881 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
882 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
883 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
884 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
885 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
886 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
887 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
888 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
890 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
891 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
893 ; Delete the DEBUG string
894 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
895 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
898 ;Write start menu entries
899 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
900 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
901 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
903 WriteUninstaller "$INSTDIR\Uninstall.exe"
908 ;----------------------------
909 ; OpenAFS Supplemental Documentation
910 Section "Supplemental Documentation" secDocs
911 SetShellVarContext all
913 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
914 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
915 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
916 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
917 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
918 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
919 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
920 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
924 SetOutPath "$INSTDIR\Documentation\html"
925 File "..\..\doc\install\Documentation\en_US\html\*"
926 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
927 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
928 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
929 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
930 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
931 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
932 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
933 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
937 SetOutPath "$INSTDIR\Documentation"
938 File "..\..\doc\install\Documentation\de_DE\README.TXT"
939 SetOutPath "$INSTDIR\Documentation\html"
940 File "..\..\doc\install\Documentation\de_DE\html\*"
941 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
942 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
943 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
944 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
945 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
946 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
947 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
948 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
952 SetOutPath "$INSTDIR\Documentation"
953 File "..\..\doc\install\Documentation\es_ES\README.TXT"
954 SetOutPath "$INSTDIR\Documentation\html"
955 File "..\..\doc\install\Documentation\es_ES\html\*"
956 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
957 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
958 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
959 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
960 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
961 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
962 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
963 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
967 SetOutPath "$INSTDIR\Documentation"
968 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
969 SetOutPath "$INSTDIR\Documentation\html"
970 File "..\..\doc\install\Documentation\ja_JP\html\*"
971 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
972 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
973 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
974 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
975 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
976 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
977 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
978 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
982 SetOutPath "$INSTDIR\Documentation"
983 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
984 SetOutPath "$INSTDIR\Documentation\html"
985 File "..\..\doc\install\Documentation\ko_KR\html\*"
986 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
987 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
988 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
989 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
990 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
991 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
992 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
993 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
997 SetOutPath "$INSTDIR\Documentation"
998 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
999 SetOutPath "$INSTDIR\Documentation\html"
1000 File "..\..\doc\install\Documentation\pt_BR\html\*"
1001 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1002 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1003 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1004 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1005 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1006 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1007 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1008 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1012 SetOutPath "$INSTDIR\Documentation"
1013 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1014 SetOutPath "$INSTDIR\Documentation\html"
1015 File "..\..\doc\install\Documentation\zh_CN\html\*"
1016 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1017 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1018 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1019 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1020 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1021 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1022 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1023 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1027 SetOutPath "$INSTDIR\Documentation"
1028 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1029 SetOutPath "$INSTDIR\Documentation\html"
1030 File "..\..\doc\install\Documentation\zh_TW\html\*"
1031 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1032 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1033 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1034 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1035 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1036 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1037 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1038 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1043 ;Store install folder
1044 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1045 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1046 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1047 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1048 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1049 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1050 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1051 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1052 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1054 ; Write start menu shortcut
1055 SetOutPath "$SMPROGRAMS\OpenAFS"
1056 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1059 WriteUninstaller "$INSTDIR\Uninstall.exe"
1060 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1061 Call AFSCommon.Install
1065 Section "Software Development Kit (SDK)" secSDK
1067 SetOutPath "$INSTDIR\Client\Program\lib"
1068 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1070 SetOutPath "$INSTDIR\Client\Program\Include"
1071 File /r "${AFS_BUILD_INCDIR}\*.*"
1074 SetOutPath "$INSTDIR\Client\Program\Sample"
1075 File "..\..\afsd\sample\token.c"
1077 ;Store install folder
1078 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1079 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1080 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1081 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1082 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1083 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1084 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1085 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1086 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1088 WriteUninstaller "$INSTDIR\Uninstall.exe"
1089 SetOutPath "$SMPROGRAMS\OpenAFS"
1090 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1092 Call AFSCommon.Install
1096 Section "Debug symbols" secDebug
1097 SectionGetFlags ${secClient} $R0
1098 IntOp $R0 $R0 & ${SF_SELECTED}
1099 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1101 ; Do client components
1102 SetOutPath "$INSTDIR\Client\Program"
1103 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1104 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1105 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1106 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1107 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1108 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1109 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1110 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1111 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1112 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1113 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1114 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1115 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1116 File "${AFS_DESTDIR}\bin\pts.pdb"
1117 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1118 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1119 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1120 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1121 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1122 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1123 File "${AFS_DESTDIR}\etc\backup.pdb"
1124 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1126 SetOutPath "$SYSDIR"
1127 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1130 SectionGetFlags ${secServer} $R0
1131 IntOp $R0 $R0 & ${SF_SELECTED}
1132 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1134 ; Do server components
1135 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1136 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1137 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1138 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1139 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1140 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1141 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1142 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1143 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1144 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1145 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1146 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1147 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1148 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1149 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1150 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1151 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1153 ; Do server common components
1154 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1155 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1156 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1157 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1158 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1160 SetOutPath "$SYSDIR"
1161 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1163 ; Do control center components
1165 SectionGetFlags ${secControl} $R0
1166 IntOp $R0 $R0 & ${SF_SELECTED}
1167 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1169 SetOutPath "$INSTDIR\Control Center"
1170 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1171 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1172 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1175 SetOutPath "$INSTDIR\Common"
1177 File "${SYSTEMDIR}\msvcr71d.pdb"
1178 File "${SYSTEMDIR}\msvcp71d.pdb"
1179 File "${SYSTEMDIR}\mfc71d.pdb"
1182 File "${SYSTEMDIR}\msvcr70d.pdb"
1183 File "${SYSTEMDIR}\msvcp70d.pdb"
1184 File "${SYSTEMDIR}\mfc70d.pdb"
1186 File "${SYSTEMDIR}\mfc42d.pdb"
1187 File "${SYSTEMDIR}\msvcp60d.pdb"
1188 File "${SYSTEMDIR}\msvcrtd.pdb"
1193 SetOutPath "$INSTDIR\Common"
1194 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1195 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1196 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1197 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1198 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1199 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1200 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1201 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1202 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1203 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1204 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1205 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1206 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1207 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1212 ;Display the Finish header
1213 ;Insert this macro after the sections if you are not using a finish page
1214 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1216 ;--------------------------------
1217 ;Installer Functions
1221 !insertmacro MUI_LANGDLL_DISPLAY
1223 ; Set the default install options
1228 StrCmp $R0 "true" contInstall
1230 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1235 ; Check that RPC functions are installed (I believe any one of these can be present for
1237 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1238 StrCmp $R0 "rpcrt4.dll" contInstall2
1239 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1240 StrCmp $R0 "rpcrt4.dll" contInstall2
1241 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1242 StrCmp $R0 "rpcrt4.dll" contInstall2
1244 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "An error was detected with your Windows RPC installation. Please make sure Windows RPC is installed before installing OpenAFS."
1250 ; If the Loopback is already installed, we mark the option OFF and Read Only
1251 ; so the user can not select it.
1252 Call afs.isLoopbackInstalled
1253 IntCmp $R1 0 SkipLoop
1254 SectionGetFlags ${secLoopback} $0
1255 IntOp $0 $0 & ${SECTION_OFF}
1256 IntOp $0 $0 | ${SF_RO}
1257 SectionSetFlags ${secLoopback} $0
1260 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1262 SectionGetFlags ${secDebug} $0
1263 IntOp $0 $0 & ${SECTION_OFF}
1264 SectionSetFlags ${secDebug} $0
1266 SectionGetFlags ${secDebug} $0
1267 IntOp $0 $0 | ${SF_SELECTED}
1268 SectionSetFlags ${secDebug} $0
1270 ; Our logic should be like this.
1271 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1272 ; 2) If existing modules are installed, we keep them selected
1273 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1275 Call IsAnyAFSInstalled
1277 StrCmp $R0 "0" DefaultOptions
1279 Call ShouldClientInstall
1282 ; Check if it was an IBM/Transarc version
1283 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1284 StrCmp $R0 "IBM AFS Client" DoIBM
1285 StrCmp $R0 "Transarc AFS Client" DoIBM
1288 StrCmp $R2 "0" NoClient
1289 StrCmp $R2 "1" ReinstallClient
1290 StrCmp $R2 "2" UpgradeClient
1291 StrCmp $R2 "3" DowngradeClient
1294 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1295 StrCmp $R0 "3" +1 NotIBM
1300 SectionGetFlags ${secClient} $0
1301 IntOp $0 $0 | ${SF_SELECTED}
1302 SectionSetFlags ${secClient} $0
1303 ;# !insertmacro SelectSection ${secClient}
1306 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1307 SectionGetFlags ${secClient} $0
1308 IntOp $0 $0 & ${SECTION_OFF}
1309 SectionSetFlags ${secClient} $0
1312 SectionGetFlags ${secClient} $0
1313 IntOp $0 $0 | ${SF_SELECTED}
1314 SectionSetFlags ${secClient} $0
1315 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1318 SectionGetFlags ${secClient} $0
1319 IntOp $0 $0 | ${SF_SELECTED}
1320 SectionSetFlags ${secClient} $0
1321 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1324 SectionGetFlags ${secClient} $0
1325 IntOp $0 $0 | ${SF_SELECTED}
1326 SectionSetFlags ${secClient} $0
1327 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1333 Call ShouldServerInstall
1335 StrCmp $R2 "0" NoServer
1336 StrCmp $R2 "1" ReinstallServer
1337 StrCmp $R2 "2" UpgradeServer
1338 StrCmp $R2 "3" DowngradeServer
1340 SectionGetFlags ${secServer} $0
1341 IntOp $0 $0 | ${SF_SELECTED}
1342 SectionSetFlags ${secServer} $0
1343 ;# !insertmacro UnselectSection ${secServer}
1347 SectionGetFlags ${secServer} $0
1348 IntOp $0 $0 | ${SF_SELECTED}
1349 SectionSetFlags ${secServer} $0
1350 SectionSetText ${secServer} $(UPGRADE_SERVER)
1354 SectionGetFlags ${secServer} $0
1355 IntOp $0 $0 | ${SF_SELECTED}
1356 SectionSetFlags ${secServer} $0
1357 SectionSetText ${secServer} $(REINSTALL_SERVER)
1361 SectionGetFlags ${secServer} $0
1362 IntOp $0 $0 | ${SF_SELECTED}
1363 SectionSetFlags ${secServer} $0
1364 SectionSetText ${secServer} $(REINSTALL_SERVER)
1368 SectionGetFlags ${secServer} $0
1369 IntOp $0 $0 & ${SECTION_OFF}
1370 SectionSetFlags ${secServer} $0
1371 ;# !insertmacro UnselectSection ${secServer}
1375 ; Check control center
1376 Call IsControlInstalled
1378 StrCmp $R2 "0" NoControl
1380 SectionGetFlags ${secControl} $0
1381 IntOp $0 $0 | ${SF_SELECTED}
1382 SectionSetFlags ${secControl} $0
1386 SectionGetFlags ${secControl} $0
1387 IntOp $0 $0 & ${SECTION_OFF}
1388 SectionSetFlags ${secControl} $0
1389 ;# !insertmacro UnselectSection ${secControl}
1392 ; Check Documentation
1393 Call IsDocumentationInstalled
1395 StrCmp $R2 "0" NoDocs
1396 SectionGetFlags ${secDocs} $0
1397 IntOp $0 $0 | ${SF_SELECTED}
1398 SectionSetFlags ${secDocs} $0
1402 SectionGetFlags ${secDocs} $0
1403 IntOp $0 $0 & ${SECTION_OFF}
1404 SectionSetFlags ${secDocs} $0
1407 ; To check the SDK, we simply look to see if the files exist. If they do,
1408 ; the SDK is installed. If not, we don't need to push it on the user.
1409 ; If they are there, we want to make sure they match the installed version.
1411 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1412 SectionGetFlags ${secSDK} $0
1413 IntOp $0 $0 | ${SF_SELECTED}
1414 SectionSetFlags ${secSDK} $0
1418 SectionGetFlags ${secSDK} $0
1419 IntOp $0 $0 & ${SECTION_OFF}
1420 SectionSetFlags ${secSDK} $0
1425 SectionGetFlags ${secClient} $0
1426 IntOp $0 $0 | ${SF_SELECTED}
1427 SectionSetFlags ${secClient} $0
1429 ; Server NOT selected
1430 SectionGetFlags ${secServer} $0
1431 IntOp $0 $0 & ${SECTION_OFF}
1432 SectionSetFlags ${secServer} $0
1434 ; Control Center NOT selected
1435 SectionGetFlags ${secControl} $0
1436 IntOp $0 $0 & ${SECTION_OFF}
1437 SectionSetFlags ${secControl} $0
1438 ;# !insertmacro UnselectSection ${secControl}
1440 ; Documentation selected
1441 SectionGetFlags ${secDocs} $0
1442 IntOp $0 $0 | ${SF_SELECTED}
1443 SectionSetFlags ${secDocs} $0
1444 ;# !insertmacro UnselectSection ${secDocs}
1447 SectionGetFlags ${secSDK} $0
1448 IntOp $0 $0 & ${SECTION_OFF}
1449 SectionSetFlags ${secSDK} $0
1450 ;# !insertmacro UnselectSection ${secSDK}
1459 ; See if we can set a default installation path...
1460 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1461 StrCmp $R0 "" TryServer
1465 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1466 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1467 StrCmp $R0 "1" +1 SkipParent
1468 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1469 StrCmp $R0 "3" +1 SkipParent
1470 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1471 StrCmp $R0 "5000" UpParent
1472 StrCmp $R0 "5100" UpParent
1473 StrCmp $R0 "5200" UpParent
1474 StrCmp $R0 "5201" UpParent
1475 StrCmp $R0 "5299" UpParent
1487 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1488 StrCmp $R0 "" TryControl
1496 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1504 File /oname=$0 CellServPage.ini
1506 File /oname=$1 AFSCell.ini
1508 File /oname=$2 AFSCreds.ini
1509 ;File /oname=$1 ConfigURL.ini
1517 ;--------------------------------
1518 ; These are our cleanup functions
1519 Function .onInstFailed
1524 Function .onInstSuccess
1530 ;--------------------------------
1533 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1534 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1535 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1536 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1537 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1538 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1539 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1540 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1541 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1543 ;--------------------------------
1544 ;Uninstaller Section
1547 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1548 IfSilent StartRemove ; New in v2.0b4
1549 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1554 SetShellVarContext all
1555 ; Stop the running processes
1557 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1558 nsExec::Exec '$R0 afscreds.exe'
1559 Exec "afscreds.exe -z"
1560 ; in case we are upgrading an old version that does not support -z
1562 nsExec::Exec '$R0 afscreds.exe'
1564 nsExec::Exec '$R0 krbcc32s.exe'
1567 ; Delete the AFS service
1569 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1570 nsExec::Exec "net stop TransarcAFSDaemon"
1571 nsExec::Exec "net stop TransarcAFSServer"
1572 nsExec::Exec '$R0 u TransarcAFSDaemon'
1573 ; After we stop the service, but before we delete it, we have to remove the volume data
1574 ; This is because the storage locations are in the registry under the service key.
1575 ; Call un.RemoveAFSVolumes
1576 nsExec::Exec '$R0 u TransarcAFSServer'
1579 Call un.RemoveProvider
1581 Push "$INSTDIR\Client\Program"
1582 Call un.RemoveFromPath
1583 Push "$INSTDIR\Common"
1584 Call un.RemoveFromPath
1586 Push "$INSTDIR\kfw\bin"
1587 Call un.RemoveFromPath
1590 ; Delete documentation
1591 Delete "$INSTDIR\Documentation\README.TXT"
1592 Delete "$INSTDIR\Documentation\html\*"
1593 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1594 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1595 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1596 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1598 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1599 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1600 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1601 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1602 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1603 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1604 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1605 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1606 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1607 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1608 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1609 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1610 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1611 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1612 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1614 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1615 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1616 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1617 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1618 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1619 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1620 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1621 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1622 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1623 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1624 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1625 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1626 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1627 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1628 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1631 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1632 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1633 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1634 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1635 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1636 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1639 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1640 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1641 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1642 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1643 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1644 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1646 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1647 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1648 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1649 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1650 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1651 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1656 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1657 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1658 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1659 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1660 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1661 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1662 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1663 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1664 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1665 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1666 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1667 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1670 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1671 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1672 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1673 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1674 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1675 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1676 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1677 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1678 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1679 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1680 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1681 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1683 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1684 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1685 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1691 ; IfFileExists "$INSTDIR\Client\CellServDB" CellExists SkipDelAsk
1693 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1694 Delete "$INSTDIR\Client\CellServDB"
1696 ; Only remove krb5.ini if KfW was installed
1698 Delete "$WINDIR\krb5.ini"
1700 Delete "$INSTDIR\Client\afsdns.ini"
1703 Delete "$WINDIR\afsd_init.log"
1704 Delete "$INSTDIR\Uninstall.exe"
1707 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1708 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1709 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1710 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1711 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1712 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1713 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1714 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1715 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1716 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1717 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1718 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1719 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1720 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1721 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1722 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1723 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1725 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1726 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1727 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1728 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1729 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1730 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1731 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1732 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1733 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1734 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1735 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1736 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1737 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1738 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1739 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1740 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1741 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1743 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1744 ; do not delete the server configuration files
1745 ; or we will lose the volumes and authentication
1747 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1748 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1749 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1750 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1752 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1753 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1754 Delete /REBOOTOK "$SYSDIR\afslogon.dll"
1756 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1757 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1758 Delete /REBOOTOK "$SYSDIR\afslogon.pdb"
1760 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1761 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1762 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1763 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1764 RMDIr /r "$INSTDIR\Documentation\html"
1766 RMDir "$INSTDIR\Documentation"
1767 ; Delete DOC short cut
1768 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1770 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1772 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1773 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1774 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1775 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1776 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1777 RMDir "$INSTDIR\Client\Program\Sample"
1778 RMDir "$INSTDIR\Client\Program\Include\afs"
1779 RMDir "$INSTDIR\Client\Program\Include\rx"
1780 RMDir "$INSTDIR\Client\Program\Include"
1781 RMDir "$INSTDIR\Client\Program"
1782 RMDir "$INSTDIR\Client"
1786 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1787 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1788 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1789 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1790 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1791 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1794 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1795 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1796 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1797 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1798 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1799 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1801 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1802 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1803 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1804 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1805 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1806 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1811 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1812 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1813 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1814 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1815 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1816 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1817 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1818 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1819 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1820 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1821 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1822 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1825 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1826 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1827 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1828 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1829 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1830 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1831 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1832 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1833 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1834 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1835 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1836 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1838 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1839 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1840 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1845 Delete /REBOOTOK "$INSTDIR\Common\*"
1846 RMDir "$INSTDIR\Common"
1850 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1851 RMDIR /r "$INSTDIR\kfw\bin"
1852 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1853 RMDIR /r "$INSTDIR\kfw\doc"
1854 RMDIR /r "$INSTDIR\kfw"
1857 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1859 ; Remove control center
1860 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1861 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1862 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1863 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1864 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1865 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1866 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1867 RMDir "$INSTDIR\Control Center"
1869 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1870 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1871 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1872 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1873 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1874 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1875 RMDir /r "$SMPROGRAMS\OpenAFS"
1876 Delete "$SMSTARTUP\AFS Credentials.lnk"
1878 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1880 Delete "$R0\AFSCache"
1881 Delete "C:\AFSCache"
1883 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1884 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1885 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1886 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1887 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1888 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" "afs_cpa"
1890 ; WinLogon Event Notification
1891 DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
1893 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1894 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1895 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1896 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1897 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1898 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1899 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1900 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1901 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1902 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1903 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1909 ;--------------------------------
1910 ;Uninstaller Functions
1914 ;Get language from registry
1915 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1919 Function un.onUninstSuccess
1922 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1927 ;------------------------------
1928 ; Get the CellServDB file from the Internet
1930 Function afs.GetCellServDB
1932 ;Check if we should download CellServDB
1933 ReadINIStr $R0 $0 "Field 4" "State"
1934 StrCmp $R0 "1" DoDownload
1936 ;Do nothing if we're keeping the existing file
1937 ReadINIStr $R0 $0 "Field 2" "State"
1940 ReadINIStr $R0 $0 "Field 6" "State"
1941 StrCmp $R0 "1" CheckOther
1943 ReadINIStr $R0 $0 "Field 3" "State"
1944 StrCmp $R0 "1" UsePackaged
1946 ; If none of these, grab file from other location
1950 ReadINIStr $R0 $0 "Field 5" "State"
1951 NSISdl::download $R0 "$INSTDIR\Client\CellServDB"
1952 Pop $R0 ;Get the return value
1953 StrCmp $R0 "success" +2
1954 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1958 SetOutPath "$INSTDIR\Client"
1963 ReadINIStr $R0 $0 "Field 7" "State"
1965 CopyFiles $R0 "$INSTDIR\Client\CellServDB"
1971 Function AddProvider
1974 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1976 StrCpy $R0 "TransarcAFSDaemon"
1980 StrCmp $R0 "" +1 DoOther
1981 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
1982 StrCpy $R0 "$R1,TransarcAFSDaemon"
1983 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
1985 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1987 StrCpy $R0 "TransarcAFSDaemon"
1991 StrCmp $R0 "" +1 End
1992 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
1993 StrCpy $R0 "$R1,TransarcAFSDaemon"
1994 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2000 Function un.RemoveProvider
2002 StrCpy $R0 "TransarcAFSDaemon"
2004 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2005 Call un.RemoveFromProvider
2006 StrCpy $R0 "TransarcAFSDaemon"
2008 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2009 Call un.RemoveFromProvider
2013 Function un.RemoveFromProvider
2022 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2023 StrCpy $5 $1 1 -1 # copy last char
2024 StrCmp $5 "," +2 # if last char != ,
2025 StrCpy $1 "$1," # append ,
2028 Call un.StrStr ; Find `$0,` in $1
2029 Pop $2 ; pos of our dir
2030 StrCmp $2 "" unRemoveFromPath_done
2031 ; else, it is in path
2036 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2037 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2040 StrCpy $5 $3 1 -1 # copy last char
2041 StrCmp $5 "," 0 +2 # if last char == ,
2042 StrCpy $3 $3 -1 # remove last char
2044 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2046 unRemoveFromPath_done:
2056 Function CheckPathForAFS
2061 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2070 IfFileExists "$3\afsd_service.exe" Error
2071 StrCpy $1 $0 32768 1
2073 IntCmp $2 0 Done Done loop
2076 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."
2077 Abort "Unable to install OpenAFS"
2085 Function AddToUniquePath
2089 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2093 StrCmp $R0 "" +1 Done
2099 ;-------------------------------
2100 ;Do the page to get the CellServDB
2102 Function AFSPageGetCellServDB
2103 ; Skip this page if we are not installing the client
2104 SectionGetFlags ${secClient} $R0
2105 IntOp $R0 $R0 & ${SF_SELECTED}
2108 ; Set the install options here
2111 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2112 WriteINIStr $0 "Field 3" "State" "1"
2113 WriteINISTR $0 "Field 4" "State" "0"
2114 WriteINIStr $0 "Field 6" "State" "0"
2116 ; If there is an existing afsdcell.ini file, migrate it to CellServDB
2117 IfFileExists "$WINDIR\afsdcell.ini" +1 +3
2118 CopyFiles /SILENT "$WINDIR\afsdcell.ini" "$INSTDIR\Client\CellServDB"
2119 Delete "$WINDIR\afsdcell.ini"
2120 ; If there is an existing CellServDB file, allow the user to choose it and make it default
2121 IfFileExists "$INSTDIR\Client\CellServDB" +1 notpresent
2122 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2123 WriteINIStr $0 "Field 2" "State" "1"
2124 WriteINIStr $0 "Field 3" "State" "0"
2128 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2129 InstallOptions::dialog $0
2131 StrCmp $R1 "cancel" exit
2132 StrCmp $R1 "back" done
2133 StrCmp $R1 "success" done
2137 ; Check that if a file is set, a valid filename is entered...
2138 ReadINIStr $R0 $0 "Field 6" "State"
2139 StrCmp $R0 "1" CheckFileName
2141 ;Check if a URL is specified, one *IS* specified
2142 ReadINIStr $R0 $0 "Field 4" "State"
2143 StrCmp $R0 "1" CheckURL Skip
2146 ReadINIStr $R0 $0 "Field 5" "State"
2147 StrCmp $R0 "" +1 Skip
2148 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2149 WriteINIStr $0 "Field 4" "State" "0"
2153 ReadINIStr $R0 $0 "Field 7" "State"
2154 IfFileExists $R0 Skip
2156 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2157 WriteINIStr $0 "Field 6" "State" "0"
2165 Function AFSPageGetCellName
2167 ; Skip this page if we are not installing the client
2168 SectionGetFlags ${secClient} $R0
2169 IntOp $R0 $R0 & ${SF_SELECTED}
2173 ; If this is a server install, we do NOT want to recommend the Freelance client
2174 ; And we do not need to ask for the cell name.
2175 SectionGetFlags ${secServer} $R1
2176 IntOp $R1 $R1 & ${SF_SELECTED}
2177 StrCmp $R1 "1" +1 NotServer
2178 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2179 WriteINIStr $1 "Field 5" "State" "0"
2180 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2181 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2184 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2185 WriteINIStr $1 "Field 5" "State" "1"
2186 WriteINIStr $1 "Field 1" "Flags" ""
2187 WriteINIStr $1 "Field 2" "Flags" ""
2189 ; Get the current cell name, if any
2190 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2192 WriteINIStr $1 "Field 2" "State" $R1
2193 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2194 InstallOptions::dialog $1
2196 StrCmp $R1 "cancel" exit
2197 StrCmp $R1 "back" done
2198 StrCmp $R1 "success" done
2201 ReadINIStr $R0 $1 "Field 2" "State"
2202 StrCmp $R0 "" +1 good
2204 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2210 ;---------------------------------------------------------
2211 ;Do the page to get the afscreds.exe startup configuration
2213 Function AFSPageConfigAFSCreds
2214 ; Skip this page if we are not installing the client
2215 SectionGetFlags ${secClient} $R0
2216 IntOp $R0 $R0 & ${SF_SELECTED}
2219 ; Set the install options here
2221 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2222 InstallOptions::dialog $2
2224 StrCmp $R1 "cancel" exit
2225 StrCmp $R1 "back" done
2226 StrCmp $R1 "success" done
2234 ; Common install routines for each module
2235 Function AFSCommon.Install
2237 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2238 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2240 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2242 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2244 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2249 ;-------------------
2250 ; Get the currently installed version and place it on the stack
2252 Function GetInstalledVersion
2257 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2258 StrCmp $R0 "" NotTransarc done
2262 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2271 ; Functions to get each component of the version number
2272 Function GetInstalledVersionMajor
2277 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2278 StrCmp $R0 "" NotTransarc done
2282 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2291 Function GetInstalledVersionMinor
2296 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2297 StrCmp $R0 "" NotTransarc done
2301 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2310 Function GetInstalledVersionPatch
2315 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2316 StrCmp $R0 "" NotTransarc done
2320 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2331 ;-------------------------------
2332 ; Check if the client should be checked for default install
2333 Function ShouldClientInstall
2335 StrCpy $R2 "AFS Client"
2336 Call GetInstalledVersion
2339 StrCmp $R0 "" NotInstalled
2340 ; Now we see if it's an older or newer version
2342 Call GetInstalledVersionMajor
2344 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2346 Call GetInstalledVersionMinor
2348 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2350 Call GetInstalledVersionPatch
2352 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2375 ;-------------------------------
2376 ; Check how the server options should be set
2377 Function ShouldServerInstall
2379 StrCpy $R2 "AFS Server"
2380 Call GetInstalledVersion
2383 StrCmp $R0 "" NotInstalled
2384 ; Now we see if it's an older or newer version
2386 Call GetInstalledVersionMajor
2388 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2390 Call GetInstalledVersionMinor
2392 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2394 Call GetInstalledVersionPatch
2396 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2421 ; See if AFS Server is installed
2422 ; Returns: "1" if it is, 0 if it is not (on the stack)
2423 Function IsServerInstalled
2425 StrCpy $R2 "AFS Server"
2426 Call GetInstalledVersion
2429 StrCmp $R0 "" NotInstalled
2442 ; See if AFS Client is installed
2443 ; Returns: "1" if it is, 0 if it is not (on the stack)
2444 Function IsClientInstalled
2446 StrCpy $R2 "AFS Client"
2447 Call GetInstalledVersion
2450 StrCmp $R0 "" NotInstalled
2464 ; See if AFS Documentation is installed
2465 ; Returns: "1" if it is, 0 if it is not (on the stack)
2466 Function IsDocumentationInstalled
2468 StrCpy $R2 "AFS Supplemental Documentation"
2469 Call GetInstalledVersion
2472 StrCmp $R0 "" NotInstalled
2485 ; See if Control Center is installed
2486 ; Returns: "1" if it is, 0 if it is not (on the stack)
2487 Function IsControlInstalled
2489 StrCpy $R2 "AFS Control Center"
2490 Call GetInstalledVersion
2493 StrCmp $R0 "" NotInstalled
2508 ; output, top of stack (replaces, with e.g. whatever)
2509 ; modifies no other variables.
2511 Function GetParameters
2515 StrCpy $R0 $CMDLINE 1
2519 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2521 StrCpy $R0 $CMDLINE 1 $R2
2522 StrCmp $R0 $R1 loop2
2528 StrCpy $R0 $CMDLINE 1 $R2
2529 StrCmp $R0 " " loop2
2530 StrCpy $R0 $CMDLINE "" $R2
2537 ;Check to see if any AFS component is installed
2538 ;Returns: Value on stack: "1" if it is, "0" if it is not
2539 Function IsAnyAFSInstalled
2544 Call IsClientInstalled
2546 Call IsServerInstalled
2548 Call IsControlInstalled
2550 Call IsDocumentationInstalled
2552 ; Now we must see if ANY of the $Rn values are 1
2553 StrCmp $R0 "1" SomethingInstalled
2554 StrCmp $R1 "1" SomethingInstalled
2555 StrCmp $R2 "1" SomethingInstalled
2556 StrCmp $R3 "1" SomethingInstalled
2570 ;Install English Language Files
2571 Function AFSLangFiles
2573 SetOutPath "$INSTDIR\Common"
2574 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2575 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2576 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2577 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2578 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsadminutil.dll" "$INSTDIR\Common\afsadminutil.dll" "$INSTDIR"
2579 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll" "$INSTDIR\Common\afsclientadmin.dll" "$INSTDIR"
2580 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll" "$INSTDIR\Common\afsprocmgmt.dll" "$INSTDIR"
2581 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2582 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll" "$INSTDIR\Common\TaAfsAppLib.dll" "$INSTDIR"
2583 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll" "$INSTDIR\Common\afsvosadmin.dll" "$INSTDIR"
2584 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll" "$INSTDIR\Common\afsbosadmin.dll" "$INSTDIR"
2585 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll" "$INSTDIR\Common\afscfgadmin.dll" "$INSTDIR"
2586 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afskasadmin.dll" "$INSTDIR\Common\afskasadmin.dll" "$INSTDIR"
2587 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll" "$INSTDIR\Common\afsptsadmin.dll" "$INSTDIR"
2589 SetOutPath "$INSTDIR\Common"
2593 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71d.dll" "$INSTDIR\Common\msvcr71d.dll" "$INSTDIR"
2594 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71d.dll" "$INSTDIR\Common\msvcp71d.dll" "$INSTDIR"
2595 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71d.dll" "$INSTDIR\Common\mfc71d.dll" "$INSTDIR"
2596 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2597 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2598 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2599 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2600 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2601 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2602 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2603 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2604 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2607 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70d.dll" "$INSTDIR\Common\msvcr70d.dll" "$INSTDIR"
2608 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70d.dll" "$INSTDIR\Common\msvcp70d.dll" "$INSTDIR"
2609 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70d.dll" "$INSTDIR\Common\mfc70d.dll" "$INSTDIR"
2610 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2611 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2612 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2613 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2614 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2615 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2616 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2617 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2618 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2620 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42d.dll" "$INSTDIR\Common\mfc42d.dll" "$INSTDIR"
2621 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60d.dll" "$INSTDIR\Common\msvcp60d.dll" "$INSTDIR"
2622 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrtd.dll" "$INSTDIR\Common\msvcrtd.dll" "$INSTDIR"
2627 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc71.dll" "$INSTDIR\Common\mfc71.dll" "$INSTDIR"
2628 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr71.dll" "$INSTDIR\Common\msvcr71.dll" "$INSTDIR"
2629 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp71.dll" "$INSTDIR\Common\msvcp71.dll" "$INSTDIR"
2630 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHS.DLL" "$INSTDIR\Common\MFC71CHS.DLL" "$INSTDIR"
2631 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71CHT.DLL" "$INSTDIR\Common\MFC71CHT.DLL" "$INSTDIR"
2632 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71DEU.DLL" "$INSTDIR\Common\MFC71DEU.DLL" "$INSTDIR"
2633 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ENU.DLL" "$INSTDIR\Common\MFC71ENU.DLL" "$INSTDIR"
2634 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ESP.DLL" "$INSTDIR\Common\MFC71ESP.DLL" "$INSTDIR"
2635 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71FRA.DLL" "$INSTDIR\Common\MFC71FRA.DLL" "$INSTDIR"
2636 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71ITA.DLL" "$INSTDIR\Common\MFC71ITA.DLL" "$INSTDIR"
2637 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71JPN.DLL" "$INSTDIR\Common\MFC71JPN.DLL" "$INSTDIR"
2638 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC71KOR.DLL" "$INSTDIR\Common\MFC71KOR.DLL" "$INSTDIR"
2641 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc70.dll" "$INSTDIR\Common\mfc70.dll" "$INSTDIR"
2642 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcr70.dll" "$INSTDIR\Common\msvcr70.dll" "$INSTDIR"
2643 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp70.dll" "$INSTDIR\Common\msvcp70.dll" "$INSTDIR"
2644 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHS.DLL" "$INSTDIR\Common\MFC70CHS.DLL" "$INSTDIR"
2645 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70CHT.DLL" "$INSTDIR\Common\MFC70CHT.DLL" "$INSTDIR"
2646 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70DEU.DLL" "$INSTDIR\Common\MFC70DEU.DLL" "$INSTDIR"
2647 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ENU.DLL" "$INSTDIR\Common\MFC70ENU.DLL" "$INSTDIR"
2648 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ESP.DLL" "$INSTDIR\Common\MFC70ESP.DLL" "$INSTDIR"
2649 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70FRA.DLL" "$INSTDIR\Common\MFC70FRA.DLL" "$INSTDIR"
2650 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70ITA.DLL" "$INSTDIR\Common\MFC70ITA.DLL" "$INSTDIR"
2651 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70JPN.DLL" "$INSTDIR\Common\MFC70JPN.DLL" "$INSTDIR"
2652 !insertmacro ReplaceDLL "${SYSTEMDIR}\MFC70KOR.DLL" "$INSTDIR\Common\MFC70KOR.DLL" "$INSTDIR"
2654 !insertmacro ReplaceDLL "${SYSTEMDIR}\mfc42.dll" "$INSTDIR\Common\mfc42.dll" "$INSTDIR"
2655 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcp60.dll" "$INSTDIR\Common\msvcp60.dll" "$INSTDIR"
2656 !insertmacro ReplaceDLL "${SYSTEMDIR}\msvcrt.dll" "$INSTDIR\Common\msvcrt.dll" "$INSTDIR"
2661 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2662 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2663 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2664 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2665 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2666 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2667 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2668 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2672 SetOutPath "$INSTDIR\Documentation"
2673 File "..\..\doc\install\Documentation\en_US\README.TXT"
2675 SetOutPath "$INSTDIR\Client\Program"
2676 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2677 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2679 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2680 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2683 SetOutPath "$INSTDIR\Common"
2684 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2685 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2686 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2687 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2688 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2689 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2690 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2691 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2692 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2693 File "..\..\doc\help\en_US\afs-cc.CNT"
2694 File "..\..\doc\help\en_US\afs-cc.hlp"
2695 File "..\..\doc\help\en_US\afs-light.CNT"
2696 File "..\..\doc\help\en_US\afs-light.hlp"
2697 File "..\..\doc\help\en_US\afs-nt.CNT"
2698 File "..\..\doc\help\en_US\afs-nt.HLP"
2699 File "..\..\doc\help\en_US\taafscfg.CNT"
2700 File "..\..\doc\help\en_US\taafscfg.hlp"
2701 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2702 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2703 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2704 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2707 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2708 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2709 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2710 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2711 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2712 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2713 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2714 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2720 SetOutPath "$INSTDIR\Documentation"
2721 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2723 SetOutPath "$INSTDIR\Client\Program"
2724 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2725 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2727 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2728 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2731 SetOutPath "$INSTDIR\Common"
2732 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2733 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2734 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2735 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2736 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2737 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2738 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2739 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2740 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2741 File "..\..\doc\help\de_DE\afs-cc.CNT"
2742 File "..\..\doc\help\de_DE\afs-cc.hlp"
2743 File "..\..\doc\help\de_DE\afs-light.CNT"
2744 File "..\..\doc\help\de_DE\afs-light.hlp"
2745 File "..\..\doc\help\de_DE\afs-nt.CNT"
2746 File "..\..\doc\help\de_DE\afs-nt.HLP"
2747 File "..\..\doc\help\de_DE\taafscfg.CNT"
2748 File "..\..\doc\help\de_DE\taafscfg.hlp"
2749 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2750 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2751 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2752 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2755 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2756 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2757 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2758 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2759 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2760 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2761 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2762 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2768 SetOutPath "$INSTDIR\Documentation"
2769 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2771 SetOutPath "$INSTDIR\Client\Program"
2772 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2773 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2775 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2776 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2779 SetOutPath "$INSTDIR\Common"
2780 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2781 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2782 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2783 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2784 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2785 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2786 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2787 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2788 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2789 File "..\..\doc\help\es_ES\afs-cc.CNT"
2790 File "..\..\doc\help\es_ES\afs-cc.hlp"
2791 File "..\..\doc\help\es_ES\afs-light.CNT"
2792 File "..\..\doc\help\es_ES\afs-light.hlp"
2793 File "..\..\doc\help\es_ES\afs-nt.CNT"
2794 File "..\..\doc\help\es_ES\afs-nt.HLP"
2795 File "..\..\doc\help\es_ES\taafscfg.CNT"
2796 File "..\..\doc\help\es_ES\taafscfg.hlp"
2797 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2798 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2799 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2800 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2803 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2804 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2805 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2806 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2807 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2808 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2809 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2810 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2816 SetOutPath "$INSTDIR\Documentation"
2817 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2819 SetOutPath "$INSTDIR\Client\Program"
2820 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2821 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2823 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2824 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2827 SetOutPath "$INSTDIR\Common"
2828 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2829 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2830 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2831 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2832 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2833 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2834 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2835 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2836 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2837 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2838 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2839 File "..\..\doc\help\ja_JP\afs-light.CNT"
2840 File "..\..\doc\help\ja_JP\afs-light.hlp"
2841 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2842 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2843 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2844 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2845 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2846 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2847 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2848 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2851 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2852 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2853 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2854 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2855 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2856 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2857 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2858 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2864 SetOutPath "$INSTDIR\Documentation"
2865 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2867 SetOutPath "$INSTDIR\Client\Program"
2868 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2869 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2871 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2872 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2875 SetOutPath "$INSTDIR\Common"
2876 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2877 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2878 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2879 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2880 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2881 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2882 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2883 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2884 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2885 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2886 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2887 File "..\..\doc\help\ko_KR\afs-light.CNT"
2888 File "..\..\doc\help\ko_KR\afs-light.hlp"
2889 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2890 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2891 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2892 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2893 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2894 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2895 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2896 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2899 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2900 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2901 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2902 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2903 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2904 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2905 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2906 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2913 SetOutPath "$INSTDIR\Documentation"
2914 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2916 SetOutPath "$INSTDIR\Client\Program"
2917 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2918 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2920 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2921 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2924 SetOutPath "$INSTDIR\Common"
2925 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
2926 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
2927 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
2928 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
2929 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
2930 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
2931 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
2932 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
2933 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
2934 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2935 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2936 File "..\..\doc\help\pt_BR\afs-light.CNT"
2937 File "..\..\doc\help\pt_BR\afs-light.hlp"
2938 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2939 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2940 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2941 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2942 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2943 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2944 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2945 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2948 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2949 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2950 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2951 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2952 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2953 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2954 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2955 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2961 SetOutPath "$INSTDIR\Documentation"
2962 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2964 SetOutPath "$INSTDIR\Client\Program"
2965 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
2966 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2968 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2969 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2972 SetOutPath "$INSTDIR\Common"
2973 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
2974 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
2975 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
2976 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
2977 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
2978 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
2979 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
2980 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
2981 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
2982 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2983 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2984 File "..\..\doc\help\zh_CN\afs-light.CNT"
2985 File "..\..\doc\help\zh_CN\afs-light.hlp"
2986 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2987 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2988 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2989 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2990 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2991 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2992 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2993 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2996 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
2997 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
2998 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
2999 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3000 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3001 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3002 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3003 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3009 SetOutPath "$INSTDIR\Documentation"
3010 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3012 SetOutPath "$INSTDIR\Client\Program"
3013 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3014 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3016 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3017 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3020 SetOutPath "$INSTDIR\Common"
3021 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3022 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3023 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3024 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3025 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3026 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3027 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3028 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3029 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3030 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3031 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3032 File "..\..\doc\help\zh_TW\afs-light.CNT"
3033 File "..\..\doc\help\zh_TW\afs-light.hlp"
3034 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3035 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3036 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3037 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3038 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3039 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3040 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3041 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3044 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3045 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3046 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3047 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3048 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3049 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3050 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3051 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3060 ;====================================================
3061 ; AddToPath - Adds the given dir to the search path.
3062 ; Input - head of the stack
3063 ; Note - Win9x systems requires reboot
3064 ;====================================================
3071 # don't add if the path doesn't exist
3072 IfFileExists $0 "" AddToPath_done
3079 StrCmp $2 "" "" AddToPath_done
3084 StrCmp $2 "" "" AddToPath_done
3085 GetFullPathName /SHORT $3 $0
3090 StrCmp $2 "" "" AddToPath_done
3095 StrCmp $2 "" "" AddToPath_done
3099 StrCmp $1 1 AddToPath_NT
3102 FileOpen $1 "$1\autoexec.bat" a
3105 IntCmp $2 26 0 +2 +2 # DOS EOF
3106 FileSeek $1 -1 END # write over EOF
3107 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3113 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3114 StrCpy $2 $1 1 -1 # copy last char
3115 StrCmp $2 ";" 0 +2 # if last char == ;
3116 StrCpy $1 $1 -1 # remove last char
3117 StrCmp $1 "" AddToPath_NTdoIt
3120 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3121 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3130 ;====================================================
3131 ; RemoveFromPath - Remove a given dir from the path
3132 ; Input: head of the stack
3133 ;====================================================
3134 Function un.RemoveFromPath
3143 IntFmt $6 "%c" 26 # DOS EOF
3147 StrCmp $1 1 unRemoveFromPath_NT
3150 FileOpen $1 "$1\autoexec.bat" r
3153 GetFullPathName /SHORT $0 $0
3154 StrCpy $0 "SET PATH=%PATH%;$0"
3155 Goto unRemoveFromPath_dosLoop
3157 unRemoveFromPath_dosLoop:
3159 StrCpy $5 $3 1 -1 # read last char
3160 StrCmp $5 $6 0 +2 # if DOS EOF
3161 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3162 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3163 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3164 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3165 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3167 Goto unRemoveFromPath_dosLoop
3168 unRemoveFromPath_dosLoopRemoveLine:
3170 Goto unRemoveFromPath_dosLoop
3172 unRemoveFromPath_dosLoopEnd:
3176 Delete "$1\autoexec.bat"
3177 CopyFiles /SILENT $4 "$1\autoexec.bat"
3179 Goto unRemoveFromPath_done
3181 unRemoveFromPath_NT:
3182 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3183 StrCpy $5 $1 1 -1 # copy last char
3184 StrCmp $5 ";" +2 # if last char != ;
3185 StrCpy $1 "$1;" # append ;
3188 Call un.StrStr ; Find `$0;` in $1
3189 Pop $2 ; pos of our dir
3190 StrCmp $2 "" unRemoveFromPath_done
3191 ; else, it is in path
3196 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3197 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3200 StrCpy $5 $3 1 -1 # copy last char
3201 StrCmp $5 ";" 0 +2 # if last char == ;
3202 StrCpy $3 $3 -1 # remove last char
3204 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3205 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3207 unRemoveFromPath_done:
3217 ;====================================================
3218 ; IsNT - Returns 1 if the current system is NT, 0
3220 ; Output: head of the stack
3221 ;====================================================
3225 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3226 StrCmp $0 "" 0 IsNT_yes
3238 !insertmacro IsNT ""
3239 !insertmacro IsNT "un."
3241 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3243 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3244 ;====================================================
3245 ; StrStr - Finds a given string in another given string.
3246 ; Returns -1 if not found and the pos if found.
3247 ; Input: head of the stack - string to find
3248 ; second in the stack - string to find in
3249 ; Output: head of the stack
3250 ;====================================================
3252 Function ${un}StrStr
3253 Exch $R1 ; st=haystack,old$R1, $R1=needle
3254 Exch ; st=old$R1,haystack
3255 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3267 StrCpy $R5 $R2 $R3 $R4
3273 StrCpy $R1 $R2 "" $R4
3281 !insertmacro StrStr ""
3282 !insertmacro StrStr "un."
3285 !ifdef ADDSHAREDDLLUSED
3288 ; Increments a shared DLLs reference count.
3289 ; Use by passing one item on the stack (the full path of the DLL).
3292 ; Push $SYSDIR\myDll.dll
3296 Function AddSharedDLL
3299 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3301 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3307 ; un.RemoveSharedDLL
3309 ; Decrements a shared DLLs reference count, and removes if necessary.
3310 ; Use by passing one item on the stack (the full path of the DLL).
3311 ; Note: for use in the main installer (not the uninstaller), rename the
3312 ; function to RemoveSharedDLL.
3315 ; Push $SYSDIR\myDll.dll
3316 ; Call un.RemoveSharedDLL
3319 Function un.RemoveSharedDLL
3322 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3323 StrCmp $R0 "" remove
3325 IntCmp $R0 0 rk rk uk
3327 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3330 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3333 Delete /REBOOTOK $R1
3341 ; Installs the loopback adpater and disables it on Windows 2000
3342 Function afs.InstallMSLoopback
3344 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3345 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.254.253 255.255.255.252"
3349 Function afs.isLoopbackInstalled
3351 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3352 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3353 Delete "$TEMP\afsloopback.dll"
3359 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3360 ; Updated by Joost Verburg
3362 ; Returns on top of stack
3364 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3366 ; '' (Unknown Windows Version)
3369 ; Call GetWindowsVersion
3371 ; ; at this point $R0 is "NT 4.0" or whatnot
3373 Function GetWindowsVersion
3380 ReadRegStr $R0 HKLM \
3381 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3383 IfErrors 0 lbl_winnt
3386 ReadRegStr $R0 HKLM \
3387 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3390 StrCmp $R1 '4' 0 lbl_error
3394 StrCmp $R1 '4.0' lbl_win32_95
3395 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3413 StrCmp $R1 '3' lbl_winnt_x
3414 StrCmp $R1 '4' lbl_winnt_x
3418 StrCmp $R1 '5.0' lbl_winnt_2000
3419 StrCmp $R1 '5.1' lbl_winnt_XP
3420 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3423 StrCpy $R0 "NT $R0" 6
3448 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3449 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3450 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3451 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3455 ; Pop $R0 ; at this point $R0 is "true" or "false"
3457 Function IsUserAdmin
3466 UserInfo::GetAccountType
3469 StrCmp $R2 "Admin" 0 Continue
3470 ; Observation: I get here when running Win98SE. (Lilla)
3471 ; The functions UserInfo.dll looks for are there on Win98 too,
3472 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3473 ; on Win98, returns admin anyway. (per kichik)
3474 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3479 ; You should still check for an empty string because the functions
3480 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3483 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3487 ; comment/message below is by UserInfo.nsi author:
3488 ; This one means you don't need to care about admin or
3489 ; not admin because Windows 9x doesn't either
3490 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3494 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3502 ; input, top of stack (e.g. C:\Program Files\Poop)
3503 ; output, top of stack (replaces, with e.g. C:\Program Files)
3504 ; modifies no other variables.
3507 ; Push "C:\Program Files\Directory\Whatever"
3510 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3524 IntCmp $R1 $R2 get 0 get
3525 StrCpy $R3 $R0 1 -$R1
3540 ;--------------------------------
3541 ;Handle what must and what must not be installed
3542 Function .onSelChange
3543 ; If they install the server, they MUST install the client
3544 SectionGetFlags ${secServer} $R0
3545 IntOp $R0 $R0 & ${SF_SELECTED}
3546 StrCmp $R0 "1" MakeClientSelected
3548 ; If they install the control center, we'll give them the client.
3549 ; It may not be required, but it's a bit more useful
3550 SectionGetFlags ${secControl} $R0
3551 IntOp $R0 $R0 & ${SF_SELECTED}
3552 StrCmp $R0 "1" MakeClientSelected
3556 SectionGetFlags ${secClient} $R0
3557 IntOp $R0 $R0 | ${SF_SELECTED}
3558 SectionSetFlags ${secClient} $R0
3563 Function RegWriteMultiStr
3564 !define HKEY_CLASSES_ROOT 0x80000000
3565 !define HKEY_CURRENT_USER 0x80000001
3566 !define HKEY_LOCAL_MACHINE 0x80000002
3567 !define HKEY_USERS 0x80000003
3568 !define HKEY_PERFORMANCE_DATA 0x80000004
3569 !define HKEY_PERFORMANCE_TEXT 0x80000050
3570 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3571 !define HKEY_CURRENT_CONFIG 0x80000005
3572 !define HKEY_DYN_DATA 0x80000006
3574 !define KEY_QUERY_VALUE 0x0001
3575 !define KEY_SET_VALUE 0x0002
3576 !define KEY_CREATE_SUB_KEY 0x0004
3577 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3578 !define KEY_NOTIFY 0x0010
3579 !define KEY_CREATE_LINK 0x0020
3583 !define REG_EXPAND_SZ 2
3584 !define REG_BINARY 3
3586 !define REG_DWORD_LITTLE_ENDIAN 4
3587 !define REG_DWORD_BIG_ENDIAN 5
3589 !define REG_MULTI_SZ 7
3591 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3592 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3593 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3600 SetPluginUnload alwaysoff
3601 ; Create a buffer for the multi_sz value
3602 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3603 ; Open/create the registry key
3604 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3607 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3611 ; Fill in the buffer with our strings
3612 StrCpy $2 $1 ; Initial position
3614 StrLen $9 '$REG_DATA_1' ; Length of first string
3615 IntOp $9 $9 + 1 ; Plus null
3616 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3617 IntOp $2 $2 + $9 ; Advance to the next position
3619 StrCmp '$REG_DATA_2' "" terminate
3620 StrLen $9 '$REG_DATA_2' ; Length of second string
3621 IntOp $9 $9 + 1 ; Plus null
3622 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3623 IntOp $2 $2 + $9 ; Advance to the next position
3625 StrCmp '$REG_DATA_3' "" terminate
3626 StrLen $9 '$REG_DATA_3' ; Length of third string
3627 IntOp $9 $9 + 1 ; Plus null
3628 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3629 IntOp $2 $2 + $9 ; Advance to the next position
3632 System::Call "*$2(&t1 '')" ; Place the terminating null
3633 IntOp $2 $2 + 1 ; Advance to the next position
3635 ; Create/write the value
3636 IntOp $2 $2 - $1 ; Total length
3637 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3640 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3644 ; Close the registry key
3645 System::Call "${RegCloseKey}(r0)"
3649 SetPluginUnload manual