1 ;OpenAFS Install Script for NSIS
3 ; Written by Rob Murawski <rsm4@ieee.org>
6 ;NSIS Modern User Interface version 1.63
7 ;MultiLanguage Example Script
8 ;Written by Joost Verburg
10 ; Read in the environment information
11 !include ${INCLUDEDIR}\nsi-includes.nsi
12 ; Define DEBUG if building a DEBUG installer
14 ; This version compiles with NSIS v2.0
18 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
20 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
21 !endif ; End DEBUG/!DEBUG
24 Name "OpenAFS ${AFS_VERSION}"
26 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
27 !endif ; End DEBUG/!DEBUG
29 VIProductVersion "${AFS_VERSION}.00"
30 VIAddVersionKey "ProductName" "OpenAFS"
31 VIAddVersionKey "CompanyName" "OpenAFS.org"
32 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
33 VIAddVersionKey "FileVersion" ${AFS_VERSION}
34 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
35 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
37 VIAddVersionKey "PrivateBuild" "Checked/Debug"
44 ;--------------------------------
49 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
51 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
55 !define MUI_ICON "..\..\client_config\afs_config.ico"
56 !define MUI_UNICON "..\..\client_config\afs_config.ico"
57 !define AFS_COMPANY_NAME "OpenAFS"
58 !define AFS_PRODUCT_NAME "OpenAFS"
59 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
62 ;Folder selection page
63 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
65 ;Remember install folder
66 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
68 ;Remember the installer language
69 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
70 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
71 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
74 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
75 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
76 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
77 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
78 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
79 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
80 !define SYSTEMDIR "$%SystemRoot%\System32"
82 ;--------------------------------
83 ;Modern UI Configuration
85 ;!define MUI_LICENSEPAGE
86 !define MUI_CUSTOMPAGECOMMANDS
87 !define MUI_WELCOMEPAGE
88 !define MUI_COMPONENTSPAGE
89 !define MUI_COMPONENTSPAGE_SMALLDESC
90 !define MUI_DIRECTORYPAGE
92 !define MUI_ABORTWARNING
93 !define MUI_FINISHPAGE
95 !define MUI_UNINSTALLER
96 !define MUI_UNCONFIRMPAGE
99 !insertmacro MUI_PAGE_WELCOME
100 !insertmacro MUI_PAGE_COMPONENTS
101 !insertmacro MUI_PAGE_DIRECTORY
102 Page custom AFSPageGetCellServDB
103 Page custom AFSPageGetCellName
104 !insertmacro MUI_PAGE_INSTFILES
105 !insertmacro MUI_PAGE_FINISH
107 ;LicenseData "Licenses.rtf"
108 ;--------------------------------
111 !insertmacro MUI_LANGUAGE "English"
112 ;!insertmacro MUI_LANGUAGE "French"
113 !insertmacro MUI_LANGUAGE "German"
114 !insertmacro MUI_LANGUAGE "Spanish"
115 !insertmacro MUI_LANGUAGE "SimpChinese"
116 !insertmacro MUI_LANGUAGE "TradChinese"
117 !insertmacro MUI_LANGUAGE "Japanese"
118 !insertmacro MUI_LANGUAGE "Korean"
119 ;!insertmacro MUI_LANGUAGE "Italian"
120 ;!insertmacro MUI_LANGUAGE "Dutch"
121 ;!insertmacro MUI_LANGUAGE "Danish"
122 ;!insertmacro MUI_LANGUAGE "Greek"
123 ;!insertmacro MUI_LANGUAGE "Russian"
124 !insertmacro MUI_LANGUAGE "PortugueseBR"
125 ;!insertmacro MUI_LANGUAGE "Polish"
126 ;!insertmacro MUI_LANGUAGE "Ukrainian"
127 ;!insertmacro MUI_LANGUAGE "Czech"
128 ;!insertmacro MUI_LANGUAGE "Slovak"
129 ;!insertmacro MUI_LANGUAGE "Croatian"
130 ;!insertmacro MUI_LANGUAGE "Bulgarian"
131 ;!insertmacro MUI_LANGUAGE "Hungarian"
132 ;!insertmacro MUI_LANGUAGE "Thai"
133 ;!insertmacro MUI_LANGUAGE "Romanian"
134 ;!insertmacro MUI_LANGUAGE "Macedonian"
135 ;!insertmacro MUI_LANGUAGE "Turkish"
137 ;--------------------------------
141 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
142 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
143 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
144 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
145 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
146 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
147 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
148 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
149 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
150 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
151 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
152 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
153 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
154 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
155 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
156 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
157 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
158 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
159 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
160 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
161 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
162 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
163 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
164 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
165 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
167 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
168 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
169 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
170 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
171 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
172 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
173 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
174 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
176 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
177 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
178 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
179 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
180 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
181 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
182 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
183 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
185 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
186 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
187 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
188 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
189 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
190 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
191 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
192 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
194 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
195 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
196 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
197 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
198 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
199 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
200 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
201 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
203 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
204 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
205 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
206 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
207 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
208 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
209 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
210 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
212 ; Popup error messages
213 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
214 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
215 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
216 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
217 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
218 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
219 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
220 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
222 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
223 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
224 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
225 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
226 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
227 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
228 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
229 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
231 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
232 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
233 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
234 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
235 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
236 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
237 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
238 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
241 ; Upgrade/re-install strings
242 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
243 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
244 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
245 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
246 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
247 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
248 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
249 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
251 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
252 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
253 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
254 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
255 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
256 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
257 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
258 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
260 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
261 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
262 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
263 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
264 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
265 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
266 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
267 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
269 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
270 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
271 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
272 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
273 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
274 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
275 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
276 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
278 ReserveFile "CellServPage.ini"
279 ReserveFile "AFSCell.ini"
280 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
281 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
282 ;--------------------------------
284 ; Macro - Upgrade DLL File
285 ; Written by Joost Verburg
286 ; ------------------------
289 ; LOCALFILE - Location of the new DLL file (on the compiler system)
290 ; DESTFILE - Location of the DLL file that should be upgraded
291 ; (on the user's system)
292 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
293 ; when the system has to be rebooted.
294 ; For Win9x support, this should be on the same volume as the
296 ; The Windows temp directory could be located on any volume,
297 ; so you cannot use this directory.
299 ; Define UPGRADEDLL_NOREGISTER if you want to upgrade a DLL that does not
300 ; have to be registered.
302 ; Note: If you want to support Win9x, you can only use
303 ; short filenames (8.3).
306 ; !insertmacro UpgradeDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
309 !macro UpgradeDLL LOCALFILE DESTFILE TEMPBASEDIR
318 ;------------------------
319 ;Unique number for labels
321 !define UPGRADEDLL_UNIQUE ${__LINE__}
323 ;------------------------
324 ;Copy the parameters used on run-time to a variable
325 ;This allows the usage of variables as paramter
327 StrCpy $R4 "${DESTFILE}"
328 StrCpy $R5 "${TEMPBASEDIR}"
330 ;------------------------
331 ;Check file and version
333 IfFileExists $R4 0 upgradedll.copy_${UPGRADEDLL_UNIQUE}
336 GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
337 GetDLLVersion $R4 $R2 $R3
338 IfErrors upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
340 IntCmpU $R0 $R2 0 upgradedll.done_${UPGRADEDLL_UNIQUE} \
341 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
342 IntCmpU $R1 $R3 upgradedll.done_${UPGRADEDLL_UNIQUE} \
343 upgradedll.done_${UPGRADEDLL_UNIQUE} \
344 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
346 ;------------------------
347 ;Let's upgrade the DLL!
351 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}:
352 !ifndef UPGRADEDLL_NOREGISTER
357 ;------------------------
358 ;Try to copy the DLL directly
362 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
363 IfErrors 0 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}
365 ;------------------------
366 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
368 GetTempFileName $R0 $R5
369 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
370 Rename /REBOOTOK $R0 $R4
372 ;------------------------
373 ;Register the DLL on reboot
375 !ifndef UPGRADEDLL_NOREGISTER
376 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
377 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
380 Goto upgradedll.done_${UPGRADEDLL_UNIQUE}
382 ;------------------------
383 ;DLL does not exist - just extract
385 upgradedll.copy_${UPGRADEDLL_UNIQUE}:
387 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
389 ;------------------------
392 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}:
393 !ifndef UPGRADEDLL_NOREGISTER
397 ;------------------------
400 upgradedll.done_${UPGRADEDLL_UNIQUE}:
409 ;------------------------
412 Goto upgradedll.end_${UPGRADEDLL_UNIQUE}
414 ;------------------------
415 ;Called to extract the DLL
417 upgradedll.file_${UPGRADEDLL_UNIQUE}:
418 File /oname=$R0 "${LOCALFILE}"
421 upgradedll.end_${UPGRADEDLL_UNIQUE}:
423 ;------------------------
426 SetOverwrite lastused
428 !undef UPGRADEDLL_UNIQUE
433 ;--------------------------------
436 ;Things that need to be extracted on first (keep these lines before any File command!)
437 ;Only useful for BZIP2 compression
438 !insertmacro MUI_RESERVEFILE_LANGDLL
440 ;--------------------------------
450 ;--------------------------------
453 ;----------------------
455 Section "AFS Client" secClient
457 SetShellVarContext all
458 ; Stop any running services or we can't replace the files
459 ; Stop the running processes
461 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
462 nsExec::Exec '$R0 afscreds.exe'
463 Exec "afscreds.exe -z"
464 ; in case we are upgrading an old version that does not support -z
466 nsExec::Exec '$R0 afscreds.exe'
468 ;nsExec::Exec '$R0 krbcc32s.exe'
471 nsExec::Exec "net stop TransarcAFSDaemon"
472 nsExec::Exec "net stop TransarcAFSServer"
474 ; Do client components
475 SetOutPath "$INSTDIR\Client\Program"
476 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
477 !define UPGRADEDLL_NOREGISTER
478 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
479 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
480 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
481 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
482 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
483 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
484 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
485 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
486 File "${AFS_BUILD_INCDIR}\afs\auth.h"
487 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
488 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
489 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
490 File "${AFS_DESTDIR}\bin\kpasswd.exe"
491 File "${AFS_SERVER_BUILDDIR}\pts.exe"
492 File "${AFS_SERVER_BUILDDIR}\bos.exe"
493 File "${AFS_SERVER_BUILDDIR}\kas.exe"
494 File "${AFS_SERVER_BUILDDIR}\vos.exe"
495 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
496 File "${AFS_DESTDIR}\bin\translate_et.exe"
497 File "${AFS_DESTDIR}\etc\rxdebug.exe"
498 File "${AFS_DESTDIR}\etc\backup.exe"
501 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
502 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
503 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
504 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
505 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
506 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
507 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
508 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
509 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
510 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
511 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
512 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
513 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
514 ;File "${AFS_SERVER_BUILDDIR}\pts.pdb"
515 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
516 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
517 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
518 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
519 File "${AFS_DESTDIR}\bin\translate_et.pdb"
520 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
521 File "${AFS_DESTDIR}\etc\backup.pdb"
529 ; Do WINDOWSDIR components
531 ; Do Windows SYSDIR (Control panel)
533 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
535 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
538 ; Get AFS CellServDB file
539 Call afs.GetCellServDB
540 !ifdef INSTALL_LOOPBACK
541 Call afs.InstallMSLoopback
545 ; Include Kerberos for Windows files in the installer...
546 SetOutPath "$INSTDIR\kfw\bin\"
547 File "${KFW_SOURCE}\bin\*"
548 SetOutPath "$INSTDIR\kfw\doc"
549 File "${KFW_SOURCE}\doc\*"
552 ;Store install folder
553 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
554 Call AFSCommon.Install
556 ; Write registry entries
557 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
558 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
559 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
560 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
561 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
562 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
565 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
566 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
567 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
568 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
569 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
570 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
571 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
572 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
573 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
574 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
575 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
576 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
577 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
578 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
579 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
580 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
581 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
583 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
584 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
586 ; Delete the DEBUG string
587 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
588 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
591 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
592 Call GetWindowsVersion
594 StrCmp $R1 "2000" +1 +2
595 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
597 ;Write start menu entries
598 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
599 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
600 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
601 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
603 Push "$INSTDIR\Client\Program"
605 Push "$INSTDIR\Common"
609 ; Add kfw to path too
610 Push "$INSTDIR\kfw\bin"
614 ; Create the AFS service
615 SetOutPath "$INSTDIR\Common"
616 File "${AFS_WININSTALL_DIR}\Service.exe"
617 nsExec::Exec "net stop TransarcAFSDaemon"
618 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
619 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
621 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
622 StrCmp $R2 "" +1 skipremove
623 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
624 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
626 Delete "$INSTDIR\Common\service.exe"
629 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
630 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
631 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
632 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
633 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
634 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
635 ReadINIStr $R0 $1 "Field 7" "State"
636 ReadINIStr $R1 $1 "Field 9" "State"
637 ; Complicated way to do $R1 = ($R1 *2) + $R0
640 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R1
641 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x"
642 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
645 ReadINIStr $R0 $1 "Field 2" "State"
646 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
647 ReadINIStr $R0 $1 "Field 3" "State"
648 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
649 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
650 ReadINIStr $R0 $1 "Field 5" "State"
651 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
652 ReadINIStr $R0 $1 "Field 11" "State"
653 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
654 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
655 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
656 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
657 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
658 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
659 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "TruncateNetbios" "on"
661 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
664 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider"
665 strcpy $REG_VALUE "DependOnGroup"
666 strcpy $REG_DATA_1 "PNP_TDI"
667 strcpy $REG_DATA_2 ""
668 strcpy $REG_DATA_3 ""
669 Call RegWriteMultiStr
670 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider"
671 strcpy $REG_VALUE "DependOnService"
672 strcpy $REG_DATA_1 "Tcpip"
673 strcpy $REG_DATA_2 "NETBIOS"
674 strcpy $REG_DATA_3 "RpcSs"
675 Call RegWriteMultiStr
679 WriteUninstaller "$INSTDIR\Uninstall.exe"
683 ;------------------------
685 Section "AFS Server" secServer
687 SetShellVarContext all
688 ; Stop any running services or we can't replace the files
689 ; Stop the running processes
691 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
692 nsExec::Exec '$R0 afscreds.exe'
693 Exec "afscreds.exe -z"
694 ; in case we are upgrading an old version that does not support -z
696 nsExec::Exec '$R0 afscreds.exe'
698 ;nsExec::Exec '$R0 krbcc32s.exe'
701 nsExec::Exec "net stop TransarcAFSDaemon"
702 nsExec::Exec "net stop TransarcAFSServer"
704 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
705 CreateDirectory "$INSTDIR\Server\usr\afs\local"
706 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
708 SetOutPath "$INSTDIR\Server\usr\afs\bin"
709 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
710 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
711 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
712 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
713 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
714 File "${AFS_ETC_BUILDDIR}\butc.exe"
715 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
716 File "${AFS_ETC_BUILDDIR}\fms.exe"
717 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
718 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
719 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
720 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
721 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
722 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
723 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
724 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
727 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
728 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
729 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
730 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
731 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
732 File "${AFS_ETC_BUILDDIR}\butc.pdb"
733 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
734 File "${AFS_ETC_BUILDDIR}\fms.pdb"
735 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
736 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
737 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
738 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
739 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
740 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
741 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
742 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
745 ;AFS Server common files
746 SetOutPath "$INSTDIR\Common"
747 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
748 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
749 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
750 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
751 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
754 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
755 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
756 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
757 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
758 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
760 SetOutPath "$INSTDIR\Common"
764 File "${AFS_SERVER_BUILDDIR}\afsserver.cpl"
767 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
770 ;Store install folder
771 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
773 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
774 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
775 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
776 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
777 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
778 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
779 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
780 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
781 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
782 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
783 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
784 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
785 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
786 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
787 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
788 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
789 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
791 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
792 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
794 ; Delete the DEBUG string
795 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
796 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
798 ; Install the service
799 SetOutPath "$INSTDIR\Common"
800 File "${AFS_WININSTALL_DIR}\Service.exe"
802 File "${AFS_WININSTALL_DIR}\Service.pdb"
804 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
805 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
806 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
807 Delete "$INSTDIR\Common\service.exe"
809 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
810 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
812 ; Make the server config wizard auto-start on bootup
813 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
815 WriteUninstaller "$INSTDIR\Uninstall.exe"
820 ;----------------------------
821 ; OpenAFS Control Center
822 Section "AFS Control Center" secControl
824 SetShellVarContext all
826 SetOutPath "$INSTDIR\Control Center"
827 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
828 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
829 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
832 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
833 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
834 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
837 ;AFS Server common files
838 Call AFSCommon.Install
840 SetOutPath "$INSTDIR\Common"
842 SetOutPath "$INSTDIR\Common"
845 File "${SYSTEMDIR}\msvcr71d.dll"
846 File "${SYSTEMDIR}\msvcr71d.pdb"
847 File "${SYSTEMDIR}\msvcp71d.dll"
848 File "${SYSTEMDIR}\msvcp71d.pdb"
849 File "${SYSTEMDIR}\mfc71d.dll"
850 File "${SYSTEMDIR}\mfc71d.pdb"
851 File "${SYSTEMDIR}\MFC71CHS.DLL"
852 File "${SYSTEMDIR}\MFC71CHT.DLL"
853 File "${SYSTEMDIR}\MFC71DEU.DLL"
854 File "${SYSTEMDIR}\MFC71ENU.DLL"
855 File "${SYSTEMDIR}\MFC71ESP.DLL"
856 File "${SYSTEMDIR}\MFC71FRA.DLL"
857 File "${SYSTEMDIR}\MFC71ITA.DLL"
858 File "${SYSTEMDIR}\MFC71JPN.DLL"
859 File "${SYSTEMDIR}\MFC71KOR.DLL"
862 File "${SYSTEMDIR}\msvcr70d.dll"
863 File "${SYSTEMDIR}\msvcr70d.pdb"
864 File "${SYSTEMDIR}\msvcp70d.dll"
865 File "${SYSTEMDIR}\msvcp70d.pdb"
866 File "${SYSTEMDIR}\mfc70d.dll"
867 File "${SYSTEMDIR}\mfc70d.pdb"
868 File "${SYSTEMDIR}\MFC70CHS.DLL"
869 File "${SYSTEMDIR}\MFC70CHT.DLL"
870 File "${SYSTEMDIR}\MFC70DEU.DLL"
871 File "${SYSTEMDIR}\MFC70ENU.DLL"
872 File "${SYSTEMDIR}\MFC70ESP.DLL"
873 File "${SYSTEMDIR}\MFC70FRA.DLL"
874 File "${SYSTEMDIR}\MFC70ITA.DLL"
875 File "${SYSTEMDIR}\MFC70JPN.DLL"
876 File "${SYSTEMDIR}\MFC70KOR.DLL"
878 File "${SYSTEMDIR}\mfc42d.dll"
879 File "${SYSTEMDIR}\mfc42d.pdb"
880 File "${SYSTEMDIR}\msvcp60d.dll"
881 File "${SYSTEMDIR}\msvcp60d.pdb"
882 File "${SYSTEMDIR}\msvcrtd.dll"
883 File "${SYSTEMDIR}\msvcrtd.pdb"
888 File "${SYSTEMDIR}\mfc71.dll"
889 File "${SYSTEMDIR}\msvcr71.dll"
890 File "${SYSTEMDIR}\msvcp71.dll"
891 File "${SYSTEMDIR}\MFC71CHS.DLL"
892 File "${SYSTEMDIR}\MFC71CHT.DLL"
893 File "${SYSTEMDIR}\MFC71DEU.DLL"
894 File "${SYSTEMDIR}\MFC71ENU.DLL"
895 File "${SYSTEMDIR}\MFC71ESP.DLL"
896 File "${SYSTEMDIR}\MFC71FRA.DLL"
897 File "${SYSTEMDIR}\MFC71ITA.DLL"
898 File "${SYSTEMDIR}\MFC71JPN.DLL"
899 File "${SYSTEMDIR}\MFC71KOR.DLL"
902 File "${SYSTEMDIR}\mfc70.dll"
903 File "${SYSTEMDIR}\msvcr70.dll"
904 File "${SYSTEMDIR}\msvcp70.dll"
905 File "${SYSTEMDIR}\MFC70CHS.DLL"
906 File "${SYSTEMDIR}\MFC70CHT.DLL"
907 File "${SYSTEMDIR}\MFC70DEU.DLL"
908 File "${SYSTEMDIR}\MFC70ENU.DLL"
909 File "${SYSTEMDIR}\MFC70ESP.DLL"
910 File "${SYSTEMDIR}\MFC70FRA.DLL"
911 File "${SYSTEMDIR}\MFC70ITA.DLL"
912 File "${SYSTEMDIR}\MFC70JPN.DLL"
913 File "${SYSTEMDIR}\MFC70KOR.DLL"
915 File "${SYSTEMDIR}\mfc42.dll"
916 File "${SYSTEMDIR}\msvcp60.dll"
917 File "${SYSTEMDIR}\msvcrt.dll"
921 ;Store install folder
922 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
923 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
924 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
925 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
926 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
927 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
928 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
929 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
930 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
932 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
933 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
935 ; Delete the DEBUG string
936 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
937 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
940 ;Write start menu entries
941 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
942 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
943 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
945 WriteUninstaller "$INSTDIR\Uninstall.exe"
950 ;----------------------------
951 ; OpenAFS Supplemental Documentation
952 Section "Supplemental Documentation" secDocs
953 SetShellVarContext all
955 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
956 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
957 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
958 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
959 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
960 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
961 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
962 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
966 SetOutPath "$INSTDIR\Documentation\html"
967 File "..\..\doc\install\Documentation\en_US\html\*"
968 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
969 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
970 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
971 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
972 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
973 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
974 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
975 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
979 SetOutPath "$INSTDIR\Documentation"
980 File "..\..\doc\install\Documentation\de_DE\README.TXT"
981 SetOutPath "$INSTDIR\Documentation\html"
982 File "..\..\doc\install\Documentation\de_DE\html\*"
983 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
984 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
985 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
986 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
987 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
988 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
989 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
990 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
994 SetOutPath "$INSTDIR\Documentation"
995 File "..\..\doc\install\Documentation\es_ES\README.TXT"
996 SetOutPath "$INSTDIR\Documentation\html"
997 File "..\..\doc\install\Documentation\es_ES\html\*"
998 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
999 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
1000 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1001 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
1002 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1003 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
1004 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1005 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
1009 SetOutPath "$INSTDIR\Documentation"
1010 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
1011 SetOutPath "$INSTDIR\Documentation\html"
1012 File "..\..\doc\install\Documentation\ja_JP\html\*"
1013 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1014 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
1015 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1016 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
1017 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1018 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
1019 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1020 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
1024 SetOutPath "$INSTDIR\Documentation"
1025 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
1026 SetOutPath "$INSTDIR\Documentation\html"
1027 File "..\..\doc\install\Documentation\ko_KR\html\*"
1028 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1029 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1030 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1031 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
1032 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1033 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
1034 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1035 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1039 SetOutPath "$INSTDIR\Documentation"
1040 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1041 SetOutPath "$INSTDIR\Documentation\html"
1042 File "..\..\doc\install\Documentation\pt_BR\html\*"
1043 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1044 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1045 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1046 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1047 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1048 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1049 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1050 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1054 SetOutPath "$INSTDIR\Documentation"
1055 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1056 SetOutPath "$INSTDIR\Documentation\html"
1057 File "..\..\doc\install\Documentation\zh_CN\html\*"
1058 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1059 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1060 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1061 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1062 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1063 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1064 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1065 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1069 SetOutPath "$INSTDIR\Documentation"
1070 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1071 SetOutPath "$INSTDIR\Documentation\html"
1072 File "..\..\doc\install\Documentation\zh_TW\html\*"
1073 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1074 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1075 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1076 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1077 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1078 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1079 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1080 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1085 ;Store install folder
1086 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1087 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1088 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1089 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1090 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1091 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1092 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1093 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1094 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1096 ; Write start menu shortcut
1097 SetOutPath "$SMPROGRAMS\OpenAFS"
1098 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1101 WriteUninstaller "$INSTDIR\Uninstall.exe"
1102 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1103 Call AFSCommon.Install
1107 Section "Software Development Kit (SDK)" secSDK
1109 SetOutPath "$INSTDIR\Client\Program"
1111 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
1112 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
1113 File "${AFS_CLIENT_LIBDIR}\libafsconf.lib"
1114 File "${AFS_CLIENT_LIBDIR}\afsauthent.lib"
1117 SetOutPath "$INSTDIR\Client\Program\Include"
1118 File "${AFS_BUILD_INCDIR}\lock.h"
1119 File "${AFS_BUILD_INCDIR}\lwp.h"
1120 File "${AFS_BUILD_INCDIR}\preempt.h"
1121 File "${AFS_BUILD_INCDIR}\timer.h"
1122 File "${AFS_BUILD_INCDIR}\des.h"
1123 File "${AFS_BUILD_INCDIR}\des_conf.h"
1124 File "${AFS_BUILD_INCDIR}\mit-cpyright.h"
1125 ;File "${AFS_BUILD_INCDIR}\des-odd.h"
1126 File "${AFS_BUILD_INCDIR}\crypt.h"
1127 File "${AFS_BUILD_INCDIR}\pthread.h"
1128 File "${AFS_BUILD_INCDIR}\dbrpc.h"
1129 File "${AFS_BUILD_INCDIR}\basic.h"
1130 File "${AFS_BUILD_INCDIR}\osidebug.h"
1131 File "${AFS_BUILD_INCDIR}\osiltype.h"
1132 File "${AFS_BUILD_INCDIR}\osistatl.h"
1133 File "${AFS_BUILD_INCDIR}\trylock.h"
1134 File "${AFS_BUILD_INCDIR}\main.h"
1135 File "${AFS_BUILD_INCDIR}\osibasel.h"
1136 File "${AFS_BUILD_INCDIR}\osifd.h"
1137 File "${AFS_BUILD_INCDIR}\osiqueue.h"
1138 File "${AFS_BUILD_INCDIR}\osiutils.h"
1139 File "${AFS_BUILD_INCDIR}\osi.h"
1140 File "${AFS_BUILD_INCDIR}\osidb.h"
1141 File "${AFS_BUILD_INCDIR}\osilog.h"
1142 File "${AFS_BUILD_INCDIR}\osisleep.h"
1143 File "${AFS_BUILD_INCDIR}\perf.h"
1144 File "${AFS_BUILD_INCDIR}\ubik.h"
1145 File "${AFS_BUILD_INCDIR}\ubik_int.h"
1149 SetOutPath "$INSTDIR\Client\Program\Include\afs"
1150 File "${AFS_BUILD_INCDIR}\afs\afs_args.h"
1151 File "${AFS_BUILD_INCDIR}\afs\debug.h"
1152 File "${AFS_BUILD_INCDIR}\afs\param.h"
1153 File "${AFS_BUILD_INCDIR}\afs\afs_sysnames.h"
1154 ;File "${AFS_BUILD_INCDIR}\afs\permit_xprt.h"
1155 File "${AFS_BUILD_INCDIR}\afs\stds.h"
1156 File "${AFS_BUILD_INCDIR}\afs\icl.h"
1157 File "${AFS_BUILD_INCDIR}\afs\procmgmt.h"
1158 File "${AFS_BUILD_INCDIR}\afs\afsutil.h"
1159 File "${AFS_BUILD_INCDIR}\afs\assert.h"
1160 File "${AFS_BUILD_INCDIR}\afs\dirent.h"
1161 File "${AFS_BUILD_INCDIR}\afs\errors.h"
1162 File "${AFS_BUILD_INCDIR}\afs\itc.h"
1163 File "${AFS_BUILD_INCDIR}\afs\vice.h"
1164 File "${AFS_BUILD_INCDIR}\afs\pthread_glock.h"
1165 File "${AFS_BUILD_INCDIR}\afs\errmap_nt.h"
1166 File "${AFS_BUILD_INCDIR}\afs\dirpath.h"
1167 File "${AFS_BUILD_INCDIR}\afs\ktime.h"
1168 File "${AFS_BUILD_INCDIR}\afs\fileutil.h"
1169 File "${AFS_BUILD_INCDIR}\afs\secutil_nt.h"
1170 File "${AFS_BUILD_INCDIR}\afs\com_err.h"
1171 File "${AFS_BUILD_INCDIR}\afs\error_table.h"
1172 ;File "${AFS_BUILD_INCDIR}\afs\mit_sipb-cr.h"
1173 File "${AFS_BUILD_INCDIR}\afs\cmd.h"
1174 File "${AFS_BUILD_INCDIR}\afs\rxgen_consts.h"
1175 File "${AFS_BUILD_INCDIR}\afs\afsint.h"
1176 File "${AFS_BUILD_INCDIR}\afs\afscbint.h"
1177 File "${AFS_BUILD_INCDIR}\afs\audit.h"
1178 File "${AFS_BUILD_INCDIR}\afs\acl.h"
1179 File "${AFS_BUILD_INCDIR}\afs\prs_fs.h"
1180 File "${AFS_BUILD_INCDIR}\afs\afsd.h"
1181 File "${AFS_BUILD_INCDIR}\afs\cm.h"
1182 File "${AFS_BUILD_INCDIR}\afs\cm_buf.h"
1183 File "${AFS_BUILD_INCDIR}\afs\cm_cell.h"
1184 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
1185 File "${AFS_BUILD_INCDIR}\afs\cm_conn.h"
1186 File "${AFS_BUILD_INCDIR}\afs\cm_ioctl.h"
1187 File "${AFS_BUILD_INCDIR}\afs\cm_scache.h"
1188 File "${AFS_BUILD_INCDIR}\afs\cm_server.h"
1189 File "${AFS_BUILD_INCDIR}\afs\cm_user.h"
1190 File "${AFS_BUILD_INCDIR}\afs\cm_utils.h"
1191 File "${AFS_BUILD_INCDIR}\afs\fs_utils.h"
1192 File "${AFS_BUILD_INCDIR}\afs\krb.h"
1193 File "${AFS_BUILD_INCDIR}\afs\krb_prot.h"
1194 File "${AFS_BUILD_INCDIR}\afs\smb.h"
1195 File "${AFS_BUILD_INCDIR}\afs\smb3.h"
1196 File "${AFS_BUILD_INCDIR}\afs\smb_iocons.h"
1197 File "${AFS_BUILD_INCDIR}\afs\smb_ioctl.h"
1198 File "${AFS_BUILD_INCDIR}\afs\afsrpc.h"
1199 File "${AFS_BUILD_INCDIR}\afs\afssyscalls.h"
1200 File "${AFS_BUILD_INCDIR}\afs\pioctl_nt.h"
1201 File "${AFS_BUILD_INCDIR}\afs\auth.h"
1202 File "${AFS_BUILD_INCDIR}\afs\cellconfig.h"
1203 File "${AFS_BUILD_INCDIR}\afs\keys.h"
1204 File "${AFS_BUILD_INCDIR}\afs\ptserver.h"
1205 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
1206 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
1207 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
1208 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
1209 File "${AFS_BUILD_INCDIR}\afs\ptclient.h"
1210 File "${AFS_BUILD_INCDIR}\afs\prserver.h"
1211 File "${AFS_BUILD_INCDIR}\afs\print.h"
1212 File "${AFS_BUILD_INCDIR}\afs\prerror.h"
1213 File "${AFS_BUILD_INCDIR}\afs\prclient.h"
1214 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
1215 File "${AFS_BUILD_INCDIR}\afs\kauth.h"
1216 File "${AFS_BUILD_INCDIR}\afs\kaport.h"
1217 File "${AFS_BUILD_INCDIR}\afs\vl_opcodes.h"
1218 File "${AFS_BUILD_INCDIR}\afs\vlserver.h"
1219 File "${AFS_BUILD_INCDIR}\afs\vldbint.h"
1220 File "${AFS_BUILD_INCDIR}\afs\usd.h"
1221 File "${AFS_BUILD_INCDIR}\afs\bubasics.h"
1222 File "${AFS_BUILD_INCDIR}\afs\butc.h"
1223 File "${AFS_BUILD_INCDIR}\afs\bumon.h"
1224 File "${AFS_BUILD_INCDIR}\afs\butm.h"
1225 File "${AFS_BUILD_INCDIR}\afs\tcdata.h"
1226 File "${AFS_BUILD_INCDIR}\afs\budb.h"
1227 ;File "${AFS_BUILD_INCDIR}\afs\budb_errors.h"
1228 File "${AFS_BUILD_INCDIR}\afs\budb_client.h"
1229 File "${AFS_BUILD_INCDIR}\afs\dir.h"
1230 File "${AFS_BUILD_INCDIR}\afs\fssync.h"
1231 File "${AFS_BUILD_INCDIR}\afs\ihandle.h"
1232 File "${AFS_BUILD_INCDIR}\afs\nfs.h"
1233 File "${AFS_BUILD_INCDIR}\afs\ntops.h"
1234 File "${AFS_BUILD_INCDIR}\afs\partition.h"
1235 File "${AFS_BUILD_INCDIR}\afs\viceinode.h"
1236 File "${AFS_BUILD_INCDIR}\afs\vnode.h"
1237 File "${AFS_BUILD_INCDIR}\afs\volume.h"
1238 File "${AFS_BUILD_INCDIR}\afs\voldefs.h"
1239 File "${AFS_BUILD_INCDIR}\afs\volser.h"
1240 File "${AFS_BUILD_INCDIR}\afs\volint.h"
1241 File "${AFS_BUILD_INCDIR}\afs\fs_stats.h"
1242 File "${AFS_BUILD_INCDIR}\afs\bosint.h"
1243 File "${AFS_BUILD_INCDIR}\afs\bnode.h"
1246 SetOutPath "$INSTDIR\Client\Program\Include\rx"
1247 File "${AFS_BUILD_INCDIR}\rx\rx.h"
1248 File "${AFS_BUILD_INCDIR}\rx\rx_packet.h"
1249 File "${AFS_BUILD_INCDIR}\rx\rx_user.h"
1250 File "${AFS_BUILD_INCDIR}\rx\rx_event.h"
1251 File "${AFS_BUILD_INCDIR}\rx\rx_queue.h"
1252 File "${AFS_BUILD_INCDIR}\rx\rx_globals.h"
1253 File "${AFS_BUILD_INCDIR}\rx\rx_clock.h"
1254 File "${AFS_BUILD_INCDIR}\rx\rx_misc.h"
1255 File "${AFS_BUILD_INCDIR}\rx\rx_multi.h"
1256 File "${AFS_BUILD_INCDIR}\rx\rx_null.h"
1257 File "${AFS_BUILD_INCDIR}\rx\rx_lwp.h"
1258 File "${AFS_BUILD_INCDIR}\rx\rx_pthread.h"
1259 File "${AFS_BUILD_INCDIR}\rx\rx_xmit_nt.h"
1260 File "${AFS_BUILD_INCDIR}\rx\xdr.h"
1261 File "${AFS_BUILD_INCDIR}\rx\rxkad.h"
1266 SetOutPath "$INSTDIR\Client\Program\Sample"
1267 File "..\..\afsd\sample\token.c"
1269 ;Store install folder
1270 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1271 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1272 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1273 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1274 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1275 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1276 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1277 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1278 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1280 WriteUninstaller "$INSTDIR\Uninstall.exe"
1281 SetOutPath "$SMPROGRAMS\OpenAFS"
1282 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1284 Call AFSCommon.Install
1287 ;Display the Finish header
1288 ;Insert this macro after the sections if you are not using a finish page
1289 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1291 ;--------------------------------
1292 ;Installer Functions
1296 !insertmacro MUI_LANGDLL_DISPLAY
1298 ; Set the default install options
1303 StrCmp $R0 "true" contInstall
1305 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1309 ; Our logic should be like this.
1310 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1311 ; 2) If existing modules are installed, we keep them selected
1312 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1314 Call IsAnyAFSInstalled
1316 StrCmp $R0 "0" DefaultOptions
1318 Call ShouldClientInstall
1321 ; Check if it was an IBM/Transarc version
1322 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1323 StrCmp $R0 "IBM AFS Client" DoIBM
1324 StrCmp $R0 "Transarc AFS Client" DoIBM
1327 StrCmp $R2 "0" NoClient
1328 StrCmp $R2 "1" ReinstallClient
1329 StrCmp $R2 "2" UpgradeClient
1330 StrCmp $R2 "3" DowngradeClient
1333 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1334 StrCmp $R0 "3" +1 NotIBM
1339 SectionGetFlags ${secClient} $0
1340 IntOp $0 $0 | ${SF_SELECTED}
1341 SectionSetFlags ${secClient} $0
1342 ;# !insertmacro SelectSection ${secClient}
1345 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1346 SectionGetFlags ${secClient} $0
1347 IntOp $0 $0 & ${SECTION_OFF}
1348 SectionSetFlags ${secClient} $0
1351 SectionGetFlags ${secClient} $0
1352 IntOp $0 $0 | ${SF_SELECTED}
1353 SectionSetFlags ${secClient} $0
1354 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1357 SectionGetFlags ${secClient} $0
1358 IntOp $0 $0 | ${SF_SELECTED}
1359 SectionSetFlags ${secClient} $0
1360 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1363 SectionGetFlags ${secClient} $0
1364 IntOp $0 $0 | ${SF_SELECTED}
1365 SectionSetFlags ${secClient} $0
1366 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1372 Call ShouldServerInstall
1374 StrCmp $R2 "0" NoServer
1375 StrCmp $R2 "1" ReinstallServer
1376 StrCmp $R2 "2" UpgradeServer
1377 StrCmp $R2 "3" DowngradeServer
1379 SectionGetFlags ${secServer} $0
1380 IntOp $0 $0 | ${SF_SELECTED}
1381 SectionSetFlags ${secServer} $0
1382 ;# !insertmacro UnselectSection ${secServer}
1386 SectionGetFlags ${secServer} $0
1387 IntOp $0 $0 | ${SF_SELECTED}
1388 SectionSetFlags ${secServer} $0
1389 SectionSetText ${secServer} $(UPGRADE_SERVER)
1393 SectionGetFlags ${secServer} $0
1394 IntOp $0 $0 | ${SF_SELECTED}
1395 SectionSetFlags ${secServer} $0
1396 SectionSetText ${secServer} $(REINSTALL_SERVER)
1400 SectionGetFlags ${secServer} $0
1401 IntOp $0 $0 | ${SF_SELECTED}
1402 SectionSetFlags ${secServer} $0
1403 SectionSetText ${secServer} $(REINSTALL_SERVER)
1407 SectionGetFlags ${secServer} $0
1408 IntOp $0 $0 & ${SECTION_OFF}
1409 SectionSetFlags ${secServer} $0
1410 ;# !insertmacro UnselectSection ${secServer}
1414 ; Check control center
1415 Call IsControlInstalled
1417 StrCmp $R2 "0" NoControl
1419 SectionGetFlags ${secControl} $0
1420 IntOp $0 $0 | ${SF_SELECTED}
1421 SectionSetFlags ${secControl} $0
1425 SectionGetFlags ${secControl} $0
1426 IntOp $0 $0 & ${SECTION_OFF}
1427 SectionSetFlags ${secControl} $0
1428 ;# !insertmacro UnselectSection ${secControl}
1431 ; Check Documentation
1432 Call IsDocumentationInstalled
1434 StrCmp $R2 "0" NoDocs
1435 SectionGetFlags ${secDocs} $0
1436 IntOp $0 $0 | ${SF_SELECTED}
1437 SectionSetFlags ${secDocs} $0
1441 SectionGetFlags ${secDocs} $0
1442 IntOp $0 $0 & ${SECTION_OFF}
1443 SectionSetFlags ${secDocs} $0
1446 ; To check the SDK, we simply look to see if the files exist. If they do,
1447 ; the SDK is installed. If not, we don't need to push it on the user.
1448 ; If they are there, we want to make sure they match the installed version.
1450 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1451 SectionGetFlags ${secSDK} $0
1452 IntOp $0 $0 | ${SF_SELECTED}
1453 SectionSetFlags ${secSDK} $0
1457 SectionGetFlags ${secSDK} $0
1458 IntOp $0 $0 & ${SECTION_OFF}
1459 SectionSetFlags ${secSDK} $0
1464 SectionGetFlags ${secClient} $0
1465 IntOp $0 $0 | ${SF_SELECTED}
1466 SectionSetFlags ${secClient} $0
1468 ; Server NOT selected
1469 SectionGetFlags ${secServer} $0
1470 IntOp $0 $0 & ${SECTION_OFF}
1471 SectionSetFlags ${secServer} $0
1473 ; Control Center NOT selected
1474 SectionGetFlags ${secControl} $0
1475 IntOp $0 $0 & ${SECTION_OFF}
1476 SectionSetFlags ${secControl} $0
1477 ;# !insertmacro UnselectSection ${secControl}
1479 ; Documentation selected
1480 SectionGetFlags ${secDocs} $0
1481 IntOp $0 $0 | ${SF_SELECTED}
1482 SectionSetFlags ${secDocs} $0
1483 ;# !insertmacro UnselectSection ${secDocs}
1486 SectionGetFlags ${secSDK} $0
1487 IntOp $0 $0 & ${SECTION_OFF}
1488 SectionSetFlags ${secSDK} $0
1489 ;# !insertmacro UnselectSection ${secSDK}
1498 ; See if we can set a default installation path...
1499 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1500 StrCmp $R0 "" TryServer
1504 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1505 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1506 StrCmp $R0 "1" +1 SkipParent
1507 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1508 StrCmp $R0 "3" +1 SkipParent
1509 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1510 StrCmp $R0 "5000" UpParent
1511 StrCmp $R0 "5100" UpParent
1512 StrCmp $R0 "5200" UpParent
1513 StrCmp $R0 "5201" UpParent
1514 StrCmp $R0 "5299" UpParent
1526 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1527 StrCmp $R0 "" TryControl
1535 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1543 File /oname=$0 CellServPage.ini
1545 File /oname=$1 AFSCell.ini
1546 ;File /oname=$1 ConfigURL.ini
1554 ;--------------------------------
1555 ; These are our cleanup functions
1556 Function .onInstFailed
1561 Function .onInstSuccess
1567 ;--------------------------------
1570 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1571 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1572 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1573 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1574 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1575 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1576 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1578 ;--------------------------------
1579 ;Uninstaller Section
1582 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1583 IfSilent StartRemove ; New in v2.0b4
1584 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1589 SetShellVarContext all
1590 ; Stop the running processes
1592 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1593 nsExec::Exec '$R0 afscreds.exe'
1594 nsExec::Exec "afscreds.exe -z"
1595 ; in case we are upgrading an old version that does not support -z
1597 nsExec::Exec '$R0 afscreds.exe'
1599 nsExec::Exec '$R0 krbcc32s.exe'
1602 ; Delete the AFS service
1604 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1605 nsExec::Exec "net stop TransarcAFSDaemon"
1606 nsExec::Exec "net stop TransarcAFSServer"
1607 nsExec::Exec '$R0 u TransarcAFSDaemon'
1608 ; After we stop the service, but before we delete it, we have to remove the volume data
1609 ; This is because the storage locations are in the registry under the service key.
1610 ; Call un.RemoveAFSVolumes
1611 nsExec::Exec '$R0 u TransarcAFSServer'
1614 Push "$INSTDIR\Client\Program"
1615 Call un.RemoveFromPath
1616 Push "$INSTDIR\Common"
1617 Call un.RemoveFromPath
1619 Push "$INSTDIR\kfw\bin"
1620 Call un.RemoveFromPath
1623 ; Delete documentation
1624 Delete "$INSTDIR\Documentation\README.TXT"
1625 Delete "$INSTDIR\Documentation\html\*"
1626 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1627 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1628 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1629 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1631 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1632 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1633 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1634 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1635 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1636 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1637 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1638 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1639 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1640 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1641 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1642 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1643 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1644 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1645 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1648 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1649 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1650 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1651 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1652 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1653 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1654 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1655 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1656 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1657 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1658 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1659 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1660 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1661 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1662 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1665 File "${SYSTEMDIR}\msvcr71d.dll"
1666 File "${SYSTEMDIR}\msvcr71d.pdb"
1667 File "${SYSTEMDIR}\msvcp71d.dll"
1668 File "${SYSTEMDIR}\msvcp71d.pdb"
1669 File "${SYSTEMDIR}\mfc71d.dll"
1670 File "${SYSTEMDIR}\mfc71d.pdb"
1671 File "${SYSTEMDIR}\MFC71CHS.DLL"
1672 File "${SYSTEMDIR}\MFC71CHT.DLL"
1673 File "${SYSTEMDIR}\MFC71DEU.DLL"
1674 File "${SYSTEMDIR}\MFC71ENU.DLL"
1675 File "${SYSTEMDIR}\MFC71ESP.DLL"
1676 File "${SYSTEMDIR}\MFC71FRA.DLL"
1677 File "${SYSTEMDIR}\MFC71ITA.DLL"
1678 File "${SYSTEMDIR}\MFC71JPN.DLL"
1679 File "${SYSTEMDIR}\MFC71KOR.DLL"
1682 File "${SYSTEMDIR}\msvcr70d.dll"
1683 File "${SYSTEMDIR}\msvcr70d.pdb"
1684 File "${SYSTEMDIR}\msvcp70d.dll"
1685 File "${SYSTEMDIR}\msvcp70d.pdb"
1686 File "${SYSTEMDIR}\mfc70d.dll"
1687 File "${SYSTEMDIR}\mfc70d.pdb"
1688 File "${SYSTEMDIR}\MFC70CHS.DLL"
1689 File "${SYSTEMDIR}\MFC70CHT.DLL"
1690 File "${SYSTEMDIR}\MFC70DEU.DLL"
1691 File "${SYSTEMDIR}\MFC70ENU.DLL"
1692 File "${SYSTEMDIR}\MFC70ESP.DLL"
1693 File "${SYSTEMDIR}\MFC70FRA.DLL"
1694 File "${SYSTEMDIR}\MFC70ITA.DLL"
1695 File "${SYSTEMDIR}\MFC70JPN.DLL"
1696 File "${SYSTEMDIR}\MFC70KOR.DLL"
1698 File "${SYSTEMDIR}\mfc42d.dll"
1699 File "${SYSTEMDIR}\mfc42d.pdb"
1700 File "${SYSTEMDIR}\msvcp60d.dll"
1701 File "${SYSTEMDIR}\msvcp60d.pdb"
1702 File "${SYSTEMDIR}\msvcrtd.dll"
1703 File "${SYSTEMDIR}\msvcrtd.pdb"
1708 File "${SYSTEMDIR}\mfc71.dll"
1709 File "${SYSTEMDIR}\msvcr71.dll"
1710 File "${SYSTEMDIR}\msvcp71.dll"
1711 File "${SYSTEMDIR}\MFC71CHS.DLL"
1712 File "${SYSTEMDIR}\MFC71CHT.DLL"
1713 File "${SYSTEMDIR}\MFC71DEU.DLL"
1714 File "${SYSTEMDIR}\MFC71ENU.DLL"
1715 File "${SYSTEMDIR}\MFC71ESP.DLL"
1716 File "${SYSTEMDIR}\MFC71FRA.DLL"
1717 File "${SYSTEMDIR}\MFC71ITA.DLL"
1718 File "${SYSTEMDIR}\MFC71JPN.DLL"
1719 File "${SYSTEMDIR}\MFC71KOR.DLL"
1722 File "${SYSTEMDIR}\mfc70.dll"
1723 File "${SYSTEMDIR}\msvcr70.dll"
1724 File "${SYSTEMDIR}\msvcp70.dll"
1725 File "${SYSTEMDIR}\MFC70CHS.DLL"
1726 File "${SYSTEMDIR}\MFC70CHT.DLL"
1727 File "${SYSTEMDIR}\MFC70DEU.DLL"
1728 File "${SYSTEMDIR}\MFC70ENU.DLL"
1729 File "${SYSTEMDIR}\MFC70ESP.DLL"
1730 File "${SYSTEMDIR}\MFC70FRA.DLL"
1731 File "${SYSTEMDIR}\MFC70ITA.DLL"
1732 File "${SYSTEMDIR}\MFC70JPN.DLL"
1733 File "${SYSTEMDIR}\MFC70KOR.DLL"
1735 File "${SYSTEMDIR}\mfc42.dll"
1736 File "${SYSTEMDIR}\msvcp60.dll"
1737 File "${SYSTEMDIR}\msvcrt.dll"
1743 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1745 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1747 Delete "$WINDIR\afsdcell.ini"
1749 Delete "$WINDIR\afsdsbmt.ini"
1750 ; Only remove krb5.ini if KfW was installed
1752 Delete "$WINDIR\krb5.ini"
1754 Delete "$WINDIR\afsdns.ini"
1755 Delete "$WINDIR\afs_freelance.ini"
1758 Delete "$WINDIR\afsd_init.log"
1759 Delete "$INSTDIR\Uninstall.exe"
1762 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1763 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1764 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1765 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1766 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1767 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1768 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1769 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1770 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1771 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1772 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1773 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1774 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1775 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1776 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1777 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1778 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1781 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1782 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1783 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1784 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1785 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1786 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1787 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1788 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1789 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1790 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1791 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1792 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1793 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1794 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1795 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1796 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1797 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1800 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1801 RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1802 RmDir /r "$INSTDIR\Server\usr\afs\etc"
1803 RmDir /r "$INSTDIR\Server\usr\afs\local"
1804 RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1806 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1807 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1810 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1811 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1814 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1815 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1816 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1817 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1818 RMDIr /r "$INSTDIR\Documentation\html"
1820 RMDir "$INSTDIR\Documentation"
1821 ; Delete DOC short cut
1822 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1825 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1828 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1829 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1830 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1831 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1832 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1833 RMDir "$INSTDIR\Client\Program\Sample"
1834 RMDir "$INSTDIR\Client\Program\Include\afs"
1835 RMDir "$INSTDIR\Client\Program\Include\rx"
1836 RMDir "$INSTDIR\Client\Program\Include"
1837 RMDir "$INSTDIR\Client\Program"
1838 RMDir "$INSTDIR\Client"
1842 File "${SYSTEMDIR}\msvcr71d.dll"
1843 File "${SYSTEMDIR}\msvcr71d.pdb"
1844 File "${SYSTEMDIR}\msvcp71d.dll"
1845 File "${SYSTEMDIR}\msvcp71d.pdb"
1846 File "${SYSTEMDIR}\mfc71d.dll"
1847 File "${SYSTEMDIR}\mfc71d.pdb"
1848 File "${SYSTEMDIR}\MFC71CHS.DLL"
1849 File "${SYSTEMDIR}\MFC71CHT.DLL"
1850 File "${SYSTEMDIR}\MFC71DEU.DLL"
1851 File "${SYSTEMDIR}\MFC71ENU.DLL"
1852 File "${SYSTEMDIR}\MFC71ESP.DLL"
1853 File "${SYSTEMDIR}\MFC71FRA.DLL"
1854 File "${SYSTEMDIR}\MFC71ITA.DLL"
1855 File "${SYSTEMDIR}\MFC71JPN.DLL"
1856 File "${SYSTEMDIR}\MFC71KOR.DLL"
1859 File "${SYSTEMDIR}\msvcr70d.dll"
1860 File "${SYSTEMDIR}\msvcr70d.pdb"
1861 File "${SYSTEMDIR}\msvcp70d.dll"
1862 File "${SYSTEMDIR}\msvcp70d.pdb"
1863 File "${SYSTEMDIR}\mfc70d.dll"
1864 File "${SYSTEMDIR}\mfc70d.pdb"
1865 File "${SYSTEMDIR}\MFC70CHS.DLL"
1866 File "${SYSTEMDIR}\MFC70CHT.DLL"
1867 File "${SYSTEMDIR}\MFC70DEU.DLL"
1868 File "${SYSTEMDIR}\MFC70ENU.DLL"
1869 File "${SYSTEMDIR}\MFC70ESP.DLL"
1870 File "${SYSTEMDIR}\MFC70FRA.DLL"
1871 File "${SYSTEMDIR}\MFC70ITA.DLL"
1872 File "${SYSTEMDIR}\MFC70JPN.DLL"
1873 File "${SYSTEMDIR}\MFC70KOR.DLL"
1875 File "${SYSTEMDIR}\mfc42d.dll"
1876 File "${SYSTEMDIR}\mfc42d.pdb"
1877 File "${SYSTEMDIR}\msvcp60d.dll"
1878 File "${SYSTEMDIR}\msvcp60d.pdb"
1879 File "${SYSTEMDIR}\msvcrtd.dll"
1880 File "${SYSTEMDIR}\msvcrtd.pdb"
1885 File "${SYSTEMDIR}\mfc71.dll"
1886 File "${SYSTEMDIR}\msvcr71.dll"
1887 File "${SYSTEMDIR}\msvcp71.dll"
1888 File "${SYSTEMDIR}\MFC71CHS.DLL"
1889 File "${SYSTEMDIR}\MFC71CHT.DLL"
1890 File "${SYSTEMDIR}\MFC71DEU.DLL"
1891 File "${SYSTEMDIR}\MFC71ENU.DLL"
1892 File "${SYSTEMDIR}\MFC71ESP.DLL"
1893 File "${SYSTEMDIR}\MFC71FRA.DLL"
1894 File "${SYSTEMDIR}\MFC71ITA.DLL"
1895 File "${SYSTEMDIR}\MFC71JPN.DLL"
1896 File "${SYSTEMDIR}\MFC71KOR.DLL"
1899 File "${SYSTEMDIR}\mfc70.dll"
1900 File "${SYSTEMDIR}\msvcr70.dll"
1901 File "${SYSTEMDIR}\msvcp70.dll"
1902 File "${SYSTEMDIR}\MFC70CHS.DLL"
1903 File "${SYSTEMDIR}\MFC70CHT.DLL"
1904 File "${SYSTEMDIR}\MFC70DEU.DLL"
1905 File "${SYSTEMDIR}\MFC70ENU.DLL"
1906 File "${SYSTEMDIR}\MFC70ESP.DLL"
1907 File "${SYSTEMDIR}\MFC70FRA.DLL"
1908 File "${SYSTEMDIR}\MFC70ITA.DLL"
1909 File "${SYSTEMDIR}\MFC70JPN.DLL"
1910 File "${SYSTEMDIR}\MFC70KOR.DLL"
1912 File "${SYSTEMDIR}\mfc42.dll"
1913 File "${SYSTEMDIR}\msvcp60.dll"
1914 File "${SYSTEMDIR}\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"
1938 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1939 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1940 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1942 RMDir "$INSTDIR\Control Center"
1944 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1945 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1946 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1947 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1948 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1949 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1950 RMDir /r "$SMPROGRAMS\OpenAFS"
1951 Delete "$SMSTARTUP\AFS Credentials.lnk"
1953 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1955 Delete "$R0\AFSCache"
1956 Delete "C:\AFSCache"
1958 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1959 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1960 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1961 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1962 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1964 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1965 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1966 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1967 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1968 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1969 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1970 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1971 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1972 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1973 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1974 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1980 ;--------------------------------
1981 ;Uninstaller Functions
1985 ;Get language from registry
1986 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1990 Function un.onUninstSuccess
1992 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 3" "State"
2010 StrCmp $R0 "1" UsePackaged
2012 ReadINIStr $R0 $0 "Field 6" "State"
2013 StrCmp $R0 "1" CheckOther
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"
2042 ;-------------------------------
2043 ;Do the page to get the CellServDB
2045 Function AFSPageGetCellServDB
2046 ; Skip this page if we are not installing the client
2047 SectionGetFlags ${secClient} $R0
2048 IntOp $R0 $R0 & ${SF_SELECTED}
2051 ; Set the install options here
2054 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2055 WriteINIStr $0 "Field 3" "State" "1"
2056 WriteINISTR $0 "Field 4" "State" "0"
2057 WriteINIStr $0 "Field 6" "State" "0"
2059 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
2060 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
2061 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2062 WriteINIStr $0 "Field 2" "State" "1"
2063 WriteINIStr $0 "Field 3" "State" "0"
2067 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2068 InstallOptions::dialog $0
2070 StrCmp $R1 "cancel" exit
2071 StrCmp $R1 "back" done
2072 StrCmp $R1 "success" done
2076 ; Check that if a file is set, a valid filename is entered...
2077 ReadINIStr $R0 $0 "Field 6" "State"
2078 StrCmp $R0 "1" CheckFileName
2080 ;Check if a URL is specified, one *IS* specified
2081 ReadINIStr $R0 $0 "Field 4" "State"
2082 StrCmp $R0 "1" CheckURL Skip
2085 ReadINIStr $R0 $0 "Field 5" "State"
2086 StrCmp $R0 "" +1 Skip
2087 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2088 WriteINIStr $0 "Field 4" "State" "0"
2092 ReadINIStr $R0 $0 "Field 7" "State"
2093 IfFileExists $R0 Skip
2095 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2096 WriteINIStr $0 "Field 6" "State" "0"
2104 Function AFSPageGetCellName
2106 ; Skip this page if we are not installing the client
2107 SectionGetFlags ${secClient} $R0
2108 IntOp $R0 $R0 & ${SF_SELECTED}
2112 ; If this is a server install, we do NOT want to recommend the Freelance client
2113 ; And we do not need to ask for the cell name.
2114 SectionGetFlags ${secServer} $R1
2115 IntOp $R1 $R1 & ${SF_SELECTED}
2116 StrCmp $R1 "1" +1 NotServer
2117 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2118 WriteINIStr $1 "Field 5" "State" "0"
2119 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2120 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2123 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2124 WriteINIStr $1 "Field 5" "State" "1"
2125 WriteINIStr $1 "Field 1" "Flags" ""
2126 WriteINIStr $1 "Field 2" "Flags" ""
2128 ; Get the current cell name, if any
2129 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2131 WriteINIStr $1 "Field 2" "State" $R1
2132 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2133 InstallOptions::dialog $1
2135 StrCmp $R1 "cancel" exit
2136 StrCmp $R1 "back" done
2137 StrCmp $R1 "success" done
2140 ReadINIStr $R0 $1 "Field 2" "State"
2141 StrCmp $R0 "" +1 good
2143 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2149 ; Common install routines for each module
2150 Function AFSCommon.Install
2152 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2153 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2155 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2157 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2159 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2164 ;-------------------
2165 ; Get the currently installed version and place it on the stack
2167 Function GetInstalledVersion
2172 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2173 StrCmp $R0 "" NotTransarc done
2177 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2186 ; Functions to get each component of the version number
2187 Function GetInstalledVersionMajor
2192 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2193 StrCmp $R0 "" NotTransarc done
2197 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2206 Function GetInstalledVersionMinor
2211 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2212 StrCmp $R0 "" NotTransarc done
2216 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2225 Function GetInstalledVersionPatch
2230 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2231 StrCmp $R0 "" NotTransarc done
2235 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2246 ;-------------------------------
2247 ; Check if the client should be checked for default install
2248 Function ShouldClientInstall
2250 StrCpy $R2 "AFS Client"
2251 Call GetInstalledVersion
2254 StrCmp $R0 "" NotInstalled
2255 ; Now we see if it's an older or newer version
2257 Call GetInstalledVersionMajor
2259 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2261 Call GetInstalledVersionMinor
2263 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2265 Call GetInstalledVersionPatch
2267 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2290 ;-------------------------------
2291 ; Check how the server options should be set
2292 Function ShouldServerInstall
2294 StrCpy $R2 "AFS Server"
2295 Call GetInstalledVersion
2298 StrCmp $R0 "" NotInstalled
2299 ; Now we see if it's an older or newer version
2301 Call GetInstalledVersionMajor
2303 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2305 Call GetInstalledVersionMinor
2307 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2309 Call GetInstalledVersionPatch
2311 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2336 ; See if AFS Server is installed
2337 ; Returns: "1" if it is, 0 if it is not (on the stack)
2338 Function IsServerInstalled
2340 StrCpy $R2 "AFS Server"
2341 Call GetInstalledVersion
2344 StrCmp $R0 "" NotInstalled
2357 ; See if AFS Client is installed
2358 ; Returns: "1" if it is, 0 if it is not (on the stack)
2359 Function IsClientInstalled
2361 StrCpy $R2 "AFS Client"
2362 Call GetInstalledVersion
2365 StrCmp $R0 "" NotInstalled
2379 ; See if AFS Documentation is installed
2380 ; Returns: "1" if it is, 0 if it is not (on the stack)
2381 Function IsDocumentationInstalled
2383 StrCpy $R2 "AFS Supplemental Documentation"
2384 Call GetInstalledVersion
2387 StrCmp $R0 "" NotInstalled
2400 ; See if Control Center is installed
2401 ; Returns: "1" if it is, 0 if it is not (on the stack)
2402 Function IsControlInstalled
2404 StrCpy $R2 "AFS Control Center"
2405 Call GetInstalledVersion
2408 StrCmp $R0 "" NotInstalled
2423 ; output, top of stack (replaces, with e.g. whatever)
2424 ; modifies no other variables.
2426 Function GetParameters
2430 StrCpy $R0 $CMDLINE 1
2434 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2436 StrCpy $R0 $CMDLINE 1 $R2
2437 StrCmp $R0 $R1 loop2
2443 StrCpy $R0 $CMDLINE 1 $R2
2444 StrCmp $R0 " " loop2
2445 StrCpy $R0 $CMDLINE "" $R2
2452 ;Check to see if any AFS component is installed
2453 ;Returns: Value on stack: "1" if it is, "0" if it is not
2454 Function IsAnyAFSInstalled
2459 Call IsClientInstalled
2461 Call IsServerInstalled
2463 Call IsControlInstalled
2465 Call IsDocumentationInstalled
2467 ; Now we must see if ANY of the $Rn values are 1
2468 StrCmp $R0 "1" SomethingInstalled
2469 StrCmp $R1 "1" SomethingInstalled
2470 StrCmp $R2 "1" SomethingInstalled
2471 StrCmp $R3 "1" SomethingInstalled
2485 ;Install English Language Files
2486 Function AFSLangFiles
2488 SetOutPath "$INSTDIR\Common"
2489 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2490 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2491 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2492 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2493 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2494 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2495 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2496 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2497 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2498 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2499 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2500 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2501 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2502 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2506 File "${SYSTEMDIR}\msvcr71d.dll"
2507 File "${SYSTEMDIR}\msvcr71d.pdb"
2508 File "${SYSTEMDIR}\msvcp71d.dll"
2509 File "${SYSTEMDIR}\msvcp71d.pdb"
2510 File "${SYSTEMDIR}\mfc71d.dll"
2511 File "${SYSTEMDIR}\mfc71d.pdb"
2512 File "${SYSTEMDIR}\MFC71CHS.DLL"
2513 File "${SYSTEMDIR}\MFC71CHT.DLL"
2514 File "${SYSTEMDIR}\MFC71DEU.DLL"
2515 File "${SYSTEMDIR}\MFC71ENU.DLL"
2516 File "${SYSTEMDIR}\MFC71ESP.DLL"
2517 File "${SYSTEMDIR}\MFC71FRA.DLL"
2518 File "${SYSTEMDIR}\MFC71ITA.DLL"
2519 File "${SYSTEMDIR}\MFC71JPN.DLL"
2520 File "${SYSTEMDIR}\MFC71KOR.DLL"
2523 File "${SYSTEMDIR}\msvcr70d.dll"
2524 File "${SYSTEMDIR}\msvcr70d.pdb"
2525 File "${SYSTEMDIR}\msvcp70d.dll"
2526 File "${SYSTEMDIR}\msvcp70d.pdb"
2527 File "${SYSTEMDIR}\mfc70d.dll"
2528 File "${SYSTEMDIR}\mfc70d.pdb"
2529 File "${SYSTEMDIR}\MFC70CHS.DLL"
2530 File "${SYSTEMDIR}\MFC70CHT.DLL"
2531 File "${SYSTEMDIR}\MFC70DEU.DLL"
2532 File "${SYSTEMDIR}\MFC70ENU.DLL"
2533 File "${SYSTEMDIR}\MFC70ESP.DLL"
2534 File "${SYSTEMDIR}\MFC70FRA.DLL"
2535 File "${SYSTEMDIR}\MFC70ITA.DLL"
2536 File "${SYSTEMDIR}\MFC70JPN.DLL"
2537 File "${SYSTEMDIR}\MFC70KOR.DLL"
2539 File "${SYSTEMDIR}\mfc42d.dll"
2540 File "${SYSTEMDIR}\mfc42d.pdb"
2541 File "${SYSTEMDIR}\msvcp60d.dll"
2542 File "${SYSTEMDIR}\msvcp60d.pdb"
2543 File "${SYSTEMDIR}\msvcrtd.dll"
2544 File "${SYSTEMDIR}\msvcrtd.pdb"
2549 File "${SYSTEMDIR}\mfc71.dll"
2550 File "${SYSTEMDIR}\msvcr71.dll"
2551 File "${SYSTEMDIR}\msvcp71.dll"
2552 File "${SYSTEMDIR}\MFC71CHS.DLL"
2553 File "${SYSTEMDIR}\MFC71CHT.DLL"
2554 File "${SYSTEMDIR}\MFC71DEU.DLL"
2555 File "${SYSTEMDIR}\MFC71ENU.DLL"
2556 File "${SYSTEMDIR}\MFC71ESP.DLL"
2557 File "${SYSTEMDIR}\MFC71FRA.DLL"
2558 File "${SYSTEMDIR}\MFC71ITA.DLL"
2559 File "${SYSTEMDIR}\MFC71JPN.DLL"
2560 File "${SYSTEMDIR}\MFC71KOR.DLL"
2563 File "${SYSTEMDIR}\mfc70.dll"
2564 File "${SYSTEMDIR}\msvcr70.dll"
2565 File "${SYSTEMDIR}\msvcp70.dll"
2566 File "${SYSTEMDIR}\MFC70CHS.DLL"
2567 File "${SYSTEMDIR}\MFC70CHT.DLL"
2568 File "${SYSTEMDIR}\MFC70DEU.DLL"
2569 File "${SYSTEMDIR}\MFC70ENU.DLL"
2570 File "${SYSTEMDIR}\MFC70ESP.DLL"
2571 File "${SYSTEMDIR}\MFC70FRA.DLL"
2572 File "${SYSTEMDIR}\MFC70ITA.DLL"
2573 File "${SYSTEMDIR}\MFC70JPN.DLL"
2574 File "${SYSTEMDIR}\MFC70KOR.DLL"
2576 File "${SYSTEMDIR}\mfc42.dll"
2577 File "${SYSTEMDIR}\msvcp60.dll"
2578 File "${SYSTEMDIR}\msvcrt.dll"
2584 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
2585 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
2586 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
2587 File "${AFS_DESTDIR}\lib\afspthread.pdb"
2588 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
2589 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
2590 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
2591 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2592 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
2593 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2594 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
2595 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
2596 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
2597 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
2600 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2601 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2602 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2603 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2604 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2605 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2606 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2607 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2611 SetOutPath "$INSTDIR\Documentation"
2612 File "..\..\doc\install\Documentation\en_US\README.TXT"
2614 SetOutPath "$INSTDIR\Client\Program"
2615 File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll"
2616 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2618 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2619 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2622 SetOutPath "$INSTDIR\Common"
2623 File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll"
2624 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll"
2625 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
2626 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
2627 File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
2628 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll"
2629 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll"
2630 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll"
2631 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll"
2632 File "..\..\doc\help\en_US\afs-cc.CNT"
2633 File "..\..\doc\help\en_US\afs-cc.hlp"
2634 File "..\..\doc\help\en_US\afs-light.CNT"
2635 File "..\..\doc\help\en_US\afs-light.hlp"
2636 File "..\..\doc\help\en_US\afs-nt.CNT"
2637 File "..\..\doc\help\en_US\afs-nt.HLP"
2638 File "..\..\doc\help\en_US\taafscfg.CNT"
2639 File "..\..\doc\help\en_US\taafscfg.hlp"
2640 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2641 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2642 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2643 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2646 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2647 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2648 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2649 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2650 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2651 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2652 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2653 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2659 SetOutPath "$INSTDIR\Documentation"
2660 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2662 SetOutPath "$INSTDIR\Client\Program"
2663 File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll"
2664 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2666 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2667 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2670 SetOutPath "$INSTDIR\Common"
2671 File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll"
2672 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll"
2673 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll"
2674 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll"
2675 File "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll"
2676 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll"
2677 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll"
2678 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll"
2679 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll"
2680 File "..\..\doc\help\de_DE\afs-cc.CNT"
2681 File "..\..\doc\help\de_DE\afs-cc.hlp"
2682 File "..\..\doc\help\de_DE\afs-light.CNT"
2683 File "..\..\doc\help\de_DE\afs-light.hlp"
2684 File "..\..\doc\help\de_DE\afs-nt.CNT"
2685 File "..\..\doc\help\de_DE\afs-nt.HLP"
2686 File "..\..\doc\help\de_DE\taafscfg.CNT"
2687 File "..\..\doc\help\de_DE\taafscfg.hlp"
2688 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2689 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2690 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2691 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2694 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2695 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2696 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2697 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2698 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2699 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2700 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2701 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2707 SetOutPath "$INSTDIR\Documentation"
2708 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2710 SetOutPath "$INSTDIR\Client\Program"
2711 File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll"
2712 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2714 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2715 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2718 SetOutPath "$INSTDIR\Common"
2719 File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll"
2720 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll"
2721 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll"
2722 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll"
2723 File "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll"
2724 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll"
2725 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll"
2726 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll"
2727 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll"
2728 File "..\..\doc\help\es_ES\afs-cc.CNT"
2729 File "..\..\doc\help\es_ES\afs-cc.hlp"
2730 File "..\..\doc\help\es_ES\afs-light.CNT"
2731 File "..\..\doc\help\es_ES\afs-light.hlp"
2732 File "..\..\doc\help\es_ES\afs-nt.CNT"
2733 File "..\..\doc\help\es_ES\afs-nt.HLP"
2734 File "..\..\doc\help\es_ES\taafscfg.CNT"
2735 File "..\..\doc\help\es_ES\taafscfg.hlp"
2736 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2737 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2738 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2739 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2742 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2743 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2744 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2745 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2746 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2747 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2748 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2749 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2755 SetOutPath "$INSTDIR\Documentation"
2756 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2758 SetOutPath "$INSTDIR\Client\Program"
2759 File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll"
2760 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2762 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2763 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2766 SetOutPath "$INSTDIR\Common"
2767 File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll"
2768 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll"
2769 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll"
2770 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll"
2771 File "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll"
2772 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll"
2773 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll"
2774 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll"
2775 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll"
2776 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2777 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2778 File "..\..\doc\help\ja_JP\afs-light.CNT"
2779 File "..\..\doc\help\ja_JP\afs-light.hlp"
2780 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2781 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2782 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2783 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2784 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2785 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2786 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2787 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2790 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2791 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2792 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2793 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2794 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2795 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2796 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2797 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2803 SetOutPath "$INSTDIR\Documentation"
2804 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2806 SetOutPath "$INSTDIR\Client\Program"
2807 File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll"
2808 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2810 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2811 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2814 SetOutPath "$INSTDIR\Common"
2815 File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll"
2816 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll"
2817 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll"
2818 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll"
2819 File "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll"
2820 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll"
2821 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll"
2822 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll"
2823 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll"
2824 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2825 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2826 File "..\..\doc\help\ko_KR\afs-light.CNT"
2827 File "..\..\doc\help\ko_KR\afs-light.hlp"
2828 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2829 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2830 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2831 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2832 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2833 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2834 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2835 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2838 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2839 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2840 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2841 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2842 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2843 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2844 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2845 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2852 SetOutPath "$INSTDIR\Documentation"
2853 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2855 SetOutPath "$INSTDIR\Client\Program"
2856 File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll"
2857 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2859 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2860 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
2863 SetOutPath "$INSTDIR\Common"
2864 File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll"
2865 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll"
2866 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll"
2867 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll"
2868 File "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll"
2869 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll"
2870 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll"
2871 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll"
2872 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll"
2873 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2874 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2875 File "..\..\doc\help\pt_BR\afs-light.CNT"
2876 File "..\..\doc\help\pt_BR\afs-light.hlp"
2877 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2878 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2879 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2880 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2881 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2882 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2883 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2884 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2887 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
2888 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
2889 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
2890 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
2891 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
2892 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
2893 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
2894 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
2900 SetOutPath "$INSTDIR\Documentation"
2901 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2903 SetOutPath "$INSTDIR\Client\Program"
2904 File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll"
2905 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
2907 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
2908 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
2911 SetOutPath "$INSTDIR\Common"
2912 File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll"
2913 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll"
2914 File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll"
2915 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll"
2916 File "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll"
2917 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll"
2918 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll"
2919 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll"
2920 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll"
2921 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2922 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2923 File "..\..\doc\help\zh_CN\afs-light.CNT"
2924 File "..\..\doc\help\zh_CN\afs-light.hlp"
2925 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2926 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2927 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2928 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2929 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2930 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2931 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2932 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2935 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
2936 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
2937 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
2938 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
2939 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
2940 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
2941 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
2942 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
2948 SetOutPath "$INSTDIR\Documentation"
2949 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
2951 SetOutPath "$INSTDIR\Client\Program"
2952 File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll"
2953 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
2955 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
2956 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
2959 SetOutPath "$INSTDIR\Common"
2960 File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll"
2961 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll"
2962 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll"
2963 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll"
2964 File "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll"
2965 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll"
2966 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll"
2967 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll"
2968 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll"
2969 File "..\..\doc\help\zh_TW\afs-cc.CNT"
2970 File "..\..\doc\help\zh_TW\afs-cc.hlp"
2971 File "..\..\doc\help\zh_TW\afs-light.CNT"
2972 File "..\..\doc\help\zh_TW\afs-light.hlp"
2973 File "..\..\doc\help\zh_TW\afs-nt.CNT"
2974 File "..\..\doc\help\zh_TW\afs-nt.HLP"
2975 File "..\..\doc\help\zh_TW\taafscfg.CNT"
2976 File "..\..\doc\help\zh_TW\taafscfg.hlp"
2977 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
2978 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
2979 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
2980 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
2983 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
2984 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
2985 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
2986 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
2987 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
2988 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
2989 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
2990 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
2999 ;====================================================
3000 ; AddToPath - Adds the given dir to the search path.
3001 ; Input - head of the stack
3002 ; Note - Win9x systems requires reboot
3003 ;====================================================
3010 # don't add if the path doesn't exist
3011 IfFileExists $0 "" AddToPath_done
3018 StrCmp $2 "" "" AddToPath_done
3023 StrCmp $2 "" "" AddToPath_done
3024 GetFullPathName /SHORT $3 $0
3029 StrCmp $2 "" "" AddToPath_done
3034 StrCmp $2 "" "" AddToPath_done
3038 StrCmp $1 1 AddToPath_NT
3041 FileOpen $1 "$1\autoexec.bat" a
3044 IntCmp $2 26 0 +2 +2 # DOS EOF
3045 FileSeek $1 -1 END # write over EOF
3046 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3052 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3053 StrCpy $2 $1 1 -1 # copy last char
3054 StrCmp $2 ";" 0 +2 # if last char == ;
3055 StrCpy $1 $1 -1 # remove last char
3056 StrCmp $1 "" AddToPath_NTdoIt
3059 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3060 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3069 ;====================================================
3070 ; RemoveFromPath - Remove a given dir from the path
3071 ; Input: head of the stack
3072 ;====================================================
3073 Function un.RemoveFromPath
3082 IntFmt $6 "%c" 26 # DOS EOF
3086 StrCmp $1 1 unRemoveFromPath_NT
3089 FileOpen $1 "$1\autoexec.bat" r
3092 GetFullPathName /SHORT $0 $0
3093 StrCpy $0 "SET PATH=%PATH%;$0"
3094 Goto unRemoveFromPath_dosLoop
3096 unRemoveFromPath_dosLoop:
3098 StrCpy $5 $3 1 -1 # read last char
3099 StrCmp $5 $6 0 +2 # if DOS EOF
3100 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3101 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3102 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3103 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3104 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3106 Goto unRemoveFromPath_dosLoop
3107 unRemoveFromPath_dosLoopRemoveLine:
3109 Goto unRemoveFromPath_dosLoop
3111 unRemoveFromPath_dosLoopEnd:
3115 Delete "$1\autoexec.bat"
3116 CopyFiles /SILENT $4 "$1\autoexec.bat"
3118 Goto unRemoveFromPath_done
3120 unRemoveFromPath_NT:
3121 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3122 StrCpy $5 $1 1 -1 # copy last char
3123 StrCmp $5 ";" +2 # if last char != ;
3124 StrCpy $1 "$1;" # append ;
3127 Call un.StrStr ; Find `$0;` in $1
3128 Pop $2 ; pos of our dir
3129 StrCmp $2 "" unRemoveFromPath_done
3130 ; else, it is in path
3135 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3136 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3139 StrCpy $5 $3 1 -1 # copy last char
3140 StrCmp $5 ";" 0 +2 # if last char == ;
3141 StrCpy $3 $3 -1 # remove last char
3143 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3144 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3146 unRemoveFromPath_done:
3156 ;====================================================
3157 ; IsNT - Returns 1 if the current system is NT, 0
3159 ; Output: head of the stack
3160 ;====================================================
3164 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3165 StrCmp $0 "" 0 IsNT_yes
3177 !insertmacro IsNT ""
3178 !insertmacro IsNT "un."
3180 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3182 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3183 ;====================================================
3184 ; StrStr - Finds a given string in another given string.
3185 ; Returns -1 if not found and the pos if found.
3186 ; Input: head of the stack - string to find
3187 ; second in the stack - string to find in
3188 ; Output: head of the stack
3189 ;====================================================
3191 Function ${un}StrStr
3192 Exch $R1 ; st=haystack,old$R1, $R1=needle
3193 Exch ; st=old$R1,haystack
3194 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3206 StrCpy $R5 $R2 $R3 $R4
3212 StrCpy $R1 $R2 "" $R4
3220 !insertmacro StrStr ""
3221 !insertmacro StrStr "un."
3224 !ifdef ADDSHAREDDLLUSED
3227 ; Increments a shared DLLs reference count.
3228 ; Use by passing one item on the stack (the full path of the DLL).
3231 ; Push $SYSDIR\myDll.dll
3235 Function AddSharedDLL
3238 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3240 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3246 ; un.RemoveSharedDLL
3248 ; Decrements a shared DLLs reference count, and removes if necessary.
3249 ; Use by passing one item on the stack (the full path of the DLL).
3250 ; Note: for use in the main installer (not the uninstaller), rename the
3251 ; function to RemoveSharedDLL.
3254 ; Push $SYSDIR\myDll.dll
3255 ; Call un.RemoveSharedDLL
3258 Function un.RemoveSharedDLL
3261 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3262 StrCmp $R0 "" remove
3264 IntCmp $R0 0 rk rk uk
3266 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3269 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3272 Delete /REBOOTOK $R1
3281 !ifdef INSTALL_LOOPBACK
3282 Function afs.InstallMSLoopback
3284 File /oname=$R0 "loopback_install.dll"
3285 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
3286 Call GetWindowsVersion
3288 StrCmp $R1 "2000" +1 +2
3289 nsExec::Exec "rundll32.exe $R0 disableLoopBackEntry"
3297 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3298 ; Updated by Joost Verburg
3300 ; Returns on top of stack
3302 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3304 ; '' (Unknown Windows Version)
3307 ; Call GetWindowsVersion
3309 ; ; at this point $R0 is "NT 4.0" or whatnot
3311 Function GetWindowsVersion
3318 ReadRegStr $R0 HKLM \
3319 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3321 IfErrors 0 lbl_winnt
3324 ReadRegStr $R0 HKLM \
3325 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3328 StrCmp $R1 '4' 0 lbl_error
3332 StrCmp $R1 '4.0' lbl_win32_95
3333 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3351 StrCmp $R1 '3' lbl_winnt_x
3352 StrCmp $R1 '4' lbl_winnt_x
3356 StrCmp $R1 '5.0' lbl_winnt_2000
3357 StrCmp $R1 '5.1' lbl_winnt_XP
3358 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3361 StrCpy $R0 "NT $R0" 6
3386 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3387 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3388 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3389 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3393 ; Pop $R0 ; at this point $R0 is "true" or "false"
3395 Function IsUserAdmin
3404 UserInfo::GetAccountType
3407 StrCmp $R2 "Admin" 0 Continue
3408 ; Observation: I get here when running Win98SE. (Lilla)
3409 ; The functions UserInfo.dll looks for are there on Win98 too,
3410 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3411 ; on Win98, returns admin anyway. (per kichik)
3412 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3417 ; You should still check for an empty string because the functions
3418 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3421 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3425 ; comment/message below is by UserInfo.nsi author:
3426 ; This one means you don't need to care about admin or
3427 ; not admin because Windows 9x doesn't either
3428 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3432 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3440 ; input, top of stack (e.g. C:\Program Files\Poop)
3441 ; output, top of stack (replaces, with e.g. C:\Program Files)
3442 ; modifies no other variables.
3445 ; Push "C:\Program Files\Directory\Whatever"
3448 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3462 IntCmp $R1 $R2 get 0 get
3463 StrCpy $R3 $R0 1 -$R1
3478 ;--------------------------------
3479 ;Handle what must and what must not be installed
3480 Function .onSelChange
3481 ; If they install the server, they MUST install the client
3482 SectionGetFlags ${secServer} $R0
3483 IntOp $R0 $R0 & ${SF_SELECTED}
3484 StrCmp $R0 "1" MakeClientSelected
3486 ; If they install the control center, we'll give them the client.
3487 ; It may not be required, but it's a bit more useful
3488 SectionGetFlags ${secControl} $R0
3489 IntOp $R0 $R0 & ${SF_SELECTED}
3490 StrCmp $R0 "1" MakeClientSelected
3494 SectionGetFlags ${secClient} $R0
3495 IntOp $R0 $R0 | ${SF_SELECTED}
3496 SectionSetFlags ${secClient} $R0
3501 Function RegWriteMultiStr
3502 !define HKEY_CLASSES_ROOT 0x80000000
3503 !define HKEY_CURRENT_USER 0x80000001
3504 !define HKEY_LOCAL_MACHINE 0x80000002
3505 !define HKEY_USERS 0x80000003
3506 !define HKEY_PERFORMANCE_DATA 0x80000004
3507 !define HKEY_PERFORMANCE_TEXT 0x80000050
3508 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3509 !define HKEY_CURRENT_CONFIG 0x80000005
3510 !define HKEY_DYN_DATA 0x80000006
3512 !define KEY_QUERY_VALUE 0x0001
3513 !define KEY_SET_VALUE 0x0002
3514 !define KEY_CREATE_SUB_KEY 0x0004
3515 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3516 !define KEY_NOTIFY 0x0010
3517 !define KEY_CREATE_LINK 0x0020
3521 !define REG_EXPAND_SZ 2
3522 !define REG_BINARY 3
3524 !define REG_DWORD_LITTLE_ENDIAN 4
3525 !define REG_DWORD_BIG_ENDIAN 5
3527 !define REG_MULTI_SZ 7
3529 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3530 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3531 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3538 SetPluginUnload alwaysoff
3539 ; Create a buffer for the multi_sz value
3540 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3541 ; Open/create the registry key
3542 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3545 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3549 ; Fill in the buffer with our strings
3550 StrCpy $2 $1 ; Initial position
3552 StrLen $9 '$REG_DATA_1' ; Length of first string
3553 IntOp $9 $9 + 1 ; Plus null
3554 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3555 IntOp $2 $2 + $9 ; Advance to the next position
3557 StrCmp '$REG_DATA_2' "" terminate
3558 StrLen $9 '$REG_DATA_2' ; Length of second string
3559 IntOp $9 $9 + 1 ; Plus null
3560 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3561 IntOp $2 $2 + $9 ; Advance to the next position
3563 StrCmp '$REG_DATA_3' "" terminate
3564 StrLen $9 '$REG_DATA_3' ; Length of third string
3565 IntOp $9 $9 + 1 ; Plus null
3566 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3567 IntOp $2 $2 + $9 ; Advance to the next position
3570 System::Call "*$2(&t1 '')" ; Place the terminating null
3571 IntOp $2 $2 + 1 ; Advance to the next position
3573 ; Create/write the value
3574 IntOp $2 $2 - $1 ; Total length
3575 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3578 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3582 ; Close the registry key
3583 System::Call "${RegCloseKey}(r0)"
3587 SetPluginUnload manual