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 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
534 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
535 File "${AFS_DESTDIR}\bin\kpasswd.exe"
536 File "${AFS_SERVER_BUILDDIR}\pts.exe"
537 File "${AFS_SERVER_BUILDDIR}\bos.exe"
538 File "${AFS_SERVER_BUILDDIR}\kas.exe"
539 File "${AFS_SERVER_BUILDDIR}\vos.exe"
540 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
541 File "${AFS_DESTDIR}\bin\translate_et.exe"
542 File "${AFS_DESTDIR}\etc\rxdebug.exe"
543 File "${AFS_DESTDIR}\etc\backup.exe"
549 ; Do WINDOWSDIR components
551 ; Do Windows SYSDIR (Control panel)
553 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$SYSDIR\afs_cpa.cpl" "$INSTDIR"
555 ; Get AFS CellServDB file
556 Call afs.GetCellServDB
559 ; Include Kerberos for Windows files in the installer...
560 SetOutPath "$INSTDIR\kfw\bin\"
561 File "${KFW_SOURCE}\bin\*"
562 SetOutPath "$INSTDIR\kfw\doc"
563 File "${KFW_SOURCE}\doc\*"
566 ;Store install folder
567 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
568 Call AFSCommon.Install
570 ; Write registry entries
571 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
572 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
573 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
574 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
575 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
576 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
579 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
580 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
581 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
582 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
583 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
585 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
586 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
587 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
588 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
589 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
590 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
591 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
592 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
593 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
594 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
595 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
597 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
598 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
600 ; Delete the DEBUG string
601 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
602 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
605 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
606 Call GetWindowsVersion
608 StrCmp $R1 "2000" +1 +2
609 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
611 ;Write start menu entries
612 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
613 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
615 ; Create command line options for AFSCreds...
617 ReadINIStr $R1 $2 "Field 3" "State"
620 ReadINIStr $R1 $2 "Field 5" "State"
623 ReadINIStr $R1 $2 "Field 7" "State"
626 ReadINIStr $R1 $2 "Field 9" "State"
629 ReadINIStr $R1 $2 "Field 13" "State"
633 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
635 ReadINIStr $R1 $2 "Field 1" "State"
637 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
641 Push "$INSTDIR\Client\Program"
643 Push "$INSTDIR\Common"
647 ; Add kfw to path too
648 Push "$INSTDIR\kfw\bin"
652 ; Create the AFS service
653 SetOutPath "$INSTDIR\Common"
654 File "${AFS_WININSTALL_DIR}\Service.exe"
655 nsExec::Exec "net stop TransarcAFSDaemon"
656 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
657 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
659 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
660 StrCmp $R2 "" +1 skipremove
661 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
662 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
664 Delete "$INSTDIR\Common\service.exe"
667 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
668 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
669 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
670 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
671 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
672 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
674 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
675 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
676 ; to also include the service name.
678 ReadINIStr $R0 $1 "Field 7" "State"
679 ReadINIStr $R1 $1 "Field 9" "State"
680 ; Complicated way to do $R1 = ($R1 *2) + $R0
683 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R1
684 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
685 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
688 ReadINIStr $R0 $1 "Field 2" "State"
689 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
690 ReadINIStr $R0 $1 "Field 3" "State"
691 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
692 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
693 ReadINIStr $R0 $1 "Field 5" "State"
694 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
695 ReadINIStr $R0 $1 "Field 11" "State"
696 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
697 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
698 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
699 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
700 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
701 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
703 ; Find Lana By Name appears to be causing grief for many people
704 ; I do not have time to track this down so I am simply going to disable it
705 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
707 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
708 strcpy $REG_VALUE "DependOnGroup"
709 strcpy $REG_DATA_1 "PNP_TDI"
710 strcpy $REG_DATA_2 ""
711 strcpy $REG_DATA_3 ""
712 Call RegWriteMultiStr
713 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
714 strcpy $REG_VALUE "DependOnService"
715 strcpy $REG_DATA_1 "Tcpip"
716 strcpy $REG_DATA_2 "NETBIOS"
717 strcpy $REG_DATA_3 "RpcSs"
718 Call RegWriteMultiStr
722 WriteUninstaller "$INSTDIR\Uninstall.exe"
728 ; MS Loopback adapter
729 Section "MS Loopback Adapter" secLoopback
731 Call afs.InstallMSLoopback
736 ;------------------------
738 Section "AFS Server" secServer
740 SetShellVarContext all
742 ; Check for bad previous installation (if we are doing a new install)
743 Call IsAnyAFSInstalled
745 StrCmp $R0 "0" +1 skipCheck
749 ; Stop any running services or we can't replace the files
750 ; Stop the running processes
752 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
753 nsExec::Exec '$R0 afscreds.exe'
754 Exec "afscreds.exe -z"
755 ; in case we are upgrading an old version that does not support -z
757 nsExec::Exec '$R0 afscreds.exe'
759 ;nsExec::Exec '$R0 krbcc32s.exe'
764 nsExec::Exec "net stop TransarcAFSDaemon"
765 nsExec::Exec "net stop TransarcAFSServer"
767 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
768 CreateDirectory "$INSTDIR\Server\usr\afs\local"
769 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
771 SetOutPath "$INSTDIR\Server\usr\afs\bin"
772 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
773 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
774 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
775 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
776 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
777 File "${AFS_ETC_BUILDDIR}\butc.exe"
778 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
779 File "${AFS_ETC_BUILDDIR}\fms.exe"
780 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
781 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
782 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
783 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
784 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
785 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
786 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
787 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
789 ;AFS Server common files
790 SetOutPath "$INSTDIR\Common"
791 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
792 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
793 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
794 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
795 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
799 SetOutPath "$INSTDIR\Common"
803 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
805 ;Store install folder
806 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
808 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
809 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
810 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
811 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
812 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
813 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
814 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
815 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
816 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
817 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
818 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
819 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
820 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
821 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
822 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
823 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
824 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
826 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
827 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
829 ; Delete the DEBUG string
830 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
831 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
833 ; Install the service
834 SetOutPath "$INSTDIR\Common"
835 File "${AFS_WININSTALL_DIR}\Service.exe"
837 File "${AFS_WININSTALL_DIR}\Service.pdb"
840 ; Check if the service exists--if it does, this is an upgrade/re-install
841 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
842 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
844 ; If an uninstall was done, but we kept the config files, also skip
845 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
847 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
848 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
852 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
853 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
854 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
855 Delete "$INSTDIR\Common\service.exe"
857 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
858 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
861 WriteUninstaller "$INSTDIR\Uninstall.exe"
866 ;----------------------------
867 ; OpenAFS Control Center
868 Section "AFS Control Center" secControl
870 SetShellVarContext all
872 SetOutPath "$INSTDIR\Control Center"
873 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
874 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
875 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
878 ;AFS Server common files
879 Call AFSCommon.Install
881 SetOutPath "$INSTDIR\Common"
883 SetOutPath "$INSTDIR\Common"
886 File "${SYSTEMDIR}\msvcr71d.dll"
887 File "${SYSTEMDIR}\msvcp71d.dll"
888 File "${SYSTEMDIR}\mfc71d.dll"
889 File "${SYSTEMDIR}\MFC71CHS.DLL"
890 File "${SYSTEMDIR}\MFC71CHT.DLL"
891 File "${SYSTEMDIR}\MFC71DEU.DLL"
892 File "${SYSTEMDIR}\MFC71ENU.DLL"
893 File "${SYSTEMDIR}\MFC71ESP.DLL"
894 File "${SYSTEMDIR}\MFC71FRA.DLL"
895 File "${SYSTEMDIR}\MFC71ITA.DLL"
896 File "${SYSTEMDIR}\MFC71JPN.DLL"
897 File "${SYSTEMDIR}\MFC71KOR.DLL"
900 File "${SYSTEMDIR}\msvcr70d.dll"
901 File "${SYSTEMDIR}\msvcp70d.dll"
902 File "${SYSTEMDIR}\mfc70d.dll"
903 File "${SYSTEMDIR}\MFC70CHS.DLL"
904 File "${SYSTEMDIR}\MFC70CHT.DLL"
905 File "${SYSTEMDIR}\MFC70DEU.DLL"
906 File "${SYSTEMDIR}\MFC70ENU.DLL"
907 File "${SYSTEMDIR}\MFC70ESP.DLL"
908 File "${SYSTEMDIR}\MFC70FRA.DLL"
909 File "${SYSTEMDIR}\MFC70ITA.DLL"
910 File "${SYSTEMDIR}\MFC70JPN.DLL"
911 File "${SYSTEMDIR}\MFC70KOR.DLL"
913 File "${SYSTEMDIR}\mfc42d.dll"
914 File "${SYSTEMDIR}\msvcp60d.dll"
915 File "${SYSTEMDIR}\msvcrtd.dll"
920 File "${SYSTEMDIR}\mfc71.dll"
921 File "${SYSTEMDIR}\msvcr71.dll"
922 File "${SYSTEMDIR}\msvcp71.dll"
923 File "${SYSTEMDIR}\MFC71CHS.DLL"
924 File "${SYSTEMDIR}\MFC71CHT.DLL"
925 File "${SYSTEMDIR}\MFC71DEU.DLL"
926 File "${SYSTEMDIR}\MFC71ENU.DLL"
927 File "${SYSTEMDIR}\MFC71ESP.DLL"
928 File "${SYSTEMDIR}\MFC71FRA.DLL"
929 File "${SYSTEMDIR}\MFC71ITA.DLL"
930 File "${SYSTEMDIR}\MFC71JPN.DLL"
931 File "${SYSTEMDIR}\MFC71KOR.DLL"
934 File "${SYSTEMDIR}\mfc70.dll"
935 File "${SYSTEMDIR}\msvcr70.dll"
936 File "${SYSTEMDIR}\msvcp70.dll"
937 File "${SYSTEMDIR}\MFC70CHS.DLL"
938 File "${SYSTEMDIR}\MFC70CHT.DLL"
939 File "${SYSTEMDIR}\MFC70DEU.DLL"
940 File "${SYSTEMDIR}\MFC70ENU.DLL"
941 File "${SYSTEMDIR}\MFC70ESP.DLL"
942 File "${SYSTEMDIR}\MFC70FRA.DLL"
943 File "${SYSTEMDIR}\MFC70ITA.DLL"
944 File "${SYSTEMDIR}\MFC70JPN.DLL"
945 File "${SYSTEMDIR}\MFC70KOR.DLL"
947 File "${SYSTEMDIR}\mfc42.dll"
948 File "${SYSTEMDIR}\msvcp60.dll"
949 File "${SYSTEMDIR}\msvcrt.dll"
953 ;Store install folder
954 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
955 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
956 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
957 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
958 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
959 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
960 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
961 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
962 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
964 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
965 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
967 ; Delete the DEBUG string
968 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
969 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
972 ;Write start menu entries
973 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
974 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
975 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
977 WriteUninstaller "$INSTDIR\Uninstall.exe"
982 ;----------------------------
983 ; OpenAFS Supplemental Documentation
984 Section "Supplemental Documentation" secDocs
985 SetShellVarContext all
987 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
988 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
989 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
990 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
991 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
992 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
993 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
994 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
998 SetOutPath "$INSTDIR\Documentation\html"
999 File "..\..\doc\install\Documentation\en_US\html\*"
1000 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1001 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
1002 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1003 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
1004 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1005 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
1006 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1007 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
1011 SetOutPath "$INSTDIR\Documentation"
1012 File "..\..\doc\install\Documentation\de_DE\README.TXT"
1013 SetOutPath "$INSTDIR\Documentation\html"
1014 File "..\..\doc\install\Documentation\de_DE\html\*"
1015 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1016 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
1017 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1018 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
1019 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1020 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
1021 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1022 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
1026 SetOutPath "$INSTDIR\Documentation"
1027 File "..\..\doc\install\Documentation\es_ES\README.TXT"
1028 SetOutPath "$INSTDIR\Documentation\html"
1029 File "..\..\doc\install\Documentation\es_ES\html\*"
1030 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1031 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
1032 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1033 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
1034 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1035 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
1036 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1037 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
1041 SetOutPath "$INSTDIR\Documentation"
1042 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
1043 SetOutPath "$INSTDIR\Documentation\html"
1044 File "..\..\doc\install\Documentation\ja_JP\html\*"
1045 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1046 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
1047 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1048 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
1049 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1050 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
1051 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1052 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
1056 SetOutPath "$INSTDIR\Documentation"
1057 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
1058 SetOutPath "$INSTDIR\Documentation\html"
1059 File "..\..\doc\install\Documentation\ko_KR\html\*"
1060 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1061 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1062 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1063 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
1064 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1065 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
1066 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1067 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1071 SetOutPath "$INSTDIR\Documentation"
1072 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1073 SetOutPath "$INSTDIR\Documentation\html"
1074 File "..\..\doc\install\Documentation\pt_BR\html\*"
1075 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1076 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1077 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1078 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1079 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1080 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1081 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1082 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1086 SetOutPath "$INSTDIR\Documentation"
1087 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1088 SetOutPath "$INSTDIR\Documentation\html"
1089 File "..\..\doc\install\Documentation\zh_CN\html\*"
1090 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1091 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1092 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1093 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1094 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1095 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1096 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1097 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1101 SetOutPath "$INSTDIR\Documentation"
1102 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1103 SetOutPath "$INSTDIR\Documentation\html"
1104 File "..\..\doc\install\Documentation\zh_TW\html\*"
1105 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1106 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1107 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1108 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1109 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1110 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1111 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1112 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1117 ;Store install folder
1118 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1119 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1120 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1121 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1122 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1123 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1124 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1125 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1126 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1128 ; Write start menu shortcut
1129 SetOutPath "$SMPROGRAMS\OpenAFS"
1130 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1133 WriteUninstaller "$INSTDIR\Uninstall.exe"
1134 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1135 Call AFSCommon.Install
1139 Section "Software Development Kit (SDK)" secSDK
1141 SetOutPath "$INSTDIR\Client\Program\lib"
1142 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1144 SetOutPath "$INSTDIR\Client\Program\Include"
1145 File /r "${AFS_BUILD_INCDIR}\*.*"
1148 SetOutPath "$INSTDIR\Client\Program\Sample"
1149 File "..\..\afsd\sample\token.c"
1151 ;Store install folder
1152 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1153 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1154 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1155 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1156 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1157 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1158 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1159 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1160 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1162 WriteUninstaller "$INSTDIR\Uninstall.exe"
1163 SetOutPath "$SMPROGRAMS\OpenAFS"
1164 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1166 Call AFSCommon.Install
1170 Section "Debug symbols" secDebug
1171 SectionGetFlags ${secClient} $R0
1172 IntOp $R0 $R0 & ${SF_SELECTED}
1173 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1175 ; Do client components
1176 SetOutPath "$INSTDIR\Client\Program"
1177 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1178 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1179 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1180 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1181 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1182 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1183 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1184 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1185 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1186 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1187 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1188 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1189 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1190 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1191 File "${AFS_DESTDIR}\bin\pts.pdb"
1192 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1193 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1194 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1195 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1196 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1197 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1198 File "${AFS_DESTDIR}\etc\backup.pdb"
1200 SetOutPath "$SYSDIR"
1201 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1204 SectionGetFlags ${secServer} $R0
1205 IntOp $R0 $R0 & ${SF_SELECTED}
1206 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1208 ; Do server components
1209 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1210 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1211 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1212 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1213 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1214 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1215 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1216 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1217 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1218 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1219 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1220 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1221 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1222 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1223 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1224 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1225 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1227 ; Do server common components
1228 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1229 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1230 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1231 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1232 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1234 SetOutPath "$SYSDIR"
1235 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1237 ; Do control center components
1239 SectionGetFlags ${secControl} $R0
1240 IntOp $R0 $R0 & ${SF_SELECTED}
1241 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1243 SetOutPath "$INSTDIR\Control Center"
1244 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1245 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1246 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1249 SetOutPath "$INSTDIR\Common"
1251 File "${SYSTEMDIR}\msvcr71d.pdb"
1252 File "${SYSTEMDIR}\msvcp71d.pdb"
1253 File "${SYSTEMDIR}\mfc71d.pdb"
1256 File "${SYSTEMDIR}\msvcr70d.pdb"
1257 File "${SYSTEMDIR}\msvcp70d.pdb"
1258 File "${SYSTEMDIR}\mfc70d.pdb"
1260 File "${SYSTEMDIR}\mfc42d.pdb"
1261 File "${SYSTEMDIR}\msvcp60d.pdb"
1262 File "${SYSTEMDIR}\msvcrtd.pdb"
1267 SetOutPath "$INSTDIR\Common"
1268 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1269 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1270 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1271 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1272 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1273 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1274 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1275 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1276 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1277 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1278 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1279 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1280 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1281 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1286 ;Display the Finish header
1287 ;Insert this macro after the sections if you are not using a finish page
1288 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1290 ;--------------------------------
1291 ;Installer Functions
1295 !insertmacro MUI_LANGDLL_DISPLAY
1297 ; Set the default install options
1302 StrCmp $R0 "true" contInstall
1304 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1309 ; Check that RPC functions are installed (I believe any one of these can be present for
1311 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1312 StrCmp $R0 "rpcrt4.dll" contInstall2
1313 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1314 StrCmp $R0 "rpcrt4.dll" contInstall2
1315 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1316 StrCmp $R0 "rpcrt4.dll" contInstall2
1318 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."
1324 ; If the Loopback is already installed, we mark the option OFF and Read Only
1325 ; so the user can not select it.
1326 Call afs.isLoopbackInstalled
1327 IntCmp $R1 0 SkipLoop
1328 SectionGetFlags ${secLoopback} $0
1329 IntOp $0 $0 & ${SECTION_OFF}
1330 IntOp $0 $0 | ${SF_RO}
1331 SectionSetFlags ${secLoopback} $0
1334 ; Never install debug symbols unless explicitly selected, except in DEBUG mode
1336 SectionGetFlags ${secDebug} $0
1337 IntOp $0 $0 & ${SECTION_OFF}
1338 SectionSetFlags ${secDebug} $0
1340 SectionGetFlags ${secDebug} $0
1341 IntOp $0 $0 | ${SF_SELECTED}
1342 SectionSetFlags ${secDebug} $0
1344 ; Our logic should be like this.
1345 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1346 ; 2) If existing modules are installed, we keep them selected
1347 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1349 Call IsAnyAFSInstalled
1351 StrCmp $R0 "0" DefaultOptions
1353 Call ShouldClientInstall
1356 ; Check if it was an IBM/Transarc version
1357 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1358 StrCmp $R0 "IBM AFS Client" DoIBM
1359 StrCmp $R0 "Transarc AFS Client" DoIBM
1362 StrCmp $R2 "0" NoClient
1363 StrCmp $R2 "1" ReinstallClient
1364 StrCmp $R2 "2" UpgradeClient
1365 StrCmp $R2 "3" DowngradeClient
1368 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1369 StrCmp $R0 "3" +1 NotIBM
1374 SectionGetFlags ${secClient} $0
1375 IntOp $0 $0 | ${SF_SELECTED}
1376 SectionSetFlags ${secClient} $0
1377 ;# !insertmacro SelectSection ${secClient}
1380 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1381 SectionGetFlags ${secClient} $0
1382 IntOp $0 $0 & ${SECTION_OFF}
1383 SectionSetFlags ${secClient} $0
1386 SectionGetFlags ${secClient} $0
1387 IntOp $0 $0 | ${SF_SELECTED}
1388 SectionSetFlags ${secClient} $0
1389 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1392 SectionGetFlags ${secClient} $0
1393 IntOp $0 $0 | ${SF_SELECTED}
1394 SectionSetFlags ${secClient} $0
1395 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1398 SectionGetFlags ${secClient} $0
1399 IntOp $0 $0 | ${SF_SELECTED}
1400 SectionSetFlags ${secClient} $0
1401 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1407 Call ShouldServerInstall
1409 StrCmp $R2 "0" NoServer
1410 StrCmp $R2 "1" ReinstallServer
1411 StrCmp $R2 "2" UpgradeServer
1412 StrCmp $R2 "3" DowngradeServer
1414 SectionGetFlags ${secServer} $0
1415 IntOp $0 $0 | ${SF_SELECTED}
1416 SectionSetFlags ${secServer} $0
1417 ;# !insertmacro UnselectSection ${secServer}
1421 SectionGetFlags ${secServer} $0
1422 IntOp $0 $0 | ${SF_SELECTED}
1423 SectionSetFlags ${secServer} $0
1424 SectionSetText ${secServer} $(UPGRADE_SERVER)
1428 SectionGetFlags ${secServer} $0
1429 IntOp $0 $0 | ${SF_SELECTED}
1430 SectionSetFlags ${secServer} $0
1431 SectionSetText ${secServer} $(REINSTALL_SERVER)
1435 SectionGetFlags ${secServer} $0
1436 IntOp $0 $0 | ${SF_SELECTED}
1437 SectionSetFlags ${secServer} $0
1438 SectionSetText ${secServer} $(REINSTALL_SERVER)
1442 SectionGetFlags ${secServer} $0
1443 IntOp $0 $0 & ${SECTION_OFF}
1444 SectionSetFlags ${secServer} $0
1445 ;# !insertmacro UnselectSection ${secServer}
1449 ; Check control center
1450 Call IsControlInstalled
1452 StrCmp $R2 "0" NoControl
1454 SectionGetFlags ${secControl} $0
1455 IntOp $0 $0 | ${SF_SELECTED}
1456 SectionSetFlags ${secControl} $0
1460 SectionGetFlags ${secControl} $0
1461 IntOp $0 $0 & ${SECTION_OFF}
1462 SectionSetFlags ${secControl} $0
1463 ;# !insertmacro UnselectSection ${secControl}
1466 ; Check Documentation
1467 Call IsDocumentationInstalled
1469 StrCmp $R2 "0" NoDocs
1470 SectionGetFlags ${secDocs} $0
1471 IntOp $0 $0 | ${SF_SELECTED}
1472 SectionSetFlags ${secDocs} $0
1476 SectionGetFlags ${secDocs} $0
1477 IntOp $0 $0 & ${SECTION_OFF}
1478 SectionSetFlags ${secDocs} $0
1481 ; To check the SDK, we simply look to see if the files exist. If they do,
1482 ; the SDK is installed. If not, we don't need to push it on the user.
1483 ; If they are there, we want to make sure they match the installed version.
1485 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1486 SectionGetFlags ${secSDK} $0
1487 IntOp $0 $0 | ${SF_SELECTED}
1488 SectionSetFlags ${secSDK} $0
1492 SectionGetFlags ${secSDK} $0
1493 IntOp $0 $0 & ${SECTION_OFF}
1494 SectionSetFlags ${secSDK} $0
1499 SectionGetFlags ${secClient} $0
1500 IntOp $0 $0 | ${SF_SELECTED}
1501 SectionSetFlags ${secClient} $0
1503 ; Server NOT selected
1504 SectionGetFlags ${secServer} $0
1505 IntOp $0 $0 & ${SECTION_OFF}
1506 SectionSetFlags ${secServer} $0
1508 ; Control Center NOT selected
1509 SectionGetFlags ${secControl} $0
1510 IntOp $0 $0 & ${SECTION_OFF}
1511 SectionSetFlags ${secControl} $0
1512 ;# !insertmacro UnselectSection ${secControl}
1514 ; Documentation selected
1515 SectionGetFlags ${secDocs} $0
1516 IntOp $0 $0 | ${SF_SELECTED}
1517 SectionSetFlags ${secDocs} $0
1518 ;# !insertmacro UnselectSection ${secDocs}
1521 SectionGetFlags ${secSDK} $0
1522 IntOp $0 $0 & ${SECTION_OFF}
1523 SectionSetFlags ${secSDK} $0
1524 ;# !insertmacro UnselectSection ${secSDK}
1533 ; See if we can set a default installation path...
1534 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1535 StrCmp $R0 "" TryServer
1539 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1540 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1541 StrCmp $R0 "1" +1 SkipParent
1542 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1543 StrCmp $R0 "3" +1 SkipParent
1544 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1545 StrCmp $R0 "5000" UpParent
1546 StrCmp $R0 "5100" UpParent
1547 StrCmp $R0 "5200" UpParent
1548 StrCmp $R0 "5201" UpParent
1549 StrCmp $R0 "5299" UpParent
1561 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1562 StrCmp $R0 "" TryControl
1570 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1578 File /oname=$0 CellServPage.ini
1580 File /oname=$1 AFSCell.ini
1582 File /oname=$2 AFSCreds.ini
1583 ;File /oname=$1 ConfigURL.ini
1591 ;--------------------------------
1592 ; These are our cleanup functions
1593 Function .onInstFailed
1598 Function .onInstSuccess
1604 ;--------------------------------
1607 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1608 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1609 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1610 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1611 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1612 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1613 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1614 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1615 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1617 ;--------------------------------
1618 ;Uninstaller Section
1621 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1622 IfSilent StartRemove ; New in v2.0b4
1623 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1628 SetShellVarContext all
1629 ; Stop the running processes
1631 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1632 nsExec::Exec '$R0 afscreds.exe'
1633 Exec "afscreds.exe -z"
1634 ; in case we are upgrading an old version that does not support -z
1636 nsExec::Exec '$R0 afscreds.exe'
1638 nsExec::Exec '$R0 krbcc32s.exe'
1641 ; Delete the AFS service
1643 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1644 nsExec::Exec "net stop TransarcAFSDaemon"
1645 nsExec::Exec "net stop TransarcAFSServer"
1646 nsExec::Exec '$R0 u TransarcAFSDaemon'
1647 ; After we stop the service, but before we delete it, we have to remove the volume data
1648 ; This is because the storage locations are in the registry under the service key.
1649 ; Call un.RemoveAFSVolumes
1650 nsExec::Exec '$R0 u TransarcAFSServer'
1653 Call un.RemoveProvider
1655 Push "$INSTDIR\Client\Program"
1656 Call un.RemoveFromPath
1657 Push "$INSTDIR\Common"
1658 Call un.RemoveFromPath
1660 Push "$INSTDIR\kfw\bin"
1661 Call un.RemoveFromPath
1664 ; Delete documentation
1665 Delete "$INSTDIR\Documentation\README.TXT"
1666 Delete "$INSTDIR\Documentation\html\*"
1667 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1668 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1669 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1670 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1672 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1673 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1674 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1675 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1676 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1677 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1678 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1679 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1680 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1681 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1682 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1683 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1684 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1685 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1686 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1688 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1689 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1690 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1691 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1692 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1693 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1694 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1695 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1696 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1697 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1698 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1699 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1700 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1701 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1702 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1705 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1706 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1707 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1708 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1709 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1710 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1713 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1714 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1715 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1716 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1717 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1718 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1720 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1721 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1722 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1723 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1724 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1725 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1729 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1730 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1731 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1732 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1733 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1734 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1735 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1736 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1737 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1738 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1739 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1740 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1743 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1744 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1745 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1746 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1747 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1748 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1749 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1750 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1751 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1752 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1753 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1754 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1756 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1757 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1758 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1764 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1766 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1767 Delete "$WINDIR\afsdcell.ini"
1769 Delete "$WINDIR\afsdsbmt.ini"
1770 ; Only remove krb5.ini if KfW was installed
1772 Delete "$WINDIR\krb5.ini"
1774 Delete "$WINDIR\afsdns.ini"
1775 Delete "$WINDIR\afs_freelance.ini"
1778 Delete "$WINDIR\afsd_init.log"
1779 Delete "$INSTDIR\Uninstall.exe"
1782 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1783 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1784 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1785 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1786 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1787 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1788 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1789 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1790 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1791 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1792 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1793 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1794 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1795 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1796 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1797 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1798 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1800 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1801 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1802 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1803 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1804 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1805 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1806 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1807 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1808 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1809 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1810 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1811 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1812 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1813 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1814 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1815 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1816 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1818 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1819 ; do not delete the server configuration files
1820 ; or we will lose the volumes and authentication
1822 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1823 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1824 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1825 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1827 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1828 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1830 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1831 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1833 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1834 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1835 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1836 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1837 RMDIr /r "$INSTDIR\Documentation\html"
1839 RMDir "$INSTDIR\Documentation"
1840 ; Delete DOC short cut
1841 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1843 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1845 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1846 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1847 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1848 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1849 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1850 RMDir "$INSTDIR\Client\Program\Sample"
1851 RMDir "$INSTDIR\Client\Program\Include\afs"
1852 RMDir "$INSTDIR\Client\Program\Include\rx"
1853 RMDir "$INSTDIR\Client\Program\Include"
1854 RMDir "$INSTDIR\Client\Program"
1855 RMDir "$INSTDIR\Client"
1859 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1860 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1861 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1862 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1863 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1864 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1867 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1868 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1869 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1870 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1871 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1872 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1874 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1875 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1876 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1877 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1878 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1879 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1884 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1885 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1886 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1887 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1888 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1889 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1890 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1891 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1892 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1893 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1894 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1895 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1898 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1899 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1900 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1901 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1902 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1903 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1904 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1905 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1906 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1907 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1908 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1909 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1911 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1912 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1913 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1918 Delete /REBOOTOK "$INSTDIR\Common\*"
1919 RMDir "$INSTDIR\Common"
1923 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1924 RMDIR /r "$INSTDIR\kfw\bin"
1925 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1926 RMDIR /r "$INSTDIR\kfw\doc"
1927 RMDIR /r "$INSTDIR\kfw"
1930 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1932 ; Remove control center
1933 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1934 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1935 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1936 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1937 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1938 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1939 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1940 RMDir "$INSTDIR\Control Center"
1942 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1943 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1944 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1945 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1946 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1947 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1948 RMDir /r "$SMPROGRAMS\OpenAFS"
1949 Delete "$SMSTARTUP\AFS Credentials.lnk"
1951 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1953 Delete "$R0\AFSCache"
1954 Delete "C:\AFSCache"
1956 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1957 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1958 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1959 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1960 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1962 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1963 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1964 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1965 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1966 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1967 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1968 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1969 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1970 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1971 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1972 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1978 ;--------------------------------
1979 ;Uninstaller Functions
1983 ;Get language from registry
1984 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1988 Function un.onUninstSuccess
1991 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1996 ;------------------------------
1997 ; Get the CellServDB file from the Internet
1999 Function afs.GetCellServDB
2001 ;Check if we should download CellServDB
2002 ReadINIStr $R0 $0 "Field 4" "State"
2003 StrCmp $R0 "1" DoDownload
2005 ;Do nothing if we're keeping the existing file
2006 ReadINIStr $R0 $0 "Field 2" "State"
2009 ReadINIStr $R0 $0 "Field 6" "State"
2010 StrCmp $R0 "1" CheckOther
2012 ReadINIStr $R0 $0 "Field 3" "State"
2013 StrCmp $R0 "1" UsePackaged
2015 ; If none of these, grab file from other location
2019 ReadINIStr $R0 $0 "Field 5" "State"
2020 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
2021 Pop $R0 ;Get the return value
2022 StrCmp $R0 "success" +2
2023 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
2027 SetOutPath "$WINDIR"
2032 ReadINIStr $R0 $0 "Field 7" "State"
2034 CopyFiles $R0 "$WINDIR\afsdcell.ini"
2040 Function AddProvider
2043 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2045 StrCpy $R0 "TransarcAFSDaemon"
2049 StrCmp $R0 "" +1 DoOther
2050 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2051 StrCpy $R0 "$R1,TransarcAFSDaemon"
2052 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
2054 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2056 StrCpy $R0 "TransarcAFSDaemon"
2060 StrCmp $R0 "" +1 End
2061 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2062 StrCpy $R0 "$R1,TransarcAFSDaemon"
2063 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2069 Function un.RemoveProvider
2071 StrCpy $R0 "TransarcAFSDaemon"
2073 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2074 Call un.RemoveFromProvider
2075 StrCpy $R0 "TransarcAFSDaemon"
2077 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2078 Call un.RemoveFromProvider
2082 Function un.RemoveFromProvider
2091 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2092 StrCpy $5 $1 1 -1 # copy last char
2093 StrCmp $5 "," +2 # if last char != ,
2094 StrCpy $1 "$1," # append ,
2097 Call un.StrStr ; Find `$0,` in $1
2098 Pop $2 ; pos of our dir
2099 StrCmp $2 "" unRemoveFromPath_done
2100 ; else, it is in path
2105 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2106 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2109 StrCpy $5 $3 1 -1 # copy last char
2110 StrCmp $5 "," 0 +2 # if last char == ,
2111 StrCpy $3 $3 -1 # remove last char
2113 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2115 unRemoveFromPath_done:
2125 Function CheckPathForAFS
2130 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2139 IfFileExists "$3\afsd_service.exe" Error
2140 StrCpy $1 $0 32768 1
2142 IntCmp $2 0 Done Done loop
2145 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."
2146 Abort "Unable to install OpenAFS"
2154 Function AddToUniquePath
2158 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2162 StrCmp $R0 "" +1 Done
2168 ;-------------------------------
2169 ;Do the page to get the CellServDB
2171 Function AFSPageGetCellServDB
2172 ; Skip this page if we are not installing the client
2173 SectionGetFlags ${secClient} $R0
2174 IntOp $R0 $R0 & ${SF_SELECTED}
2177 ; Set the install options here
2180 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2181 WriteINIStr $0 "Field 3" "State" "1"
2182 WriteINISTR $0 "Field 4" "State" "0"
2183 WriteINIStr $0 "Field 6" "State" "0"
2185 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
2186 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
2187 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2188 WriteINIStr $0 "Field 2" "State" "1"
2189 WriteINIStr $0 "Field 3" "State" "0"
2193 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2194 InstallOptions::dialog $0
2196 StrCmp $R1 "cancel" exit
2197 StrCmp $R1 "back" done
2198 StrCmp $R1 "success" done
2202 ; Check that if a file is set, a valid filename is entered...
2203 ReadINIStr $R0 $0 "Field 6" "State"
2204 StrCmp $R0 "1" CheckFileName
2206 ;Check if a URL is specified, one *IS* specified
2207 ReadINIStr $R0 $0 "Field 4" "State"
2208 StrCmp $R0 "1" CheckURL Skip
2211 ReadINIStr $R0 $0 "Field 5" "State"
2212 StrCmp $R0 "" +1 Skip
2213 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2214 WriteINIStr $0 "Field 4" "State" "0"
2218 ReadINIStr $R0 $0 "Field 7" "State"
2219 IfFileExists $R0 Skip
2221 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2222 WriteINIStr $0 "Field 6" "State" "0"
2230 Function AFSPageGetCellName
2232 ; Skip this page if we are not installing the client
2233 SectionGetFlags ${secClient} $R0
2234 IntOp $R0 $R0 & ${SF_SELECTED}
2238 ; If this is a server install, we do NOT want to recommend the Freelance client
2239 ; And we do not need to ask for the cell name.
2240 SectionGetFlags ${secServer} $R1
2241 IntOp $R1 $R1 & ${SF_SELECTED}
2242 StrCmp $R1 "1" +1 NotServer
2243 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2244 WriteINIStr $1 "Field 5" "State" "0"
2245 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2246 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2249 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2250 WriteINIStr $1 "Field 5" "State" "1"
2251 WriteINIStr $1 "Field 1" "Flags" ""
2252 WriteINIStr $1 "Field 2" "Flags" ""
2254 ; Get the current cell name, if any
2255 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2257 WriteINIStr $1 "Field 2" "State" $R1
2258 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2259 InstallOptions::dialog $1
2261 StrCmp $R1 "cancel" exit
2262 StrCmp $R1 "back" done
2263 StrCmp $R1 "success" done
2266 ReadINIStr $R0 $1 "Field 2" "State"
2267 StrCmp $R0 "" +1 good
2269 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2275 ;---------------------------------------------------------
2276 ;Do the page to get the afscreds.exe startup configuration
2278 Function AFSPageConfigAFSCreds
2279 ; Skip this page if we are not installing the client
2280 SectionGetFlags ${secClient} $R0
2281 IntOp $R0 $R0 & ${SF_SELECTED}
2284 ; Set the install options here
2286 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2287 InstallOptions::dialog $2
2289 StrCmp $R1 "cancel" exit
2290 StrCmp $R1 "back" done
2291 StrCmp $R1 "success" done
2299 ; Common install routines for each module
2300 Function AFSCommon.Install
2302 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2303 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2305 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2307 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2309 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2314 ;-------------------
2315 ; Get the currently installed version and place it on the stack
2317 Function GetInstalledVersion
2322 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2323 StrCmp $R0 "" NotTransarc done
2327 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2336 ; Functions to get each component of the version number
2337 Function GetInstalledVersionMajor
2342 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2343 StrCmp $R0 "" NotTransarc done
2347 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2356 Function GetInstalledVersionMinor
2361 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2362 StrCmp $R0 "" NotTransarc done
2366 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2375 Function GetInstalledVersionPatch
2380 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2381 StrCmp $R0 "" NotTransarc done
2385 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2396 ;-------------------------------
2397 ; Check if the client should be checked for default install
2398 Function ShouldClientInstall
2400 StrCpy $R2 "AFS Client"
2401 Call GetInstalledVersion
2404 StrCmp $R0 "" NotInstalled
2405 ; Now we see if it's an older or newer version
2407 Call GetInstalledVersionMajor
2409 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2411 Call GetInstalledVersionMinor
2413 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2415 Call GetInstalledVersionPatch
2417 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2440 ;-------------------------------
2441 ; Check how the server options should be set
2442 Function ShouldServerInstall
2444 StrCpy $R2 "AFS Server"
2445 Call GetInstalledVersion
2448 StrCmp $R0 "" NotInstalled
2449 ; Now we see if it's an older or newer version
2451 Call GetInstalledVersionMajor
2453 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2455 Call GetInstalledVersionMinor
2457 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2459 Call GetInstalledVersionPatch
2461 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2486 ; See if AFS Server is installed
2487 ; Returns: "1" if it is, 0 if it is not (on the stack)
2488 Function IsServerInstalled
2490 StrCpy $R2 "AFS Server"
2491 Call GetInstalledVersion
2494 StrCmp $R0 "" NotInstalled
2507 ; See if AFS Client is installed
2508 ; Returns: "1" if it is, 0 if it is not (on the stack)
2509 Function IsClientInstalled
2511 StrCpy $R2 "AFS Client"
2512 Call GetInstalledVersion
2515 StrCmp $R0 "" NotInstalled
2529 ; See if AFS Documentation is installed
2530 ; Returns: "1" if it is, 0 if it is not (on the stack)
2531 Function IsDocumentationInstalled
2533 StrCpy $R2 "AFS Supplemental Documentation"
2534 Call GetInstalledVersion
2537 StrCmp $R0 "" NotInstalled
2550 ; See if Control Center is installed
2551 ; Returns: "1" if it is, 0 if it is not (on the stack)
2552 Function IsControlInstalled
2554 StrCpy $R2 "AFS Control Center"
2555 Call GetInstalledVersion
2558 StrCmp $R0 "" NotInstalled
2573 ; output, top of stack (replaces, with e.g. whatever)
2574 ; modifies no other variables.
2576 Function GetParameters
2580 StrCpy $R0 $CMDLINE 1
2584 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2586 StrCpy $R0 $CMDLINE 1 $R2
2587 StrCmp $R0 $R1 loop2
2593 StrCpy $R0 $CMDLINE 1 $R2
2594 StrCmp $R0 " " loop2
2595 StrCpy $R0 $CMDLINE "" $R2
2602 ;Check to see if any AFS component is installed
2603 ;Returns: Value on stack: "1" if it is, "0" if it is not
2604 Function IsAnyAFSInstalled
2609 Call IsClientInstalled
2611 Call IsServerInstalled
2613 Call IsControlInstalled
2615 Call IsDocumentationInstalled
2617 ; Now we must see if ANY of the $Rn values are 1
2618 StrCmp $R0 "1" SomethingInstalled
2619 StrCmp $R1 "1" SomethingInstalled
2620 StrCmp $R2 "1" SomethingInstalled
2621 StrCmp $R3 "1" SomethingInstalled
2635 ;Install English Language Files
2636 Function AFSLangFiles
2638 SetOutPath "$INSTDIR\Common"
2639 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2640 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2641 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2642 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2643 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2644 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2645 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2646 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2647 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2648 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2649 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2650 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2651 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2652 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2656 File "${SYSTEMDIR}\msvcr71d.dll"
2657 File "${SYSTEMDIR}\msvcr71d.pdb"
2658 File "${SYSTEMDIR}\msvcp71d.dll"
2659 File "${SYSTEMDIR}\msvcp71d.pdb"
2660 File "${SYSTEMDIR}\mfc71d.dll"
2661 File "${SYSTEMDIR}\mfc71d.pdb"
2662 File "${SYSTEMDIR}\MFC71CHS.DLL"
2663 File "${SYSTEMDIR}\MFC71CHT.DLL"
2664 File "${SYSTEMDIR}\MFC71DEU.DLL"
2665 File "${SYSTEMDIR}\MFC71ENU.DLL"
2666 File "${SYSTEMDIR}\MFC71ESP.DLL"
2667 File "${SYSTEMDIR}\MFC71FRA.DLL"
2668 File "${SYSTEMDIR}\MFC71ITA.DLL"
2669 File "${SYSTEMDIR}\MFC71JPN.DLL"
2670 File "${SYSTEMDIR}\MFC71KOR.DLL"
2673 File "${SYSTEMDIR}\msvcr70d.dll"
2674 File "${SYSTEMDIR}\msvcr70d.pdb"
2675 File "${SYSTEMDIR}\msvcp70d.dll"
2676 File "${SYSTEMDIR}\msvcp70d.pdb"
2677 File "${SYSTEMDIR}\mfc70d.dll"
2678 File "${SYSTEMDIR}\mfc70d.pdb"
2679 File "${SYSTEMDIR}\MFC70CHS.DLL"
2680 File "${SYSTEMDIR}\MFC70CHT.DLL"
2681 File "${SYSTEMDIR}\MFC70DEU.DLL"
2682 File "${SYSTEMDIR}\MFC70ENU.DLL"
2683 File "${SYSTEMDIR}\MFC70ESP.DLL"
2684 File "${SYSTEMDIR}\MFC70FRA.DLL"
2685 File "${SYSTEMDIR}\MFC70ITA.DLL"
2686 File "${SYSTEMDIR}\MFC70JPN.DLL"
2687 File "${SYSTEMDIR}\MFC70KOR.DLL"
2689 File "${SYSTEMDIR}\mfc42d.dll"
2690 File "${SYSTEMDIR}\mfc42d.pdb"
2691 File "${SYSTEMDIR}\msvcp60d.dll"
2692 File "${SYSTEMDIR}\msvcp60d.pdb"
2693 File "${SYSTEMDIR}\msvcrtd.dll"
2694 File "${SYSTEMDIR}\msvcrtd.pdb"
2699 File "${SYSTEMDIR}\mfc71.dll"
2700 File "${SYSTEMDIR}\msvcr71.dll"
2701 File "${SYSTEMDIR}\msvcp71.dll"
2702 File "${SYSTEMDIR}\MFC71CHS.DLL"
2703 File "${SYSTEMDIR}\MFC71CHT.DLL"
2704 File "${SYSTEMDIR}\MFC71DEU.DLL"
2705 File "${SYSTEMDIR}\MFC71ENU.DLL"
2706 File "${SYSTEMDIR}\MFC71ESP.DLL"
2707 File "${SYSTEMDIR}\MFC71FRA.DLL"
2708 File "${SYSTEMDIR}\MFC71ITA.DLL"
2709 File "${SYSTEMDIR}\MFC71JPN.DLL"
2710 File "${SYSTEMDIR}\MFC71KOR.DLL"
2713 File "${SYSTEMDIR}\mfc70.dll"
2714 File "${SYSTEMDIR}\msvcr70.dll"
2715 File "${SYSTEMDIR}\msvcp70.dll"
2716 File "${SYSTEMDIR}\MFC70CHS.DLL"
2717 File "${SYSTEMDIR}\MFC70CHT.DLL"
2718 File "${SYSTEMDIR}\MFC70DEU.DLL"
2719 File "${SYSTEMDIR}\MFC70ENU.DLL"
2720 File "${SYSTEMDIR}\MFC70ESP.DLL"
2721 File "${SYSTEMDIR}\MFC70FRA.DLL"
2722 File "${SYSTEMDIR}\MFC70ITA.DLL"
2723 File "${SYSTEMDIR}\MFC70JPN.DLL"
2724 File "${SYSTEMDIR}\MFC70KOR.DLL"
2726 File "${SYSTEMDIR}\mfc42.dll"
2727 File "${SYSTEMDIR}\msvcp60.dll"
2728 File "${SYSTEMDIR}\msvcrt.dll"
2733 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2734 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2735 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2736 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2737 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2738 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2739 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2740 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2744 SetOutPath "$INSTDIR\Documentation"
2745 File "..\..\doc\install\Documentation\en_US\README.TXT"
2747 SetOutPath "$INSTDIR\Client\Program"
2748 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2749 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2751 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2752 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2755 SetOutPath "$INSTDIR\Common"
2756 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2757 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2758 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2759 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2760 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2761 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2762 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2763 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2764 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2765 File "..\..\doc\help\en_US\afs-cc.CNT"
2766 File "..\..\doc\help\en_US\afs-cc.hlp"
2767 File "..\..\doc\help\en_US\afs-light.CNT"
2768 File "..\..\doc\help\en_US\afs-light.hlp"
2769 File "..\..\doc\help\en_US\afs-nt.CNT"
2770 File "..\..\doc\help\en_US\afs-nt.HLP"
2771 File "..\..\doc\help\en_US\taafscfg.CNT"
2772 File "..\..\doc\help\en_US\taafscfg.hlp"
2773 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2774 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2775 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2776 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2779 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2780 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2781 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2782 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2783 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2784 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2785 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2786 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2792 SetOutPath "$INSTDIR\Documentation"
2793 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2795 SetOutPath "$INSTDIR\Client\Program"
2796 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2797 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2799 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2800 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2803 SetOutPath "$INSTDIR\Common"
2804 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2805 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2806 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2807 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2808 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2809 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2810 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2811 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2812 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2813 File "..\..\doc\help\de_DE\afs-cc.CNT"
2814 File "..\..\doc\help\de_DE\afs-cc.hlp"
2815 File "..\..\doc\help\de_DE\afs-light.CNT"
2816 File "..\..\doc\help\de_DE\afs-light.hlp"
2817 File "..\..\doc\help\de_DE\afs-nt.CNT"
2818 File "..\..\doc\help\de_DE\afs-nt.HLP"
2819 File "..\..\doc\help\de_DE\taafscfg.CNT"
2820 File "..\..\doc\help\de_DE\taafscfg.hlp"
2821 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2822 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2823 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2824 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2827 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2828 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2829 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2830 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2831 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2832 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2833 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2834 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2840 SetOutPath "$INSTDIR\Documentation"
2841 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2843 SetOutPath "$INSTDIR\Client\Program"
2844 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2845 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2847 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2848 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2851 SetOutPath "$INSTDIR\Common"
2852 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2853 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2854 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2855 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2856 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2857 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2858 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2859 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2860 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2861 File "..\..\doc\help\es_ES\afs-cc.CNT"
2862 File "..\..\doc\help\es_ES\afs-cc.hlp"
2863 File "..\..\doc\help\es_ES\afs-light.CNT"
2864 File "..\..\doc\help\es_ES\afs-light.hlp"
2865 File "..\..\doc\help\es_ES\afs-nt.CNT"
2866 File "..\..\doc\help\es_ES\afs-nt.HLP"
2867 File "..\..\doc\help\es_ES\taafscfg.CNT"
2868 File "..\..\doc\help\es_ES\taafscfg.hlp"
2869 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2870 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2871 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2872 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2875 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2876 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2877 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2878 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2879 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2880 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2881 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2882 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2888 SetOutPath "$INSTDIR\Documentation"
2889 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2891 SetOutPath "$INSTDIR\Client\Program"
2892 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2893 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2895 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2896 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2899 SetOutPath "$INSTDIR\Common"
2900 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2901 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2902 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2903 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2904 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2905 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2906 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2907 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2908 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2909 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2910 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2911 File "..\..\doc\help\ja_JP\afs-light.CNT"
2912 File "..\..\doc\help\ja_JP\afs-light.hlp"
2913 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2914 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2915 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2916 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2917 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2918 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2919 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2920 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2923 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2924 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2925 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2926 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2927 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2928 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2929 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2930 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2936 SetOutPath "$INSTDIR\Documentation"
2937 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2939 SetOutPath "$INSTDIR\Client\Program"
2940 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2941 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2943 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2944 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2947 SetOutPath "$INSTDIR\Common"
2948 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2949 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2950 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2951 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2952 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2953 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2954 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2955 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2956 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2957 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2958 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2959 File "..\..\doc\help\ko_KR\afs-light.CNT"
2960 File "..\..\doc\help\ko_KR\afs-light.hlp"
2961 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2962 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2963 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2964 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2965 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2966 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2967 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2968 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2971 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2972 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2973 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2974 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2975 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2976 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2977 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2978 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2985 SetOutPath "$INSTDIR\Documentation"
2986 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2988 SetOutPath "$INSTDIR\Client\Program"
2989 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2990 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2992 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2993 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2996 SetOutPath "$INSTDIR\Common"
2997 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
2998 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
2999 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
3000 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
3001 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
3002 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
3003 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
3004 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
3005 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
3006 File "..\..\doc\help\pt_BR\afs-cc.CNT"
3007 File "..\..\doc\help\pt_BR\afs-cc.hlp"
3008 File "..\..\doc\help\pt_BR\afs-light.CNT"
3009 File "..\..\doc\help\pt_BR\afs-light.hlp"
3010 File "..\..\doc\help\pt_BR\afs-nt.CNT"
3011 File "..\..\doc\help\pt_BR\afs-nt.HLP"
3012 File "..\..\doc\help\pt_BR\taafscfg.CNT"
3013 File "..\..\doc\help\pt_BR\taafscfg.hlp"
3014 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
3015 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
3016 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
3017 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
3020 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
3021 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
3022 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
3023 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
3024 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
3025 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
3026 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
3027 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
3033 SetOutPath "$INSTDIR\Documentation"
3034 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
3036 SetOutPath "$INSTDIR\Client\Program"
3037 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
3038 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
3040 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
3041 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
3044 SetOutPath "$INSTDIR\Common"
3045 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
3046 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
3047 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
3048 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
3049 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
3050 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
3051 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
3052 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
3053 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
3054 File "..\..\doc\help\zh_CN\afs-cc.CNT"
3055 File "..\..\doc\help\zh_CN\afs-cc.hlp"
3056 File "..\..\doc\help\zh_CN\afs-light.CNT"
3057 File "..\..\doc\help\zh_CN\afs-light.hlp"
3058 File "..\..\doc\help\zh_CN\afs-nt.CNT"
3059 File "..\..\doc\help\zh_CN\afs-nt.HLP"
3060 File "..\..\doc\help\zh_CN\taafscfg.CNT"
3061 File "..\..\doc\help\zh_CN\taafscfg.hlp"
3062 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
3063 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
3064 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
3065 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3068 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3069 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3070 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3071 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3072 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3073 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3074 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3075 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3081 SetOutPath "$INSTDIR\Documentation"
3082 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3084 SetOutPath "$INSTDIR\Client\Program"
3085 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3086 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3088 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3089 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3092 SetOutPath "$INSTDIR\Common"
3093 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3094 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3095 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3096 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3097 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3098 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3099 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3100 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3101 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3102 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3103 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3104 File "..\..\doc\help\zh_TW\afs-light.CNT"
3105 File "..\..\doc\help\zh_TW\afs-light.hlp"
3106 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3107 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3108 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3109 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3110 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3111 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3112 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3113 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3116 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3117 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3118 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3119 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3120 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3121 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3122 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3123 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3132 ;====================================================
3133 ; AddToPath - Adds the given dir to the search path.
3134 ; Input - head of the stack
3135 ; Note - Win9x systems requires reboot
3136 ;====================================================
3143 # don't add if the path doesn't exist
3144 IfFileExists $0 "" AddToPath_done
3151 StrCmp $2 "" "" AddToPath_done
3156 StrCmp $2 "" "" AddToPath_done
3157 GetFullPathName /SHORT $3 $0
3162 StrCmp $2 "" "" AddToPath_done
3167 StrCmp $2 "" "" AddToPath_done
3171 StrCmp $1 1 AddToPath_NT
3174 FileOpen $1 "$1\autoexec.bat" a
3177 IntCmp $2 26 0 +2 +2 # DOS EOF
3178 FileSeek $1 -1 END # write over EOF
3179 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3185 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3186 StrCpy $2 $1 1 -1 # copy last char
3187 StrCmp $2 ";" 0 +2 # if last char == ;
3188 StrCpy $1 $1 -1 # remove last char
3189 StrCmp $1 "" AddToPath_NTdoIt
3192 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3193 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3202 ;====================================================
3203 ; RemoveFromPath - Remove a given dir from the path
3204 ; Input: head of the stack
3205 ;====================================================
3206 Function un.RemoveFromPath
3215 IntFmt $6 "%c" 26 # DOS EOF
3219 StrCmp $1 1 unRemoveFromPath_NT
3222 FileOpen $1 "$1\autoexec.bat" r
3225 GetFullPathName /SHORT $0 $0
3226 StrCpy $0 "SET PATH=%PATH%;$0"
3227 Goto unRemoveFromPath_dosLoop
3229 unRemoveFromPath_dosLoop:
3231 StrCpy $5 $3 1 -1 # read last char
3232 StrCmp $5 $6 0 +2 # if DOS EOF
3233 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3234 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3235 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3236 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3237 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3239 Goto unRemoveFromPath_dosLoop
3240 unRemoveFromPath_dosLoopRemoveLine:
3242 Goto unRemoveFromPath_dosLoop
3244 unRemoveFromPath_dosLoopEnd:
3248 Delete "$1\autoexec.bat"
3249 CopyFiles /SILENT $4 "$1\autoexec.bat"
3251 Goto unRemoveFromPath_done
3253 unRemoveFromPath_NT:
3254 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3255 StrCpy $5 $1 1 -1 # copy last char
3256 StrCmp $5 ";" +2 # if last char != ;
3257 StrCpy $1 "$1;" # append ;
3260 Call un.StrStr ; Find `$0;` in $1
3261 Pop $2 ; pos of our dir
3262 StrCmp $2 "" unRemoveFromPath_done
3263 ; else, it is in path
3268 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3269 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3272 StrCpy $5 $3 1 -1 # copy last char
3273 StrCmp $5 ";" 0 +2 # if last char == ;
3274 StrCpy $3 $3 -1 # remove last char
3276 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3277 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3279 unRemoveFromPath_done:
3289 ;====================================================
3290 ; IsNT - Returns 1 if the current system is NT, 0
3292 ; Output: head of the stack
3293 ;====================================================
3297 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3298 StrCmp $0 "" 0 IsNT_yes
3310 !insertmacro IsNT ""
3311 !insertmacro IsNT "un."
3313 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3315 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3316 ;====================================================
3317 ; StrStr - Finds a given string in another given string.
3318 ; Returns -1 if not found and the pos if found.
3319 ; Input: head of the stack - string to find
3320 ; second in the stack - string to find in
3321 ; Output: head of the stack
3322 ;====================================================
3324 Function ${un}StrStr
3325 Exch $R1 ; st=haystack,old$R1, $R1=needle
3326 Exch ; st=old$R1,haystack
3327 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3339 StrCpy $R5 $R2 $R3 $R4
3345 StrCpy $R1 $R2 "" $R4
3353 !insertmacro StrStr ""
3354 !insertmacro StrStr "un."
3357 !ifdef ADDSHAREDDLLUSED
3360 ; Increments a shared DLLs reference count.
3361 ; Use by passing one item on the stack (the full path of the DLL).
3364 ; Push $SYSDIR\myDll.dll
3368 Function AddSharedDLL
3371 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3373 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3379 ; un.RemoveSharedDLL
3381 ; Decrements a shared DLLs reference count, and removes if necessary.
3382 ; Use by passing one item on the stack (the full path of the DLL).
3383 ; Note: for use in the main installer (not the uninstaller), rename the
3384 ; function to RemoveSharedDLL.
3387 ; Push $SYSDIR\myDll.dll
3388 ; Call un.RemoveSharedDLL
3391 Function un.RemoveSharedDLL
3394 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3395 StrCmp $R0 "" remove
3397 IntCmp $R0 0 rk rk uk
3399 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3402 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3405 Delete /REBOOTOK $R1
3413 ; Installs the loopback adpater and disables it on Windows 2000
3414 Function afs.InstallMSLoopback
3416 File /oname=$R0 "${AFS_WININSTALL_DIR}\afsloopback.dll"
3417 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry AFS 10.254.253.1 255.255.255.0"
3421 Function afs.isLoopbackInstalled
3423 File "${AFS_WININSTALL_DIR}\afsloopback.dll"
3424 System::Call "$TEMP\afsloopback.dll::IsLoopbackInstalled() i().r11"
3425 Delete "$TEMP\afsloopback.dll"
3431 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3432 ; Updated by Joost Verburg
3434 ; Returns on top of stack
3436 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3438 ; '' (Unknown Windows Version)
3441 ; Call GetWindowsVersion
3443 ; ; at this point $R0 is "NT 4.0" or whatnot
3445 Function GetWindowsVersion
3452 ReadRegStr $R0 HKLM \
3453 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3455 IfErrors 0 lbl_winnt
3458 ReadRegStr $R0 HKLM \
3459 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3462 StrCmp $R1 '4' 0 lbl_error
3466 StrCmp $R1 '4.0' lbl_win32_95
3467 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3485 StrCmp $R1 '3' lbl_winnt_x
3486 StrCmp $R1 '4' lbl_winnt_x
3490 StrCmp $R1 '5.0' lbl_winnt_2000
3491 StrCmp $R1 '5.1' lbl_winnt_XP
3492 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3495 StrCpy $R0 "NT $R0" 6
3520 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3521 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3522 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3523 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3527 ; Pop $R0 ; at this point $R0 is "true" or "false"
3529 Function IsUserAdmin
3538 UserInfo::GetAccountType
3541 StrCmp $R2 "Admin" 0 Continue
3542 ; Observation: I get here when running Win98SE. (Lilla)
3543 ; The functions UserInfo.dll looks for are there on Win98 too,
3544 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3545 ; on Win98, returns admin anyway. (per kichik)
3546 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3551 ; You should still check for an empty string because the functions
3552 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3555 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3559 ; comment/message below is by UserInfo.nsi author:
3560 ; This one means you don't need to care about admin or
3561 ; not admin because Windows 9x doesn't either
3562 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3566 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3574 ; input, top of stack (e.g. C:\Program Files\Poop)
3575 ; output, top of stack (replaces, with e.g. C:\Program Files)
3576 ; modifies no other variables.
3579 ; Push "C:\Program Files\Directory\Whatever"
3582 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3596 IntCmp $R1 $R2 get 0 get
3597 StrCpy $R3 $R0 1 -$R1
3612 ;--------------------------------
3613 ;Handle what must and what must not be installed
3614 Function .onSelChange
3615 ; If they install the server, they MUST install the client
3616 SectionGetFlags ${secServer} $R0
3617 IntOp $R0 $R0 & ${SF_SELECTED}
3618 StrCmp $R0 "1" MakeClientSelected
3620 ; If they install the control center, we'll give them the client.
3621 ; It may not be required, but it's a bit more useful
3622 SectionGetFlags ${secControl} $R0
3623 IntOp $R0 $R0 & ${SF_SELECTED}
3624 StrCmp $R0 "1" MakeClientSelected
3628 SectionGetFlags ${secClient} $R0
3629 IntOp $R0 $R0 | ${SF_SELECTED}
3630 SectionSetFlags ${secClient} $R0
3635 Function RegWriteMultiStr
3636 !define HKEY_CLASSES_ROOT 0x80000000
3637 !define HKEY_CURRENT_USER 0x80000001
3638 !define HKEY_LOCAL_MACHINE 0x80000002
3639 !define HKEY_USERS 0x80000003
3640 !define HKEY_PERFORMANCE_DATA 0x80000004
3641 !define HKEY_PERFORMANCE_TEXT 0x80000050
3642 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3643 !define HKEY_CURRENT_CONFIG 0x80000005
3644 !define HKEY_DYN_DATA 0x80000006
3646 !define KEY_QUERY_VALUE 0x0001
3647 !define KEY_SET_VALUE 0x0002
3648 !define KEY_CREATE_SUB_KEY 0x0004
3649 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3650 !define KEY_NOTIFY 0x0010
3651 !define KEY_CREATE_LINK 0x0020
3655 !define REG_EXPAND_SZ 2
3656 !define REG_BINARY 3
3658 !define REG_DWORD_LITTLE_ENDIAN 4
3659 !define REG_DWORD_BIG_ENDIAN 5
3661 !define REG_MULTI_SZ 7
3663 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3664 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3665 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3672 SetPluginUnload alwaysoff
3673 ; Create a buffer for the multi_sz value
3674 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3675 ; Open/create the registry key
3676 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3679 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3683 ; Fill in the buffer with our strings
3684 StrCpy $2 $1 ; Initial position
3686 StrLen $9 '$REG_DATA_1' ; Length of first string
3687 IntOp $9 $9 + 1 ; Plus null
3688 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3689 IntOp $2 $2 + $9 ; Advance to the next position
3691 StrCmp '$REG_DATA_2' "" terminate
3692 StrLen $9 '$REG_DATA_2' ; Length of second string
3693 IntOp $9 $9 + 1 ; Plus null
3694 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3695 IntOp $2 $2 + $9 ; Advance to the next position
3697 StrCmp '$REG_DATA_3' "" terminate
3698 StrLen $9 '$REG_DATA_3' ; Length of third string
3699 IntOp $9 $9 + 1 ; Plus null
3700 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3701 IntOp $2 $2 + $9 ; Advance to the next position
3704 System::Call "*$2(&t1 '')" ; Place the terminating null
3705 IntOp $2 $2 + 1 ; Advance to the next position
3707 ; Create/write the value
3708 IntOp $2 $2 - $1 ; Total length
3709 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3712 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3716 ; Close the registry key
3717 System::Call "${RegCloseKey}(r0)"
3721 SetPluginUnload manual