--- /dev/null
+>grand.central.org #GCO Public CellServDB 11 May 2004
+18.7.14.88 #grand-opening.mit.edu
+128.2.191.224 #penn.central.org
+>wu-wien.ac.at #University of Economics, Vienna, Austria
+137.208.3.33 #afsdb1.wu-wien.ac.at
+137.208.7.4 #afsdb2.wu-wien.ac.at
+137.208.7.7 #afsdb3.wu-wien.ac.at
+>hephy.at #hephy-vienna
+193.170.243.10 #mowgli.oeaw.ac.at
+193.170.243.12 #baloo.oeaw.ac.at
+193.170.243.14 #akela.oeaw.ac.at
+>itp.tugraz.at #Institute for Theoretical Physics, TU Graz, Austria
+129.27.157.6 #fubphsv2.tu-graz.ac.at
+129.27.161.7 #faepsv01.tu-graz.ac.at
+129.27.161.15 #faepsv02.tu-graz.ac.at
+>cern.ch #European Laboratory for Particle Physics, Geneva
+137.138.128.148 #afsdb1.cern.ch
+137.138.246.50 #afsdb3.cern.ch
+137.138.246.51 #afsdb2.cern.ch
+>ams.cern.ch #AMS Experiment
+137.138.206.77 #pcamsf2.cern.ch
+137.138.206.123 #pcamsf4.cern.ch
+>ethz.ch #Swiss Federal Inst. of Tech. - Zurich, Switzerland
+129.132.97.19 #amalthea.ethz.ch
+129.132.97.27 #nethzafs-001.ethz.ch
+129.132.115.3 #himalia.ethz.ch
+129.132.115.37 #nethzafs-005.ethz.ch
+129.132.115.38 #nethzafs-006.ethz.ch
+>psi.ch #Paul Scherrer Institut - Villigen, Switzerland
+129.129.16.10 #afs1.psi.ch
+129.129.16.11 #afs2.psi.ch
+>extundo.com #Simon Josefsson's cell
+195.42.214.241 #slipsten.extundo.com
+>mekinok.com #Mekinok, Inc.
+4.36.43.98 #loggerhead.mekinok.com
+>membrain.com #membrain.com
+66.93.118.125 #stormy
+130.85.24.11 #weasel
+130.85.24.13 #straykitten
+>midnightlinux.com #Midnight Linux, Pittsburgh PA
+66.93.62.18 #romulus.midnihtlinux.com
+66.93.62.20 #yar.midnightlinux.com
+>setfilepointer.com #SetFilePointer.com
+63.224.10.2 #hamlet.SetFilePointer.com
+63.224.10.4 #troilus.SetFilePointer.com
+>sodre.cx #Sodre.cx
+128.8.140.165 #greed.sodre.cx
+>desy.de #Deutsches Elektronen-Synchrotron
+131.169.40.62 #vayu.desy.de
+131.169.244.60 #solar00.desy.de
+>gppc.de #GPP Chemnitz mbH
+213.187.92.33 #gpp1.gppc.de
+213.187.92.34 #paulchen.gppc.de
+213.187.92.35 #lotus.gppc.de
+>ifh.de #DESY Zeuthen
+141.34.22.10 #romulus.ifh.de
+141.34.22.11 #remus.ifh.de
+141.34.22.29 #hekate.ifh.de
+>lrz-muenchen.de #Leibniz Computing Centre, Germany
+129.187.10.36 #afs1.lrz-muenchen.de
+129.187.10.56 #afs3.lrz-muenchen.de
+129.187.10.57 #afs2.lrz-muenchen.de
+>ipp-garching.mpg.de #Institut fuer Plasmaphysik
+130.183.9.5 #afs-db1.rzg.mpg.de
+130.183.100.10 #afs-db2.aug.ipp-garching.mpg.de
+130.183.100.23 #afs-db3.aug.ipp-garching.mpg.de
+>mpe.mpg.de #MPE cell
+130.183.130.7 #irafs1.mpe-garching.mpg.de
+130.183.134.20 #irafs2.mpe-garching.mpg.de
+>i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
+137.226.244.79 #remus.informatik.rwth-aachen.de
+>tu-chemnitz.de #Technische Universitaet Chemnitz, Germany
+134.109.2.1 #zuse.hrz.tu-chemnitz.de
+134.109.2.15 #phoenix.hrz.tu-chemnitz.de
+134.109.200.7 #aetius.hrz.tu-chemnitz.de
+>e18.ph.tum.de #Experimental Physics, TU Munich, Germany
+129.187.154.223 #hamlet.e18.physik.tu-muenchen.de
+>uni-bonn.de #Cell name
+131.220.14.198 #work15-eth.rhrz.uni-bonn.de
+131.220.14.203 #node03-en2.rhrz.uni-bonn.de
+131.220.14.205 #node05.rhrz.uni-bonn.de
+>uni-freiburg.de #Albert-Ludwigs-Universitat Freiburg
+132.230.6.235 #sv6.ruf.uni-freiburg.de
+132.230.6.236 #sv7.ruf.uni-freiburg.de
+132.230.6.237 #sv8.ruf.uni-freiburg.de
+>physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
+132.230.77.16 #hepafs.physik.uni-freiburg.de
+>urz.uni-heidelberg.de #Uni Heidelberg (Rechenzentrum)
+129.206.119.10 #afsdb.urz.uni-heidelberg.de
+129.206.119.16 #afsdb1.urz.uni-heidelberg.de
+129.206.119.17 #afsdb2.urz.uni-heidelberg.de
+>uni-hohenheim.de #University of Hohenheim
+144.41.2.2 #rs13.serv.uni-hohenheim.de
+144.41.2.3 #rs14.serv.uni-hohenheim.de
+144.41.2.4 #rs15.serv.uni-hohenheim.de
+>rz.uni-jena.de #Rechenzentrum University of Jena, Germany
+141.35.2.160 #lc00.rz.uni-jena.de
+141.35.7.9 #fsuj01.rz.uni-jena.de
+141.35.7.10 #zaphod.rz.uni-jena
+>meteo.uni-koeln.de #Univ. of Cologne - Inst. for Geophysics & Meteorology
+134.95.144.22 #afs1.meteo.uni-koeln.de
+134.95.144.24 #afs2.meteo.uni-koeln.de
+>rrz.uni-koeln.de #University of Cologne - Reg Comp Center
+134.95.19.3 #afsdb1.rrz.uni-koeln.de
+134.95.19.30 #fileserv3.rrz.uni-koeln.de
+134.95.67.97 #afs.thp.uni-koeln.de
+134.95.140.190 #rzkbserv.rrz.uni-koeln.de
+>physik.uni-mainz.de #institute of physics, university Mainz, Germany
+134.93.130.93 #hardy.physik.uni-mainz.de
+>uni-mannheim.de #Uni Mannheim (Rechenzentrum)
+134.155.50.165 #afsdbx.uni-mannheim.de
+134.155.50.166 #afsdby.uni-mannheim.de
+134.155.50.167 #afsdbz.uni-mannheim.de
+>physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
+132.195.104.3 #afs1.physik.uni-wuppertal.de
+132.195.104.230 #afs2.physik.uni-wuppertal.de
+>ies.auc.dk #Aalborg Univ., Inst. of Electronic Systems, Denmark
+130.225.51.73 #afsdb1.kom.auc.dk
+130.225.51.74 #afsdb2.kom.auc.dk
+130.225.51.85 #afsdb3.kom.auc.dk
+>hep.caltech.edu #CalTech High Energy Physics
+131.215.126.150 #afs.hep.caltech.edu
+>andrew.cmu.edu #Carnegie Mellon University - Computing Services Cell
+128.2.10.2 #vice2.fs.andrew.cmu.edu
+128.2.10.7 #vice7.fs.andrew.cmu.edu
+128.2.10.11 #vice11.fs.andrew.cmu.edu
+128.2.10.28 #vice28.fs.andrew.cmu.edu
+128.2.32.44 #new-vice12.fs.andrew.cmu.edu
+>club.cc.cmu.edu #Carnegie Mellon University Computer Club
+128.2.4.131 #yttrium.club.cc.cmu.edu
+128.2.4.132 #zirconium.club.cc.cmu.edu
+>chem.cmu.edu #Carnegie Mellon University - Chemistry Dept.
+128.2.40.134 #afs.chem.cmu.edu
+128.2.40.140 #afs2.chem.cmu.edu
+>cs.cmu.edu #Carnegie Mellon University - School of Comp. Sci.
+128.2.194.178 #cherry.srv.cs.cmu.edu
+128.2.194.179 #pumpkin.srv.cs.cmu.edu
+128.2.194.180 #strawberry.srv.cs.cmu.edu
+>ece.cmu.edu #Carnegie Mellon University - Elec. Comp. Eng. Dept.
+128.2.129.7 #porok.ece.cmu.edu
+128.2.129.8 #vicio.ece.cmu.edu
+128.2.129.9 #e-xing.ece.cmu.edu
+>scotch.ece.cmu.edu #CMU ECE CALCM research group
+128.2.134.82 #lagavulin.ece.cmu.edu
+>msc.cornell.edu #Cornell University Materials Science Center
+128.84.231.242 #miranda.ccmr.cornell.edu
+128.84.241.35 #co.ccmr.cornell.edu
+128.84.249.78 #dax.ccmr.cornell.edu
+>dbic.dartmouth.edu #Dartmouth Brain Imaging Center
+129.170.30.143 #dbicafs1.dartmouth.edu
+129.170.30.144 #dbicafs2.dartmouth.edu
+129.170.30.145 #dbicafs3.dartmouth.edu
+>northstar.dartmouth.edu #Dartmouth College Research Computing
+129.170.16.22 #halley.dartmouth.edu
+129.170.16.42 #oort.dartmouth.edu
+129.170.16.43 #cygnusx1.dartmouth.edu
+>iastate.edu #Iowa State University
+129.186.1.243 #afsdb-1.iastate.edu
+129.186.6.243 #afsdb-2.iastate.edu
+129.186.142.243 #afsdb-3.iastate.edu
+>athena.mit.edu #MIT/Athena cell
+18.7.1.66 #paris.mit.edu.
+18.7.1.74 #chimera.mit.edu.
+18.158.0.37 #prill.mit.edu.
+>dev.mit.edu #MIT/IS Development cell
+18.7.1.70 #wham.mit.edu.
+18.7.15.89 #rattle.mit.edu.
+18.7.15.93 #hum.mit.edu.
+>net.mit.edu #MIT/Network Group cell
+18.7.7.73 #gracie.mit.edu
+18.7.21.95 #george.mit.edu
+>sipb.mit.edu #MIT/SIPB cell
+18.181.0.19 #reynelda.mit.edu.
+18.181.0.22 #rosebud.mit.edu.
+18.181.0.23 #ronald-ann.mit.edu.
+>msu.edu #Michigan State University Main Cell
+35.9.7.10 #afsdb0.cl.msu.edu
+>nd.edu #University of Notre Dame
+129.74.223.17 #john.helios.nd.edu
+129.74.223.33 #lizardo.helios.nd.edu
+129.74.223.65 #buckaroo.helios.nd.edu
+>pitt.edu #University of Pittsburgh
+136.142.8.15 #afs09.srv.cis.pitt.edu
+136.142.8.20 #afs10.srv.cis.pitt.edu
+136.142.8.21 #afs11.srv.cis.pitt.edu
+>cs.pitt.edu #University of Pittsburgh - Computer Science
+130.49.220.11 #afs01.cs.pitt.edu
+130.49.220.12 #afs02.cs.pitt.edu
+130.49.220.13 #afs03.cs.pitt.edu
+>psc.edu #PSC (Pittsburgh Supercomputing Center)
+128.182.59.182 #shaggy.psc.edu
+128.182.66.184 #velma.psc.edu
+128.182.66.185 #daphne.psc.edu
+>scoobydoo.psc.edu #PSC Test Cell
+128.182.59.181 #scooby.psc.edu
+>cede.psu.edu #Penn State - Center for Engr. Design & Entrepeneurship
+146.186.218.10 #greenly.cede.psu.edu
+146.186.218.60 #b50.cede.psu.edu
+146.186.218.246 #stalin.cede.psu.edu
+>rose-hulman.edu #Rose-Hulman Institute of Technology
+137.112.7.11 #afs1.rose-hulman.edu
+137.112.7.12 #afs2.rose-hulman.edu
+137.112.7.13 #afs3.rose-hulman.edu
+>cs.rose-hulman.edu #Rose-Hulman CS Department
+137.112.40.10 #galaxy.cs.rose-hulman.edu
+>rpi.edu #Rensselaer Polytechnic Institute
+128.113.22.11 #saul.server.rpi.edu
+128.113.22.12 #joab.server.rpi.edu
+128.113.22.13 #korah.server.rpi.edu
+128.113.22.14 #achan.server.rpi.edu
+>hep.sc.edu #University of South Carolina, Dept. of Physics
+129.252.78.77 #cpeven.physics.sc.edu
+>cs.stanford.edu #Stanford University Computer Science Department
+171.64.64.10 #cs-afs-1.Stanford.EDU
+171.64.64.66 #cs-afs-2.stanford.edu
+171.64.64.69 #cs-afs-3.stanford.edu
+>ir.stanford.edu #Stanford University
+171.64.7.222 #afsdb1.stanford.edu
+171.64.7.234 #afsdb2.stanford.edu
+171.64.7.246 #afsdb3.stanford.edu
+>slac.stanford.edu #Stanford Linear Accelerator Center
+134.79.18.25 #afsdb1.slac.stanford.edu
+134.79.18.26 #afsdb2.slac.stanford.edu
+134.79.18.27 #afsdb3.slac.stanford.edu
+>cats.ucsc.edu #UC Santa Cruz, Comm. and Tech. Services, California U.S.A
+128.114.129.14 #elan.ucsc.edu
+128.114.129.15 #ichabod.ucsc.edu
+128.114.129.18 #maneki.ucsc.edu
+>acm.uiuc.edu #ACM at the University of Illinois
+128.174.251.8 #alnitak.acm.uiuc.edu
+128.174.251.9 #alnilam.acm.uiuc.edu
+128.174.251.10 #mintaka.acm.uiuc.edu
+>ncsa.uiuc.edu #University of Illinois
+141.142.3.5 #congo.ncsa.uiuc.edu
+141.142.3.8 #nile.ncsa.uiuc.edu
+141.142.230.19 #jinx.ncsa.uiuc.edu
+>umbc.edu #University of Maryland, Baltimore County
+130.85.24.23 #db2.afs.umbc.edu
+130.85.24.87 #db3.afs.umbc.edu
+130.85.24.101 #db1.afs.umbc.edu
+>glue.umd.edu #University of Maryland - Project Glue
+128.8.70.11 #olmec.umd.edu
+128.8.73.3 #babylon.umd.edu
+129.2.128.53 #egypt.umd.edu
+>wam.umd.edu #University of Maryland Network WAM Project
+128.8.70.9 #csc-srv.wam.umd.edu
+128.8.73.9 #pg2-srv.wam.umd.edu
+129.2.128.54 #avw-srv.wam.umd.edu
+>umich.edu #University of Michigan - Campus
+141.211.1.32 #fear.ifs.umich.edu
+141.211.1.33 #surprise.ifs.umich.edu
+141.211.1.34 #ruthless.ifs.umich.edu
+>atlas.umich.edu #ATLAS group cell in physics at University of Michigan
+141.211.43.102 #linat02.grid.umich.edu
+141.211.43.106 #linat06.grid.umich.edu
+141.211.43.109 #atgrid.grid.umich.edu
+>citi.umich.edu #Center for Information Technology Integration
+141.211.133.5 #babylon.citi.umich.edu
+>lsa.umich.edu #University of Michigan - College of LS&A
+141.211.54.132 #curtis.admin.lsa.umich.edu
+141.211.61.23 #zee.admin.lsa.umich.edu
+141.211.68.15 #marshall.lsa.umich.edu
+>math.lsa.umich.edu #University of Michigan - Math Department
+141.211.61.40 #ike.math.lsa.umich.edu
+141.211.61.41 #clark.math.lsa.umich.edu
+141.211.61.42 #nimitz.math.lsa.umich.edu
+>umr.edu #University of Missouri - Rolla
+131.151.1.59 #afsdb1.umr.edu
+131.151.1.70 #afsdb3.umr.edu
+131.151.1.146 #afsdb2.umr.edu
+>physics.unc.edu #Univ. of NC at Chapel Hill, Dept. of Physics
+152.2.5.2 #valerian.physics.unc.edu
+152.2.5.3 #augustus.physics.unc.edu
+152.2.7.67 #nerva.astro.unc.edu
+>uncc.edu #University of NC at Charlotte Mosaic AFS Cell
+152.15.10.70 #as-sm1.uncc.edu
+152.15.13.7 #as-sm2.uncc.edu
+152.15.30.27 #fs-kenn3.uncc.edu
+>eng.utah.edu #University of Utah - Engineering
+155.99.222.9 #lenny.eng.utah.edu
+155.99.222.10 #carl.eng.utah.edu
+>cs.uwm.edu #University of Wisconsin--Milwaukee
+129.89.38.124 #solomons.cs.uwm.edu
+>cs.wisc.edu #Univ. of Wisconsin-Madison, Computer Sciences Dept.
+128.105.132.14 #timon.cs.wisc.edu
+128.105.132.15 #pumbaa.cs.wisc.edu
+128.105.132.16 #zazu.cs.wisc.edu
+>engr.wisc.edu #University of Wisconsin-Madison, College of Engineering
+144.92.13.14 #larry.cae.wisc.edu
+144.92.13.15 #curly.cae.wisc.edu
+144.92.13.16 #moe.cae.wisc.edu
+>hep.wisc.edu #University of Wisconsin -- High Energy Physics
+128.104.28.219 #anise.physics.wisc.edu
+>physics.wisc.edu #Univ. of Wisconsin-Madison, Physics Department
+128.104.220.51 #bubbles.physics.wisc.edu
+128.104.220.52 #buttercup.physics.wisc.edu
+128.104.220.53 #blossom.physics.wisc.edu
+>ifca.unican.es #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
+193.144.209.20 #gridwall.ifca.unican.es
+>ific.uv.es #Instituto de Fisica Corpuscular, Valencia, Spain
+147.156.163.11 #alpha.ific.uv.es
+>biocenter.helsinki.fi #University of Helsinki, Institute of Biotechnology
+128.214.58.174 #afsdb1.biocenter.helsinki.fi
+128.214.88.114 #afsdb2.biocenter.helsinki.fi
+>dapnia.saclay.cea.fr #CEA DAPNIA
+132.166.32.7 #dphrsg.saclay.cea.fr
+132.166.32.12 #dphrsl.saclay.cea.fr
+>in2p3.fr #IN2P3 production cell
+134.158.232.11 #ccafsdb1.in2p3.fr
+134.158.232.12 #ccafsdb2.in2p3.fr
+134.158.232.13 #ccafsdb3.in2p3.fr
+>anl.gov #Argonne National Laboratory
+146.137.96.33 #arteus.ctd.anl.gov
+146.137.162.88 #agamemnon.ctd.anl.gov
+146.137.194.80 #antenor.ctd.anl.gov
+>rhic.bnl.gov #Relativistic Heavy Ion Collider
+130.199.6.51 #rafs03.rcf.bnl.gov
+130.199.6.52 #rafs02.rcf.bnl.gov
+130.199.6.69 #rafs01.rcf.bnl.gov
+>usatlas.bnl.gov #US Atlas Tier 1 Facility at BNL
+130.199.48.32 #aafs01.usatlas.bnl.gov
+130.199.48.33 #aafs02.usatlas.bnl.gov
+130.199.48.34 #aafs03.usatlas.bnl.gov
+>fnal.gov #Fermi National Acclerator Laboratory
+131.225.68.1 #fsus01.fnal.gov
+131.225.68.4 #fsus03.fnal.gov
+131.225.68.14 #fsus04.fnal.gov
+>ic-afs.arc.nasa.gov #Code IC, Ames Research Center
+128.102.105.62 #udanax.arc.nasa.gov
+>nersc.gov #National Energy Research Supercomputer Center
+128.55.128.250 #mars.nersc.gov
+128.55.128.252 #alfred.nersc.gov
+128.55.128.254 #lurch.nersc.gov
+>caspur.it #CASPUR Inter-University Computing Consortium, Rome
+193.204.5.45 #pomodoro.caspur.it
+193.204.5.46 #banana.caspur.it
+193.204.5.50 #maslo.caspur.it
+>fusione.it #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
+192.107.90.2 #fusafs1.frascati.enea.it
+192.107.90.3 #fusafs2.frascati.enea.it
+192.107.90.4 #fusafs3.frascati.enea.it
+>icemb.it #ICEMB, Universita' La Sapienza - Rome - Italy
+193.204.6.130 #icembfs.caspur.it
+>infn.it #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+131.154.1.7 #afs3.infn.it
+141.108.3.252 #afs1.infn.it
+192.84.134.75 #afs2.infn.it
+>kloe.infn.it #INFN, KLOE experiment at Laboratori di Frascati
+192.135.25.111 #kloeafs1.lnf.infn.it
+192.135.25.112 #kloeafs2.lnf.infn.it
+>le.infn.it #INFN, Sezione di Lecce
+192.84.152.40 #afs01.le.infn.it
+192.84.152.148 #afs02.le.infn.it
+>lnf.infn.it #INFN, Laboratori Nazionali di Frascati
+193.206.84.121 #afs1.lnf.infn.it
+193.206.84.122 #afs2.lnf.infn.it
+193.206.84.123 #afs3.lnf.infn.it
+>lngs.infn.it #INFN, Laboratori Nazionali di Gran Sasso
+192.84.135.21 #rsgs05.lngs.infn.it
+>pi.infn.it #INFN, Sezione di Pisa
+131.114.134.26 #unknownhost.pi.infn.it
+192.84.133.50 #aix1.pi.infn.it
+>psm.it #Progetto San Marco, Universita' di Roma-1
+151.100.1.65 #atlante.psm.uniroma1.it
+>tgrid.it #CASPUR-CILEA-CINECA Grid Cell
+193.204.5.33 #cccgrid.caspur.it
+>ictp.trieste.it #The Abdus Salam International Centre for Theoretical Physics (IC
+140.105.16.8 #fs1.ictp.trieste.it
+140.105.16.9 #fs2.ictp.trieste.it
+>ing.uniroma1.it #Universita' La Sapienza, Fac. Ingeneria
+151.100.85.253 #alfa.ing.uniroma1.it
+>vn.uniroma3.it #University of Rome 3, Area Vasca Navale
+193.204.161.136 #alfa.dia.uniroma3.it
+193.204.161.137 #beta.dia.uniroma3.it
+193.204.161.138 #gamma.dia.uniroma3.it
+>italia #Italian public AFS cell
+193.204.5.9 #afs.caspur.it
+>cmf.nrl.navy.mil #Naval Research Lab - CCS
+134.207.10.68 #picard.cmf.nrl.navy.mil
+134.207.10.69 #riker.cmf.nrl.navy.mil
+134.207.10.70 #kirk.cmf.nrl.navy.mil
+>lcp.nrl.navy.mil #Naval Research Lab - Lab for Computational Physics
+132.250.114.2 #afs1.lcp.nrl.navy.mil
+132.250.114.4 #afs2.lcp.nrl.navy.mil
+132.250.114.6 #afs3.lcp.nrl.navy.mil
+>es.net #Energy Sciences Net
+198.128.3.21 #fs1.es.net
+198.128.3.22 #fs2.es.net
+198.128.3.23 #fs3.es.net
+>laroia.net #Laroia Networks
+66.66.102.254 #supercore.laroia.net
+>sinenomine.net #Sine Nomine Associates
+66.92.236.139 #afs.sinenomine.net
+>slackers.net #The Slackers' Network
+63.201.48.27 #alexandria.slackers.net
+>nikhef.nl #The Dutch National Institute for High Energy Physics
+192.16.185.26 #afs1.nikhef.nl
+192.16.185.27 #afs2.nikhef.nl
+>1ts.org #KCR/private Karl Ramm, Cambridge, MA
+4.36.43.102 #dol-guldur.1ts.org
+>bazquux.org #Baz Quux Organization
+66.207.142.196 #baxquux.org
+>coed.org #Adam Pennington's Cell
+66.93.61.184 #vice1.coed.org
+128.2.4.163 #vice3.coed.org
+>dementia.org #Dementia Unlimited
+128.2.12.45 #alycia.dementia.org
+128.2.120.216 #meredith.dementia.org
+>idahofuturetruck.org #University of Idaho hybrid vehicle development
+12.18.238.210 #dsle210.fsr.net
+>nimlabs.org #Nimlabs, Ink. Cell.
+18.238.1.103 #olfin.nimlabs.org
+18.238.1.105 #caerbanog.nimlabs.org
+>nomh.org #nomh.org
+204.29.154.12 #iota.nomh.org
+>oc7.org #The OC7 Project
+128.2.6.107 #vice3.oc7.org
+128.2.122.140 #vice2.oc7.org
+>openafs.org #OpenAFS Project
+128.2.13.199 #new-virtue.openafs.org
+128.2.121.218 #virtue.openafs.org
+130.237.48.87 #andrew.e.kth.se
+130.237.48.107 #onyx.e.kth.se
+>e.kth.se #Royal Institute of Technology, Elektro
+130.237.32.145 #sonen.e.kth.se
+130.237.48.7 #anden.e.kth.se
+130.237.48.244 #fadern.e.kth.se
+>hallf.kth.se #Royal Institute of Technology, HALLF
+130.237.24.141 #rasmus13.hallf.kth.se
+130.237.24.152 #rasmus3.hallf.kth.se
+130.237.24.177 #rasmus29.hallf.kth.se
+>isk.kth.se #Royal Institute of Technology, ISK
+130.237.202.12 #afsdb2.isk.kth.se
+130.237.206.13 #afsdb1.isk.kth.se
+130.237.209.141 #afsdb3.isk.kth.se
+>it.kth.se #Royal Institute of Technology, IT
+130.237.212.15 #ptah.it.kth.se
+130.237.212.16 #toth.it.kth.se
+130.237.215.7 #isis.it.kth.se
+>md.kth.se #Royal Institute of Technology, MMK
+130.237.57.68 #trinity.md.kth.se
+130.237.57.72 #morpheus.md.kth.se
+130.237.67.230 #neo.speech.kth.se
+>mech.kth.se #Royal Institute of Technology, MECH
+130.237.233.142 #matterhorn.mech.kth.se
+130.237.233.143 #castor.mech.kth.se
+130.237.233.144 #pollux.mech.kth.se
+>nada.kth.se #Royal Institute of Technology, NADA
+130.237.222.20 #kosmos.nada.kth.se
+130.237.223.12 #sputnik.nada.kth.se
+130.237.224.78 #mir.nada.kth.se
+130.237.227.23 #gagarin.nada.kth.se
+130.237.228.28 #laika.nada.kth.se
+>pdc.kth.se #Royal Institute of Technology, PDC
+130.237.232.29 #crab.pdc.kth.se
+130.237.232.112 #anna.pdc.kth.se
+130.237.232.114 #hokkigai.pdc.kth.se
+>stacken.kth.se #Stacken Computer Club
+130.237.234.3 #milko.stacken.kth.se
+130.237.234.43 #hot.stacken.kth.se
+130.237.237.230 #fishburger.stacken.kth.se
+>syd.kth.se #Royal Institute of Technology, KTH-Syd
+130.237.83.23 #afs.haninge.kth.se
+>physto.se #Physics department Stockholm University
+130.237.205.36 #sysafs1.physto.se
+130.237.205.72 #sysafs2.physto.se
+>sanchin.se #Sanchin Consulting AB, Sweden
+192.195.148.10 #sesan.sanchin.se
+>su.se #Stockholm University
+130.237.162.81 #afsdb1.su.se
+130.237.162.82 #afsdb2.su.se
+>f9.ijs.si #F9, Jozef Stefan Institue
+194.249.156.1 #brenta.ijs.si
+>p-ng.si #Nova Gorica Polytechnic
+193.2.120.2 #solkan.p-ng.si
+>phy.bris.ac.uk #Bristol University - phyics
+137.222.58.9 #afs1.phy.bris.ac.uk
+>hep.man.ac.uk #Manchester HEP
+194.36.2.3 #afs1.hep.man.ac.uk
+194.36.2.4 #afs2.hep.man.ac.uk
+194.36.2.5 #afs3.hep.man.ac.uk
+>rl.ac.uk #Rutherford Appleton Lab, England
+130.246.183.164 #wallace.cc.rl.ac.uk
--- /dev/null
+RELDIR=WINNT\install\wix
+!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
+!INCLUDE ..\..\..\config\NTMakefile.version
+
+MEDIADIR = $(DESTDIR)\WinInstall
+MEDIABINDIR = $(MEDIADIR)\Dll
+
+MSIFILE = $(MEDIADIR)\openafs-$(LANG).msi
+
+WIXINCLUDES = \
+ config.wxi \
+ feature.wxi \
+ files.wxi \
+ language_config.wxi \
+ property.wxi \
+ registry.wxi \
+ lang\$(LANG)\ui.wxi
+
+WIXOBJ = $(OJT)\openafs-$(LANG).wixobj
+
+LANGUAGES=en_US de_DE es_ES ja_JP ko_KR pt_BR zh_CN zh_TW
+
+languages:
+# Don't bother with non en_US for now. The other builds comprise of either
+# verbatim copies of en_US files, partial translations or doesn't build
+# (no languages resources). Someday when OpenAFS 8.1029828419 comes out we'll
+# get someone to translate.
+# for %l in ( $(LANGUAGES ) do (
+# $(MAKE) /f NTMakefile /nologo LANG=%l lang
+# )
+ $(MAKE) /f NTMakefile /nologo LANG=en_US lang
+
+lang:: $(MSIFILE)
+
+customactions:
+ $(CD) custom
+ $(MAKE) /f NTMakefile /nologo install
+ $(CD) ..
+
+install: customactions languages
+
+$(MSIFILE): $(WIXOBJ)
+ light -nologo -out $(MSIFILE) \
+ -loc lang\$(LANG)\strings.wxl \
+ $(WIXOBJ)
+ dir $(MSIFILE)
+
+$(WIXOBJ): openafs.wxs $(WIXINCLUDES)
+ candle -nologo -out $@ \
+ "-dCellName=$(CELLNAME_DEFAULT)" \
+ -dLanguage=$(LANG) \
+ -dNumericVersion=$(AFSPRODUCT_VERSION) \
+ -dVersionMajor=$(AFSPRODUCT_VER_MAJOR) \
+ -dVersionMinor=$(AFSPRODUCT_VER_MINOR) \
+ -dVersionPatch=$(AFSPRODUCT_VER_PATCH) \
+ "-dDestDir=$(DESTDIR)\\" \
+ -dCellDbFile=CellServDB \
+ -v0 \
+ -w0 \
+ openafs.wxs
+
+# Cleanup
+clean::
+ for %l in ( $(LANGUAGES) ) do (
+ $(MAKE) /f NTMakefile /nologo LANG=%l lang_clean
+ )
+ $(CD) custom
+ $(MAKE) /f NTMakefile /nologo clean
+ $(CD) ..
+
+lang_clean:
+ -$(DEL) $(WIXOBJ)
+ -$(DEL) $(MSIFILE)
--- /dev/null
+\feff<?xml version="1.0"?>
+
+<Include>
+ <!--
+ config.wxi defines the following variables :
+ General:
+ NumericVersion : Version number of the form a.b.c
+ VersionMajor : a
+ VersionMinor : b
+ VersionPatch : c
+ PackageCode : Package code
+ Debug : Whether or not to include debugging information
+ ReleaseType : AFS release type
+ InstallTimestamp: Timestamp for when the installer was generated.
+
+ CellName : Default cell name
+ CellDbFile : Path to default CellServDB file
+
+
+ Directory specs: (all dir. specs end in a '\')
+ MediaBinDir : Installer binaries (instloop.exe etc.)
+ SrcDir : openafs\src\
+ DestDir : $(DEST)\
+ BinDir : $(DEST)\bin\
+ LibDir : $(DEST)\lib\
+ IncDir : $(DEST)\include\
+ EtcDir : $(DEST)\etc\
+ ClientDir : $(DEST)\root.client\usr\vice\etc\
+ ServerDir : $(DEST)\root.server\usr\afs\bin\
+
+ SystemDir : %SystemRoot%\System32\
+ -->
+
+ <!-- Configuration options, allow for commandline specification -->
+ <?ifndef CellName?>
+ <?define CellName="openafs.org"?>
+ <?endif?>
+ <?ifndef LogonOptions?>
+ <?define LogonOptions="1"?>
+ <?endif?>
+ <?ifndef FreelanceMode?>
+ <?define FreelanceMode="1"?>
+ <?endif?>
+ <?ifndef UseDNS?>
+ <?define UseDNS="1"?>
+ <?endif?>
+ <?ifndef NoFindLanaByName?>
+ <?define NoFindLanaByName="1"?>
+ <?endif?>
+ <?ifndef MountRoot?>
+ <?define MountRoot="/afs"?>
+ <?endif?>
+ <?ifndef NetbiosName?>
+ <?define NetbiosName="AFS"?>
+ <?endif?>
+ <?ifndef RxMaxMTU?>
+ <?define RxMaxMTU="1260"?>
+ <?endif?>
+ <?ifndef HideDotFiles?>
+ <?define HideDotFiles="1"?>
+ <?endif?>
+
+ <?define InstallTimestamp="[Date] [Time]"?>
+
+ <!-- The following general parameters may be specified on the commandline to candle -->
+ <?ifndef NumericVersion?>
+ <?error NumericVersion should have been specified on the commandline?>
+ <?endif?>
+ <!-- We can't currently break down a numeric version into components in here,
+ so we also need the major, minor and patch on the command line as well
+ -->
+ <?ifndef VersionMajor?>
+ <?error VersionMajor should have been specified on the commandline?>
+ <?endif?>
+ <?ifndef VersionMinor?>
+ <?error VersionMinor should be specified on the commandline?>
+ <?endif?>
+ <?ifndef VersionPatch?>
+ <?error VersionRevision should be specified on the commandline?>
+ <?endif?>
+
+ <!-- define some packagecode, though we aren't really using it. See openafs.wxs -->
+ <?ifndef PackageCode?>
+ <?define PackageCode="6086552D-3EFA-436C-A0BD-25668849F0DB"?>
+ <?endif?>
+ <?if $(env.AFSDEV_BUILDTYPE) = "CHECKED"?>
+ <?define Debug?>
+ <?define ReleaseType="DT"?>
+ <?elseif $(env.AFSDEV_BUILDTYPE) = "FREE"?>
+ <?define ReleaseType="GA"?>
+ <?else?>
+ <?error AFSDEV_BUILDTYPE is not set in the environment.?>
+ <?endif?>
+
+ <!-- Note that if the follwing file does not exist, the build will fail -->
+ <?ifndef CellDbFile?>
+ <?define CellDbFile="CellServDB"?>
+ <?endif?>
+
+ <!-- Directories -->
+ <!-- DestDir must be specified -->
+ <?ifndef DestDir?>
+ <?define DestDir="$(env.AFSROOT)\dest\"?>
+ <?endif?>
+ <?ifndef SrcDir?>
+ <?define SrcDir="$(env.AFSROOT)\src\"?>
+ <?endif?>
+ <?ifndef MediaBinDir?>
+ <?define MediaBinDir="$(var.DestDir)WinInstall\Dll\"?>
+ <?endif?>
+ <?ifndef BinDir?>
+ <?define BinDir="$(var.DestDir)bin\"?>
+ <?endif?>
+ <?ifndef LibDir?>
+ <?define LibDir="$(var.DestDir)lib\"?>
+ <?endif?>
+ <?ifndef IncDir?>
+ <?define IncDir="$(var.DestDir)include\"?>
+ <?endif?>
+ <?ifndef EtcDir?>
+ <?define EtcDir="$(var.DestDir)etc\"?>
+ <?endif?>
+ <?ifndef ClientDir?>
+ <?define ClientDir="$(var.DestDir)root.client\usr\vice\etc\"?>
+ <?endif?>
+ <?ifndef ServerDir?>
+ <?define ServerDir="$(var.DestDir)root.server\usr\afs\bin\"?>
+ <?endif?>
+
+ <!-- We need the following to locate the proper runtime libraries -->
+ <?ifndef env.AFSVER_CL?>
+ <?error AFSVER_CL needs to be set to the compiler version?>
+ <?endif?>
+ <?define SystemDir="$(env.SystemRoot)\System32\"?>
+</Include>
--- /dev/null
+# rcsid : $Id$
+
+RELDIR=WINNT\install\wix\custom
+!INCLUDE ..\..\..\..\config\NTMakefile.$(SYS_NAME)
+!INCLUDE ..\..\..\..\config\NTMakefile.version
+
+MEDIABINDIR = $(DESTDIR)\WinInstall\Dll
+
+EXEFILE = $(MEDIABINDIR)\instloop.exe
+
+DLLFILE = $(MEDIABINDIR)\afscustom.dll
+
+DLLEXPORTS=\
+ -EXPORT:InstallNetProvider \
+ -EXPORT:UninstallNetProvider \
+ -EXPORT:ConfigureClientService \
+ -EXPORT:ConfigureServerService \
+ -EXPORT:AbortMsiImmediate \
+ -EXPORT:UninstallNsisInstallation
+
+DLLLIBFILES=\
+ msi.lib advapi32.lib
+
+LINK=link
+
+# afscustom.dll
+
+$(OUT)\afscustom.obj: afscustom.cpp
+ $(CC) -ML -c /Fo$@ $**
+
+$(DLLFILE): $(OUT)\afscustom.obj
+ $(LINK) -DLL $(DLLEXPORTS) \
+ -OUT:$@ $** $(DLLLIBFILES)
+
+# instloop.exe
+
+SOURCEFILES = instloop.c renameconnection.cpp wmi.cpp
+OBJFILES = $(OUT)\instloop.obj $(OUT)\renameconnection.obj $(OUT)\wmi.obj
+EXELIBFILES = setupapi.lib msi.lib uuid.lib Shell32.lib ole32.lib advapi32.lib wbemuuid.lib
+
+$(OUT)\instloop.obj: instloop.c
+ $(CC) -ML -c -DUNICODE -D_UNICODE /Fo$@ $**
+
+$(OUT)\renameconnection.obj: renameconnection.cpp
+ $(CC) -ML -c -DUNICODE -D_UNICODE /Fo$@ $**
+
+$(OUT)\wmi.obj: wmi.cpp
+ $(CC) -I$(NTDDKDIR) -ML -c -DUNICODE -D_UNICODE /Fo$@ $**
+
+$(EXEFILE): $(OBJFILES)
+ $(LINK) /OUT:$@ $(OBJFILES) $(EXELIBFILES)
+
+
+install: $(EXEFILE) $(DLLFILE)
+
+clean ::
--- /dev/null
+/**************************************************************
+* afscustom.cpp : Dll implementing custom action to install AFS
+*
+* The functions in this file are for use as entry points
+* for calls from MSI only. The specific MSI parameters
+* are noted in the comments section of each of the
+* functions.
+*
+* rcsid: $Id$
+**************************************************************/
+
+// Only works for Win2k and above
+
+#define _WIN32_WINNT 0x0500
+
+#include "afscustom.h"
+#include "tchar.h"
+
+void ShowMsiError( MSIHANDLE hInstall, DWORD errcode, DWORD param ){
+ MSIHANDLE hRecord;
+
+ hRecord = MsiCreateRecord(3);
+ MsiRecordClearData(hRecord);
+ MsiRecordSetInteger(hRecord, 1, errcode);
+ MsiRecordSetInteger(hRecord, 2, param);
+
+ MsiProcessMessage( hInstall, INSTALLMESSAGE_ERROR, hRecord );
+
+ MsiCloseHandle( hRecord );
+}
+
+/* Abort the installation (called as an immediate custom action) */
+MSIDLLEXPORT AbortMsiImmediate( MSIHANDLE hInstall ) {
+ DWORD rv;
+ DWORD dwSize = 0;
+ LPTSTR sReason = NULL;
+ LPTSTR sFormatted = NULL;
+ MSIHANDLE hRecord = NULL;
+ LPTSTR cAbortReason = _T("ABORTREASON");
+
+ rv = MsiGetProperty( hInstall, cAbortReason, _T(""), &dwSize );
+ if(rv != ERROR_MORE_DATA) goto _cleanup;
+
+ sReason = new TCHAR[ ++dwSize ];
+
+ rv = MsiGetProperty( hInstall, cAbortReason, sReason, &dwSize );
+
+ if(rv != ERROR_SUCCESS) goto _cleanup;
+
+ hRecord = MsiCreateRecord(3);
+ MsiRecordClearData(hRecord);
+ MsiRecordSetString(hRecord, 0, sReason);
+
+ dwSize = 0;
+
+ rv = MsiFormatRecord(hInstall, hRecord, "", &dwSize);
+ if(rv != ERROR_MORE_DATA) goto _cleanup;
+
+ sFormatted = new TCHAR[ ++dwSize ];
+
+ rv = MsiFormatRecord(hInstall, hRecord, sFormatted, &dwSize);
+
+ if(rv != ERROR_SUCCESS) goto _cleanup;
+
+ MsiCloseHandle(hRecord);
+
+ hRecord = MsiCreateRecord(3);
+ MsiRecordClearData(hRecord);
+ MsiRecordSetInteger(hRecord, 1, ERR_ABORT);
+ MsiRecordSetString(hRecord,2, sFormatted);
+ MsiProcessMessage(hInstall, INSTALLMESSAGE_ERROR, hRecord);
+
+_cleanup:
+ if(sFormatted) delete sFormatted;
+ if(hRecord) MsiCloseHandle( hRecord );
+ if(sReason) delete sReason;
+
+ return ~ERROR_SUCCESS;
+}
+
+/* Configure the client and server services */
+MSIDLLEXPORT ConfigureClientService( MSIHANDLE hInstall ) {
+ DWORD rv = ConfigService( 1 );
+ if(rv != ERROR_SUCCESS) {
+ ShowMsiError( hInstall, ERR_SCC_FAILED, rv );
+ }
+ return rv;
+}
+
+MSIDLLEXPORT ConfigureServerService( MSIHANDLE hInstall ) {
+ DWORD rv = ConfigService( 2 );
+ if(rv != ERROR_SUCCESS) {
+ ShowMsiError( hInstall, ERR_SCS_FAILED, rv );
+ }
+ return ERROR_SUCCESS;
+}
+
+DWORD ConfigService( int svc ) {
+ SC_HANDLE scm = NULL;
+ SC_HANDLE hsvc = NULL;
+ SC_LOCK scl = NULL;
+ DWORD rv = ERROR_SUCCESS;
+
+ scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
+ if(scm == NULL) {rv = GetLastError(); goto _cleanup; }
+
+ scl = LockServiceDatabase(scm);
+ if(scl == NULL) {rv = GetLastError(); goto _cleanup; }
+
+ hsvc = OpenService( scm, ((svc==1)? _T("TransarcAFSDaemon") : _T("TransarcAFSServer")), SERVICE_ALL_ACCESS);
+ if(hsvc == NULL) {rv = GetLastError(); goto _cleanup; }
+
+ SERVICE_FAILURE_ACTIONS sfa;
+ SC_ACTION saact[3];
+
+ sfa.dwResetPeriod = 3600; // one hour
+ sfa.lpRebootMsg = NULL;
+ sfa.lpCommand = NULL;
+ sfa.cActions = 3;
+ sfa.lpsaActions = saact;
+
+ saact[0].Type = SC_ACTION_RESTART;
+ saact[0].Delay = 5000;
+ saact[1].Type = SC_ACTION_RESTART;
+ saact[1].Delay = 5000;
+ saact[2].Type = SC_ACTION_NONE;
+ saact[2].Delay = 5000;
+
+ if(!ChangeServiceConfig2(hsvc, SERVICE_CONFIG_FAILURE_ACTIONS, &sfa))
+ rv = GetLastError();
+
+_cleanup:
+ if(hsvc) CloseServiceHandle(hsvc);
+ if(scl) UnlockServiceDatabase(scl);
+ if(scm) CloseServiceHandle(scm);
+
+ return rv;
+}
+
+/* Sets the registry keys required for the functioning of the network
+provider */
+
+MSIDLLEXPORT InstallNetProvider( MSIHANDLE hInstall ) {
+ return InstNetProvider( hInstall, 1 );
+}
+
+MSIDLLEXPORT UninstallNetProvider( MSIHANDLE hInstall) {
+ return InstNetProvider( hInstall, 0 );
+}
+
+DWORD InstNetProvider(MSIHANDLE hInstall, int bInst) {
+ LPTSTR strOrder;
+ HKEY hkOrder;
+ LONG rv;
+ DWORD dwSize;
+ HANDLE hProcHeap;
+
+ strOrder = (LPTSTR) 0;
+
+ CHECK(rv = RegOpenKeyEx( HKEY_LOCAL_MACHINE, STR_KEY_ORDER, 0, KEY_READ | KEY_WRITE, &hkOrder ));
+
+ dwSize = 0;
+ CHECK(rv = RegQueryValueEx( hkOrder, STR_VAL_ORDER, NULL, NULL, NULL, &dwSize ) );
+
+ strOrder = new TCHAR[ (dwSize + STR_SERVICE_LEN) * sizeof(TCHAR) ];
+
+ CHECK(rv = RegQueryValueEx( hkOrder, STR_VAL_ORDER, NULL, NULL, (LPBYTE) strOrder, &dwSize));
+
+ npi_CheckAndAddRemove( strOrder, STR_SERVICE , bInst);
+
+ dwSize = (lstrlen( strOrder ) + 1) * sizeof(TCHAR);
+
+ CHECK(rv = RegSetValueEx( hkOrder, STR_VAL_ORDER, NULL, REG_SZ, (LPBYTE) strOrder, dwSize ));
+
+ /* everything else should be set by the MSI tables */
+ rv = ERROR_SUCCESS;
+_cleanup:
+
+ if( rv != ERROR_SUCCESS ) {
+ ShowMsiError( hInstall, ERR_NPI_FAILED, rv );
+ }
+
+ if(strOrder) delete strOrder;
+
+ return rv;
+}
+
+/* Check and add or remove networkprovider key value
+ str : target string
+ str2: string to add/remove
+ bInst: == 1 if string should be added to target if not already there, otherwise remove string from target if present.
+ */
+int npi_CheckAndAddRemove( LPTSTR str, LPTSTR str2, int bInst ) {
+
+ LPTSTR target, charset, match;
+ int ret=0;
+
+ target = new TCHAR[lstrlen(str)+3];
+ lstrcpy(target,_T(","));
+ lstrcat(target,str);
+ lstrcat(target,_T(","));
+ charset = new TCHAR[lstrlen(str2)+3];
+ lstrcpy(charset,_T(","));
+ lstrcat(charset,str2);
+ lstrcat(charset,_T(","));
+
+ match = _tcsstr(target, charset);
+
+ if ((match) && (bInst)) {
+ ret = INP_ERR_PRESENT;
+ goto cleanup;
+ }
+
+ if ((!match) && (!bInst)) {
+ ret = INP_ERR_ABSENT;
+ goto cleanup;
+ }
+
+ if (bInst) // && !match
+ {
+ lstrcat(str, _T(","));
+ lstrcat(str, str2);
+ ret = INP_ERR_ADDED;
+ goto cleanup;
+ }
+
+ // if (!bInst) && (match)
+ {
+ lstrcpy(str+(match-target),match+lstrlen(str2)+2);
+ str[lstrlen(str)-1]=_T('\0');
+ ret = INP_ERR_REMOVED;
+ goto cleanup;
+ }
+
+cleanup:
+
+ delete target;
+ delete charset;
+ return ret;
+}
+
+/* Uninstall NSIS */
+MSIDLLEXPORT UninstallNsisInstallation( MSIHANDLE hInstall )
+{
+ DWORD rv = ERROR_SUCCESS;
+ // lookup the NSISUNINSTALL property value
+ LPTSTR cNsisUninstall = _T("NSISUNINSTALL");
+ HANDLE hIo = NULL;
+ DWORD dwSize = 0;
+ LPTSTR strPathUninst = NULL;
+ HANDLE hJob = NULL;
+ STARTUPINFO sInfo;
+ PROCESS_INFORMATION pInfo;
+
+ pInfo.hProcess = NULL;
+ pInfo.hThread = NULL;
+
+ rv = MsiGetProperty( hInstall, cNsisUninstall, _T(""), &dwSize );
+ if(rv != ERROR_MORE_DATA) goto _cleanup;
+
+ strPathUninst = new TCHAR[ ++dwSize ];
+
+ rv = MsiGetProperty( hInstall, cNsisUninstall, strPathUninst, &dwSize );
+ if(rv != ERROR_SUCCESS) goto _cleanup;
+
+ // Create a process for the uninstaller
+ sInfo.cb = sizeof(sInfo);
+ sInfo.lpReserved = NULL;
+ sInfo.lpDesktop = _T("");
+ sInfo.lpTitle = _T("Foo");
+ sInfo.dwX = 0;
+ sInfo.dwY = 0;
+ sInfo.dwXSize = 0;
+ sInfo.dwYSize = 0;
+ sInfo.dwXCountChars = 0;
+ sInfo.dwYCountChars = 0;
+ sInfo.dwFillAttribute = 0;
+ sInfo.dwFlags = 0;
+ sInfo.wShowWindow = 0;
+ sInfo.cbReserved2 = 0;
+ sInfo.lpReserved2 = 0;
+ sInfo.hStdInput = 0;
+ sInfo.hStdOutput = 0;
+ sInfo.hStdError = 0;
+
+ if(!CreateProcess(
+ strPathUninst,
+ _T("Uninstall /S"),
+ NULL,
+ NULL,
+ FALSE,
+ CREATE_SUSPENDED,
+ NULL,
+ NULL,
+ &sInfo,
+ &pInfo)) {
+ pInfo.hProcess = NULL;
+ pInfo.hThread = NULL;
+ rv = 40;
+ goto _cleanup;
+ };
+
+ // Create a job object to contain the NSIS uninstall process tree
+
+ JOBOBJECT_ASSOCIATE_COMPLETION_PORT acp;
+
+ acp.CompletionKey = 0;
+
+ hJob = CreateJobObject(NULL, _T("NSISUninstallObject"));
+ if(!hJob) {
+ rv = 41;
+ goto _cleanup;
+ }
+
+ hIo = CreateIoCompletionPort(INVALID_HANDLE_VALUE,0,0,0);
+ if(!hIo) {
+ rv = 42;
+ goto _cleanup;
+ }
+
+ acp.CompletionPort = hIo;
+
+ SetInformationJobObject( hJob, JobObjectAssociateCompletionPortInformation, &acp, sizeof(acp));
+
+ AssignProcessToJobObject( hJob, pInfo.hProcess );
+
+ ResumeThread( pInfo.hThread );
+
+ DWORD a,b,c;
+ for(;;) {
+ if(!GetQueuedCompletionStatus(hIo, &a, (PULONG_PTR) &b, (LPOVERLAPPED *) &c, INFINITE)) {
+ Sleep(1000);
+ continue;
+ }
+ if(a == JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO) {
+ break;
+ }
+ }
+
+ rv = ERROR_SUCCESS;
+
+_cleanup:
+ if(hIo) CloseHandle(hIo);
+ if(pInfo.hProcess) CloseHandle( pInfo.hProcess );
+ if(pInfo.hThread) CloseHandle( pInfo.hThread );
+ if(hJob) CloseHandle(hJob);
+ if(strPathUninst) delete strPathUninst;
+
+ if(rv != ERROR_SUCCESS) {
+ ShowMsiError( hInstall, ERR_NSS_FAILED, rv );
+ }
+ return rv;
+}
--- /dev/null
+/* afsMsiTools.h
+ *
+ * Declarations for OpenAFS MSI setup tools
+ *
+ * rcsid : $Id$
+ */
+
+#ifndef __afsMsiTools_H__
+#define __afsMsiTools_H__
+
+#include<windows.h>
+#include<setupapi.h>
+#include<msiquery.h>
+#include<stdio.h>
+#include<string.h>
+
+#define MSIDLLEXPORT UINT __stdcall
+
+#define CHECK(x) if((x)) goto _cleanup
+
+#define CHECKX(x,y) if(!(x)) { msiErr = (y); goto _cleanup; }
+
+#define CHECK2(x,y) if((x)) { msiErr = (y); goto _cleanup; }
+
+#define STR_KEY_ORDER _T("SYSTEM\\CurrentControlSet\\Control\\NetworkProvider\\Order")
+#define STR_VAL_ORDER _T("ProviderOrder")
+
+#define STR_SERVICE _T("TransarcAFSDaemon")
+#define STR_SERVICE_LEN 18
+
+#define INP_ERR_PRESENT 1
+#define INP_ERR_ADDED 2
+#define INP_ERR_ABSENT 3
+#define INP_ERR_REMOVED 4
+
+#define ERR_NPI_FAILED 4001
+#define ERR_SCC_FAILED 4002
+#define ERR_SCS_FAILED 4003
+#define ERR_ABORT 4004
+#define ERR_NSS_FAILED 4005
+
+/* non-exported */
+int npi_CheckAndAddRemove( LPTSTR, LPTSTR, int );
+DWORD InstNetProvider(MSIHANDLE, int);
+void ShowMsiError(MSIHANDLE, DWORD, DWORD);
+DWORD ConfigService(int);
+
+/* exported */
+MSIDLLEXPORT InstallNetProvider( MSIHANDLE );
+MSIDLLEXPORT UninstallNetProvider ( MSIHANDLE );
+MSIDLLEXPORT ConfigureClientService( MSIHANDLE );
+MSIDLLEXPORT ConfigureServerService( MSIHANDLE );
+MSIDLLEXPORT AbortMsiImmediate( MSIHANDLE );
+MSIDLLEXPORT UninstallNsisInstallation( MSIHANDLE hInstall );
+
+#endif /*__afsMsiTools_H__*/
--- /dev/null
+#include <windows.h>
+#include <stdio.h>
+#define INITGUID
+#include <guiddef.h>
+#include <devguid.h>
+#include <setupapi.h>
+#include <tchar.h>
+
+#undef REDIRECT_STDOUT
+
+#ifdef USE_PAUSE
+#define PAUSE \
+ do { \
+ char c; \
+ printf("PAUSED - PRESS ENTER TO CONTINUE\n"); \
+ scanf("%c", &c); \
+ } while(0)
+#else
+#define PAUSE
+#endif
+
+/*#define USE_SLEEP*/
+
+#ifdef USE_SLEEP
+#define SLEEP Sleep(10*1000)
+#else
+#define SLEEP
+#endif
+
+
+static void ShowUsage(void);
+DWORD InstallLoopBack(LPCTSTR pConnectionName, LPCTSTR ip, LPCTSTR mask);
+DWORD UnInstallLoopBack(void);
+int RenameConnection(PCWSTR GuidString, PCWSTR pszNewName);
+DWORD SetIpAddress(LPCWSTR guid, LPCWSTR ip, LPCWSTR mask);
+HRESULT LoopbackBindings (LPCWSTR loopback_guid);
+BOOL UpdateHostsFile( LPCWSTR swName, LPCWSTR swIp, LPCSTR szFilename, BOOL bPre );
+
+#define DRIVER_DESC "Microsoft Loopback Adapter"
+#define DRIVER _T("loopback")
+#define MANUFACTURE _T("microsoft")
+#define DEFAULT_NAME _T("AFS")
+#define DEFAULT_IP _T("10.254.254.253")
+#define DEFAULT_MASK _T("255.255.255.252")
+
+static void
+ShowUsage(void)
+{
+ printf("instloop [-i [name [ip mask]] | -u]\n\n");
+ printf(" -i install the %s\n", DRIVER_DESC);
+ _tprintf(_T(" (if unspecified, uses name %s,\n"), DEFAULT_NAME);
+ _tprintf(_T(" ip %s, and mask %s)\n"), DEFAULT_IP, DEFAULT_MASK);
+ printf(" -u uninstall the %s\n", DRIVER_DESC);
+}
+
+static void
+DisplayStartup(BOOL bInstall)
+{
+ printf("%snstalling the %s\n"
+ " (Note: This may take up to a minute or two...)\n",
+ bInstall ? "I" : "Un",
+ DRIVER_DESC);
+
+}
+
+static void
+DisplayResult(BOOL bInstall, DWORD rc)
+{
+ if (rc)
+ {
+ printf("Could not %sinstall the %s\n", bInstall ? "" : "un",
+ DRIVER_DESC);
+ SLEEP;
+ PAUSE;
+ }
+}
+
+
+int _tmain(int argc, TCHAR *argv[])
+{
+ DWORD rc = 0;
+#ifdef REDIRECT_STDOUT
+ FILE *fh = NULL;
+#endif
+
+ PAUSE;
+
+#ifdef REDIRECT_STDOUT
+ fh = freopen("instlog.txt","a+", stdout);
+#endif
+
+ if (argc > 1)
+ {
+ if (_tcsicmp(argv[1], _T("-i")) == 0)
+ {
+ TCHAR* name = DEFAULT_NAME;
+ TCHAR* ip = DEFAULT_IP;
+ TCHAR* mask = DEFAULT_MASK;
+
+ if (argc > 2)
+ {
+ name = argv[2];
+ if (argc > 3)
+ {
+ if (argc < 5)
+ {
+ ShowUsage();
+#ifdef REDIRECT_STDOUT
+ fflush(fh); fclose(fh);
+#endif
+ return 1;
+ }
+ else
+ {
+ ip = argv[3];
+ mask = argv[4];
+ }
+ }
+ }
+ DisplayStartup(TRUE);
+ if(IsLoopbackInstalled()) {
+ printf("Loopback already installed\n");
+ rc = 0; /* don't signal an error. */
+ } else {
+ rc = InstallLoopBack(name, ip, mask);
+ }
+ DisplayResult(TRUE, rc);
+#ifdef REDIRECT_STDOUT
+ fflush(fh); fclose(fh);
+#endif
+ return rc;
+ }
+ else if (_tcsicmp(argv[1], _T("-u")) == 0)
+ {
+ DisplayStartup(FALSE);
+ rc = UnInstallLoopBack();
+ DisplayResult(FALSE, rc);
+#ifdef REDIRECT_STDOUT
+ fflush(fh); fclose(fh);
+#endif
+ return rc;
+ }
+ ShowUsage();
+#ifdef REDIRECT_STDOUT
+ fflush(fh); fclose(fh);
+#endif
+ return 1;
+ }
+ ShowUsage();
+#ifdef REDIRECT_STDOUT
+ fflush(fh); fclose(fh);
+#endif
+ return 0;
+}
+
+
+DWORD UnInstallLoopBack(void)
+{
+ BOOL ok;
+ DWORD ret = 0;
+ GUID netGuid;
+ HDEVINFO hDeviceInfo = INVALID_HANDLE_VALUE;
+ SP_DEVINFO_DATA DeviceInfoData;
+ TCHAR* deviceDesc;
+ DWORD index = 0;
+ BOOL found = FALSE;
+ DWORD size = 0;
+
+ // initialize the structure size
+ DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
+
+ // copy the net class GUID
+ memcpy(&netGuid, &GUID_DEVCLASS_NET, sizeof(GUID_DEVCLASS_NET));
+
+ // return a device info set contains all installed devices of the Net class
+ hDeviceInfo = SetupDiGetClassDevs(&netGuid, NULL, NULL, DIGCF_PRESENT);
+
+ if (hDeviceInfo == INVALID_HANDLE_VALUE)
+ return GetLastError();
+
+ deviceDesc = malloc(MAX_PATH*sizeof(TCHAR));
+ // enumerate the driver info list
+ while (SetupDiEnumDeviceInfo(hDeviceInfo, index, &DeviceInfoData))
+ {
+ // try to get the DeviceDesc registry property
+ ok = SetupDiGetDeviceRegistryProperty(hDeviceInfo, &DeviceInfoData,
+ SPDRP_DEVICEDESC,
+ NULL, (PBYTE)deviceDesc,
+ MAX_PATH * sizeof(TCHAR), &size);
+ if (!ok)
+ {
+ ret = GetLastError();
+ if (ret != ERROR_INSUFFICIENT_BUFFER)
+ break;
+ // if the buffer is too small, reallocate
+ free(deviceDesc);
+ deviceDesc = malloc(size);
+ ok = SetupDiGetDeviceRegistryProperty(hDeviceInfo,
+ &DeviceInfoData,
+ SPDRP_DEVICEDESC,
+ NULL, (PBYTE)deviceDesc,
+ size, NULL);
+ if (!ok)
+ break;
+ }
+
+ // case insensitive comparison
+ _tcslwr(deviceDesc);
+ if( _tcsstr(deviceDesc, DRIVER))
+ {
+ found = TRUE;
+ break;
+ }
+
+ index++;
+ }
+
+ free(deviceDesc);
+
+ if (found == FALSE)
+ {
+ ret = GetLastError();
+ printf("The %s does not seem to be installed\n", DRIVER_DESC);
+ goto cleanup;
+ }
+
+ ok = SetupDiSetSelectedDevice(hDeviceInfo, &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+ ok = SetupDiCallClassInstaller(DIF_REMOVE, hDeviceInfo, &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+cleanup:
+ // clean up the device info set
+ if (hDeviceInfo != INVALID_HANDLE_VALUE)
+ SetupDiDestroyDeviceInfoList(hDeviceInfo);
+
+ return ret;
+}
+
+BOOL IsLoopbackInstalled()
+{
+ char *hwid = "*MSLOOP";
+ HDEVINFO DeviceInfoSet;
+ SP_DEVINFO_DATA DeviceInfoData;
+ DWORD i,err;
+ BOOL found;
+
+ //
+ // Create a Device Information Set with all present devices.
+ //
+ DeviceInfoSet = SetupDiGetClassDevs(NULL, 0, 0, DIGCF_ALLCLASSES | DIGCF_PRESENT ); // All devices present on system
+ if (DeviceInfoSet == INVALID_HANDLE_VALUE)
+ {
+ return FALSE; // nothing installed?
+ }
+
+ //
+ // Enumerate through all Devices.
+ //
+ found = FALSE;
+ DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
+ for (i=0; SetupDiEnumDeviceInfo(DeviceInfoSet,i,&DeviceInfoData); i++)
+ {
+ DWORD DataT;
+ LPTSTR p,buffer = NULL;
+ DWORD buffersize = 0;
+
+ //
+ // We won't know the size of the HardwareID buffer until we call
+ // this function. So call it with a null to begin with, and then
+ // use the required buffer size to Alloc the nessicary space.
+ // Keep calling we have success or an unknown failure.
+ //
+ while (!SetupDiGetDeviceRegistryProperty(DeviceInfoSet,&DeviceInfoData,SPDRP_HARDWAREID,&DataT,(PBYTE)buffer,buffersize,&buffersize))
+ {
+ if (GetLastError() == ERROR_INVALID_DATA)
+ {
+ // May be a Legacy Device with no hwid. Continue.
+ break;
+ }
+ else if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
+ {
+ // We need to change the buffer size.
+ if (buffer)
+ LocalFree(buffer);
+ buffer = (char *)LocalAlloc(LPTR,buffersize);
+ }
+ else
+ {
+ goto cleanup_DeviceInfo;
+ }
+ }
+
+ if (GetLastError() == ERROR_INVALID_DATA)
+ continue;
+
+ // Compare each entry in the buffer multi-sz list with our hwid.
+ for (p=buffer; *p && (p < &buffer[buffersize]); p += lstrlen(p)+1)
+ {
+ if (!strcmp(hwid,p))
+ {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (buffer) LocalFree(buffer);
+ if (found) break;
+ }
+
+ // Cleanup.
+cleanup_DeviceInfo:
+ err = GetLastError();
+ SetupDiDestroyDeviceInfoList(DeviceInfoSet);
+ SetLastError(err);
+
+ return found;
+}
+
+
+DWORD InstallLoopBack(LPCTSTR pConnectionName, LPCTSTR ip, LPCTSTR mask)
+{
+ BOOL ok;
+ DWORD ret = 0;
+ GUID netGuid;
+ HDEVINFO hDeviceInfo = INVALID_HANDLE_VALUE;
+ SP_DEVINFO_DATA DeviceInfoData;
+ SP_DRVINFO_DATA DriverInfoData;
+ SP_DEVINSTALL_PARAMS DeviceInstallParams;
+ TCHAR className[MAX_PATH];
+ TCHAR temp[MAX_PATH];
+ DWORD index = 0;
+ BOOL found = FALSE;
+ BOOL registered = FALSE;
+ BOOL destroyList = FALSE;
+
+ HKEY hkey = NULL;
+ DWORD cbSize;
+ DWORD dwValueType;
+ TCHAR pCfgGuidString[40];
+
+ // initialize the structure size
+ DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
+ DriverInfoData.cbSize = sizeof(SP_DRVINFO_DATA);
+
+ // copy the net class GUID
+ memcpy(&netGuid, &GUID_DEVCLASS_NET, sizeof(GUID_DEVCLASS_NET));
+
+ // create an empty device info set associated with the net class GUID
+ hDeviceInfo = SetupDiCreateDeviceInfoList(&netGuid, NULL);
+ if (hDeviceInfo == INVALID_HANDLE_VALUE)
+ return GetLastError();
+
+ // get the class name from GUID
+ ok = SetupDiClassNameFromGuid(&netGuid, className, MAX_PATH, NULL);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ // create a device info element and add the new device instance
+ // key to registry
+ ok = SetupDiCreateDeviceInfo(hDeviceInfo, className, &netGuid, NULL, NULL,
+ DICD_GENERATE_ID, &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ // select the newly created device info to be the currently
+ // selected member
+ ok = SetupDiSetSelectedDevice(hDeviceInfo, &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ // build a list of class drivers
+ ok = SetupDiBuildDriverInfoList(hDeviceInfo, &DeviceInfoData,
+ SPDIT_CLASSDRIVER);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ destroyList = TRUE;
+
+ // enumerate the driver info list
+ while (SetupDiEnumDriverInfo(hDeviceInfo, &DeviceInfoData,
+ SPDIT_CLASSDRIVER, index, &DriverInfoData))
+ {
+ // if the manufacture is microsoft
+ if (_tcsicmp(DriverInfoData.MfgName, MANUFACTURE) == 0)
+ {
+ // case insensitive search for loopback
+ _tcscpy(temp, DriverInfoData.Description);
+ _tcslwr(temp);
+ if( _tcsstr(temp, DRIVER))
+ {
+ found = TRUE;
+ break;
+ }
+ }
+ index++;
+ }
+
+ if (!found)
+ {
+ ret = GetLastError();
+ printf("Could not find the %s driver to install\n", DRIVER_DESC);
+ goto cleanup;
+ }
+
+ // set the loopback driver to be the currently selected
+ ok = SetupDiSetSelectedDriver(hDeviceInfo, &DeviceInfoData,
+ &DriverInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ // register the phantom device to repare for install
+ ok = SetupDiCallClassInstaller(DIF_REGISTERDEVICE, hDeviceInfo,
+ &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ // registered, but remove if errors occur in the following code
+ registered = TRUE;
+
+ // ask the installer if we can install the device
+ ok = SetupDiCallClassInstaller(DIF_ALLOW_INSTALL, hDeviceInfo,
+ &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ if (ret != ERROR_DI_DO_DEFAULT)
+ {
+ goto cleanup;
+ }
+ else
+ ret = 0;
+ }
+
+ // install the files first
+ ok = SetupDiCallClassInstaller(DIF_INSTALLDEVICEFILES, hDeviceInfo,
+ &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ // get the device install parameters and disable filecopy
+ DeviceInstallParams.cbSize = sizeof(SP_DEVINSTALL_PARAMS);
+ ok = SetupDiGetDeviceInstallParams(hDeviceInfo, &DeviceInfoData,
+ &DeviceInstallParams);
+ if (ok)
+ {
+ DeviceInstallParams.Flags |= DI_NOFILECOPY;
+ ok = SetupDiSetDeviceInstallParams(hDeviceInfo, &DeviceInfoData,
+ &DeviceInstallParams);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+ }
+
+ //
+ // Register any device-specific co-installers for this device,
+ //
+
+ ok = SetupDiCallClassInstaller(DIF_REGISTER_COINSTALLERS,
+ hDeviceInfo,
+ &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ //
+ // install any installer-specified interfaces.
+ // and then do the real install
+ //
+ ok = SetupDiCallClassInstaller(DIF_INSTALLINTERFACES,
+ hDeviceInfo,
+ &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+ PAUSE;
+ ok = SetupDiCallClassInstaller(DIF_INSTALLDEVICE,
+ hDeviceInfo,
+ &DeviceInfoData);
+ if (!ok)
+ {
+ ret = GetLastError();
+ PAUSE;
+ goto cleanup;
+ }
+
+ /* Skip to the end if we aren't setting the name */
+ if (!pConnectionName) goto cleanup;
+
+ // Figure out NetCfgInstanceId
+ hkey = SetupDiOpenDevRegKey(hDeviceInfo,
+ &DeviceInfoData,
+ DICS_FLAG_GLOBAL,
+ 0,
+ DIREG_DRV,
+ KEY_READ);
+ if (hkey == INVALID_HANDLE_VALUE)
+ {
+ ret = GetLastError();
+ goto cleanup;
+ }
+
+ cbSize = sizeof(pCfgGuidString);
+ ret = RegQueryValueEx(hkey, _T("NetCfgInstanceId"), NULL,
+ &dwValueType, (LPBYTE)pCfgGuidString, &cbSize);
+ RegCloseKey(hkey);
+
+ ret = RenameConnection(pCfgGuidString, pConnectionName);
+ if (ret)
+ {
+ printf("Could not set the connection name to \"%S\"\n",
+ pConnectionName);
+ goto cleanup;
+ }
+
+ if (!ip) goto cleanup;
+ ret = SetIpAddress(pCfgGuidString, ip, mask);
+ if (ret)
+ {
+ printf("Could not set the ip address and network mask\n");
+ goto cleanup;
+ }
+ ret = LoopbackBindings(pCfgGuidString);
+ if (ret)
+ {
+ printf("Could not properly set the bindings\n");
+ goto cleanup;
+ }
+ ret = !UpdateHostsFile( pConnectionName, ip, "hosts", FALSE );
+ if (ret)
+ {
+ printf("Could not update hosts file\n");
+ goto cleanup;
+ }
+ ret = !UpdateHostsFile( pConnectionName, ip, "lmhosts", TRUE );
+ if (ret)
+ {
+ printf("Could not update lmhosts file\n");
+ goto cleanup;
+ }
+
+
+cleanup:
+ // an error has occured, but the device is registered, we must remove it
+ if (ret != 0 && registered)
+ SetupDiCallClassInstaller(DIF_REMOVE, hDeviceInfo, &DeviceInfoData);
+
+ found = SetupDiDeleteDeviceInfo(hDeviceInfo, &DeviceInfoData);
+
+ // destroy the driver info list
+ if (destroyList)
+ SetupDiDestroyDriverInfoList(hDeviceInfo, &DeviceInfoData,
+ SPDIT_CLASSDRIVER);
+ // clean up the device info set
+ if (hDeviceInfo != INVALID_HANDLE_VALUE)
+ SetupDiDestroyDeviceInfoList(hDeviceInfo);
+
+ return ret;
+}
--- /dev/null
+#include <afx.h>
+#include <windows.h>
+#include <shellapi.h>
+#include <objbase.h>
+#include <shlobj.h>
+#include <wtypes.h>
+
+#define NETSHELL_LIBRARY _T("netshell.dll")
+
+// Use the IShellFolder API to rename the connection.
+static HRESULT rename_shellfolder(PCWSTR wGuid, PCWSTR wNewName)
+{
+ // This is the GUID for the network connections folder. It is constant.
+ // {7007ACC7-3202-11D1-AAD2-00805FC1270E}
+ const GUID CLSID_NetworkConnections = {
+ 0x7007ACC7, 0x3202, 0x11D1, {
+ 0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E
+ }
+ };
+ LPITEMIDLIST pidl;
+ IShellFolder *pShellFolder;
+ IMalloc *pShellMalloc;
+
+ // Build the display name in the form "::{GUID}".
+ if (wcslen(wGuid) >= MAX_PATH)
+ return E_INVALIDARG;
+ WCHAR szAdapterGuid[MAX_PATH + 2];
+ swprintf(szAdapterGuid, L"::%ls", wGuid);
+
+ // Initialize COM.
+ CoInitialize(NULL);
+
+ // Get the shell allocator.
+ HRESULT hr = SHGetMalloc(&pShellMalloc);
+ if (SUCCEEDED(hr))
+ {
+ // Create an instance of the network connections folder.
+ hr = CoCreateInstance(CLSID_NetworkConnections, NULL,
+ CLSCTX_INPROC_SERVER, IID_IShellFolder,
+ reinterpret_cast<LPVOID *>(&pShellFolder));
+ }
+ // Parse the display name.
+ if (SUCCEEDED(hr))
+ {
+ hr = pShellFolder->ParseDisplayName(NULL, NULL, szAdapterGuid, NULL,
+ &pidl, NULL);
+ }
+ if (SUCCEEDED(hr))
+ {
+ hr = pShellFolder->SetNameOf(NULL, pidl, wNewName, SHGDN_NORMAL,
+ &pidl);
+ pShellMalloc->Free(pidl);
+ }
+ CoUninitialize();
+ return hr;
+}
+
+extern "C" int RenameConnection(PCWSTR GuidString, PCWSTR NewName)
+{
+ typedef HRESULT (WINAPI *lpHrRenameConnection)(const GUID *, PCWSTR);
+ lpHrRenameConnection RenameConnectionFunc = NULL;
+ HRESULT status;
+
+ // First try the IShellFolder interface, which was unimplemented
+ // for the network connections folder before XP.
+ status = rename_shellfolder(GuidString, NewName);
+ if (status == E_NOTIMPL)
+ {
+ // The IShellFolder interface is not implemented on this platform.
+ // Try the (undocumented) HrRenameConnection API in the netshell
+ // library.
+ CLSID clsid;
+ HINSTANCE hNetShell;
+ status = CLSIDFromString((LPOLESTR) GuidString, &clsid);
+ if (FAILED(status))
+ return -1;
+ hNetShell = LoadLibrary(NETSHELL_LIBRARY);
+ if (hNetShell == NULL)
+ return -1;
+ RenameConnectionFunc =
+ (lpHrRenameConnection) GetProcAddress(hNetShell,
+ "HrRenameConnection");
+ if (RenameConnectionFunc == NULL)
+ {
+ FreeLibrary(hNetShell);
+ return -1;
+ }
+ status = RenameConnectionFunc(&clsid, NewName);
+ FreeLibrary(hNetShell);
+ }
+ if (FAILED(status))
+ return -1;
+ return 0;
+}
--- /dev/null
+//**************************************************************************
+//
+// Description:
+//
+// Call EnableStatic method of Win32_NetworkAdapterConfiguration
+// for some network adapter GUID.
+//
+// Note:
+//
+// The EnableStatic method is notsupported on Win9x platforms.
+//
+//**************************************************************************
+
+#define _WIN32_DCOM
+#include <windows.h>
+#include <comdef.h>
+#include <wbemidl.h>
+#include <tchar.h>
+
+#include <devguid.h>
+
+/* These two are from the Windows DDK */
+#include <netcfgx.h>
+#include <netcfgn.h>
+
+#include <shlobj.h>
+//#include <objbase.h>
+
+//#ifndef TEST
+//inline void printf(char*, ...) {}
+//#else
+#include <stdio.h>
+//#endif
+
+#define CLEANUP_ON_FAILURE(hr) \
+ do { if (!SUCCEEDED(hr)) goto cleanup; } while (0)
+
+#define CLEANUP_ON_AND_SET(check, var, value) \
+ do { if (check) { (var) = (value); goto cleanup; } } while (0)
+
+#define ETCDIR "\\drivers\\etc"
+
+#define EACCES (13)
+#define ENOENT (2)
+
+DWORD AdjustMaxLana(DWORD dwMaxLana);
+
+typedef
+HRESULT
+(*FindNetworkAdapterConfigurationInstance_t)(
+ IN PVOID pContext,
+ IN IWbemServices *pSvc,
+ OUT BSTR* pPath
+ );
+
+HRESULT
+FindNetworkAdapterConfigurationInstanceByGUID(
+ IN PVOID pContext,
+ IN IWbemServices *pSvc,
+ OUT BSTR* pPath
+ )
+{
+ HRESULT hr = 0;
+ BOOL bFound = FALSE;
+ BSTR Language = 0;
+ BSTR Query = 0;
+ IEnumWbemClassObject* pEnum = 0;
+ IWbemClassObject* pObj = 0;
+ VARIANT Value;
+ VariantInit(&Value);
+ LPCWSTR adapter_guid = (LPCWSTR)pContext;
+
+ // Check arguments
+ if (!pPath || !adapter_guid || *pPath)
+ return E_INVALIDARG;
+
+ *pPath = 0;
+
+ // Query for all network adapters
+ Language = SysAllocString(L"WQL");
+ Query = SysAllocString(L"select * from Win32_NetworkAdapterConfiguration");
+
+ // Issue the query.
+ hr = pSvc->ExecQuery(Language,
+ Query,
+ WBEM_FLAG_FORWARD_ONLY, // Flags
+ 0, // Context
+ &pEnum);
+ if (!SUCCEEDED(hr))
+ {
+ printf("ExecQuery() error (0x%08X)\n", hr);
+ goto cleanup;
+ }
+
+ // Retrieve the objects in the result set.
+ while (!bFound)
+ {
+ ULONG uReturned = 0;
+
+ hr = pEnum->Next(0, // Time out
+ 1, // One object
+ &pObj,
+ &uReturned);
+ CLEANUP_ON_FAILURE(hr);
+
+ if (uReturned == 0)
+ break;
+
+ // Use the object.
+ hr = pObj->Get(L"SettingID", // property name
+ 0L,
+ &Value, // output to this variant
+ NULL,
+ NULL);
+ CLEANUP_ON_FAILURE(hr);
+
+ bFound = !wcscmp(adapter_guid, V_BSTR(&Value));
+
+ if (bFound)
+ {
+ printf("Found adapter: %S\n", V_BSTR(&Value));
+ VariantClear(&Value);
+ hr = pObj->Get(L"__RELPATH", // property name
+ 0L,
+ &Value, // output to this variant
+ NULL,
+ NULL);
+ CLEANUP_ON_FAILURE(hr);
+
+ *pPath = SysAllocString(V_BSTR(&Value));
+
+ }
+
+ VariantClear(&Value);
+
+ // Release it.
+ // ===========
+ pObj->Release(); // Release objects not owned.
+ pObj = 0;
+ }
+
+
+ // All done.
+ cleanup:
+ SysFreeString(Query);
+ SysFreeString(Language);
+ VariantClear(&Value);
+ if (pEnum)
+ pEnum->Release();
+ if (pObj)
+ pObj->Release();
+
+ return *pPath ? 0 : ( SUCCEEDED(hr) ? WBEM_E_NOT_FOUND : hr );
+}
+
+HRESULT
+SetupStringAsSafeArray(LPCWSTR s, VARIANT* v)
+{
+ HRESULT hr = 0;
+ BSTR b = 0;
+ SAFEARRAY* array = 0;
+ long index[] = {0};
+
+ if (V_VT(v) != VT_EMPTY)
+ return E_INVALIDARG;
+
+ b = SysAllocString(s);
+ CLEANUP_ON_AND_SET(!b, hr, E_OUTOFMEMORY);
+
+ array = SafeArrayCreateVector(VT_BSTR, 0, 1);
+ CLEANUP_ON_AND_SET(!array, hr, E_OUTOFMEMORY);
+
+ hr = SafeArrayPutElement(array, index, b);
+ CLEANUP_ON_FAILURE(hr);
+
+ V_VT(v) = VT_ARRAY|VT_BSTR;
+ V_ARRAY(v) = array;
+
+ cleanup:
+ if (b)
+ SysFreeString(b);
+ if (!SUCCEEDED(hr))
+ {
+ if (array)
+ SafeArrayDestroy(array);
+ }
+ return hr;
+}
+
+
+HRESULT
+WMIEnableStatic(
+ FindNetworkAdapterConfigurationInstance_t pFindInstance,
+ PVOID pContext,
+ LPCWSTR ip,
+ LPCWSTR mask
+ )
+{
+ HRESULT hr = 0;
+
+ IWbemLocator* pLocator = 0;
+ IWbemServices* pNamespace = 0;
+ IWbemClassObject* pClass = 0;
+ IWbemClassObject* pOutInst = 0;
+ IWbemClassObject* pInClass = 0;
+ IWbemClassObject* pInInst = 0;
+
+ BSTR NamespacePath = 0;
+ BSTR ClassPath = 0;
+ BSTR InstancePath = 0;
+ BSTR MethodName = 0; // needs to be BSTR for ExecMethod()
+
+ VARIANT v_ip_list;
+ VariantInit(&v_ip_list);
+
+ VARIANT v_mask_list;
+ VariantInit(&v_mask_list);
+
+ VARIANT v_ret_value;
+ VariantInit(&v_ret_value);
+
+ int count;
+
+ // end of declarations & NULL initialization
+
+ NamespacePath = SysAllocString(L"root\\cimv2");
+ CLEANUP_ON_AND_SET(!NamespacePath, hr, E_OUTOFMEMORY);
+
+ ClassPath = SysAllocString(L"Win32_NetWorkAdapterConfiguration");
+ CLEANUP_ON_AND_SET(!ClassPath, hr, E_OUTOFMEMORY);
+
+ MethodName = SysAllocString(L"EnableStatic");
+ CLEANUP_ON_AND_SET(!MethodName, hr, E_OUTOFMEMORY);
+
+ // Initialize COM and connect up to CIMOM
+
+ hr = CoInitializeEx(0, COINIT_MULTITHREADED);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = CoInitializeSecurity(NULL, -1, NULL, NULL,
+ RPC_C_AUTHN_LEVEL_CONNECT,
+ RPC_C_IMP_LEVEL_IMPERSONATE,
+ NULL, EOAC_NONE, 0);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = CoCreateInstance(CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER,
+ IID_IWbemLocator, (LPVOID *) &pLocator);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = pLocator->ConnectServer(NamespacePath, NULL, NULL, NULL, 0,
+ NULL, NULL, &pNamespace);
+ CLEANUP_ON_FAILURE(hr);
+
+ printf("Connected to WMI\n");
+
+ // Set the proxy so that impersonation of the client occurs.
+ hr = CoSetProxyBlanket(pNamespace,
+ RPC_C_AUTHN_WINNT,
+ RPC_C_AUTHZ_NONE,
+ NULL,
+ RPC_C_AUTHN_LEVEL_CALL,
+ RPC_C_IMP_LEVEL_IMPERSONATE,
+ NULL,
+ EOAC_NONE);
+ CLEANUP_ON_FAILURE(hr);
+
+ // Get the class object
+ hr = pNamespace->GetObject(ClassPath, 0, NULL, &pClass, NULL);
+ CLEANUP_ON_FAILURE(hr);
+
+ // Get the instance
+ hr = pFindInstance(pContext, pNamespace, &InstancePath);
+ CLEANUP_ON_FAILURE(hr);
+
+ printf("Found Adapter Instance: %S\n", InstancePath);
+
+#if 0
+ // Use the adapter instance index to set MAXLANA in the registry.
+ {
+ DWORD dwIndex;
+ if (swscanf(InstancePath, L"Win32_NetworkAdapterConfiguration.Index=%u", &dwIndex)==1)
+ {
+ DWORD ret = 0;
+ printf("Setting MAXLANA to at least %u\n",dwIndex+1);
+ ret = AdjustMaxLana(dwIndex+1);
+ if (ret) printf("AdjustMaxLana returned the error code %u.\n",ret);
+ }
+ }
+#endif
+
+ // Get the input argument and set the property
+ hr = pClass->GetMethod(MethodName, 0, &pInClass, NULL);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = pInClass->SpawnInstance(0, &pInInst);
+ CLEANUP_ON_FAILURE(hr);
+
+ // Set up parameters
+ hr = SetupStringAsSafeArray(ip, &v_ip_list);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = pInInst->Put(L"IPAddress", 0, &v_ip_list, 0);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = SetupStringAsSafeArray(mask, &v_mask_list);
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = pInInst->Put(L"SubNetMask", 0, &v_mask_list, 0);
+ CLEANUP_ON_FAILURE(hr);
+
+ // Sleep for a twenty seconds
+ printf("Calling ExecMethod in 20 seconds...\r");
+ Sleep(10000);
+ printf("Calling ExecMethod in 10 seconds...\r");
+ Sleep(5000);
+ printf("Calling ExecMethod in 5 seconds...\r");
+ Sleep(2000);
+
+// printf("Skipping ExecMethod\n");
+// hr = 0;
+// goto cleanup;
+
+ // Try up to five times, sleeping 3 seconds between tries
+ for (count=0; count<5; count++)
+ {
+ if (count>0) printf("Trying again in 3 seconds...\n");
+
+ Sleep(3000);
+
+ printf("Calling ExecMethod NOW... \n");
+
+ // Call the method
+
+ hr = pNamespace->ExecMethod(InstancePath, MethodName, 0, NULL, pInInst,
+ &pOutInst, NULL);
+
+ if (!SUCCEEDED(hr))
+ {
+ printf("ExecMethod failed (0x%08X)\n", hr);
+ continue;
+ }
+
+ // Get the EnableStatic method return value
+ hr = pOutInst->Get(L"ReturnValue", 0, &v_ret_value, 0, 0);
+
+ if (!SUCCEEDED(hr))
+ {
+ printf("WARNING: Could not determine return value for EnableStatic (0x%08X)\n", hr);
+ continue;
+ }
+
+ hr = V_I4(&v_ret_value);
+
+
+ if(hr != 0)
+ printf("EnableStatic failed (0x%08X)\n", hr);
+ else
+ {
+ printf("EnableStatic succeeded\n");
+ break;
+ }
+
+ }
+
+
+
+ cleanup:
+ // Free up resources
+ VariantClear(&v_ret_value);
+ VariantClear(&v_ip_list);
+ VariantClear(&v_mask_list);
+
+ SysFreeString(NamespacePath);
+ SysFreeString(ClassPath);
+ SysFreeString(InstancePath);
+ SysFreeString(MethodName);
+
+ if (pClass) pClass->Release();
+ if (pInInst) pInInst->Release();
+ if (pInClass) pInClass->Release();
+ if (pOutInst) pOutInst->Release();
+ if (pLocator) pLocator->Release();
+ if (pNamespace) pNamespace->Release();
+
+ CoUninitialize();
+ return hr;
+}
+
+
+/**********************************************************
+* LoopbackBindings : unbind all other
+* protocols except TCP/IP, netbios, netbt.
+*/
+extern "C" HRESULT LoopbackBindings (LPCWSTR loopback_guid)
+{
+ HRESULT hr = 0;
+ INetCfg *pCfg = NULL;
+ INetCfgLock *pLock = NULL;
+ INetCfgComponent *pAdapter = NULL;
+ IEnumNetCfgComponent *pEnumComponent = NULL;
+ BOOL bLockGranted = FALSE;
+ BOOL bInitialized = FALSE;
+ BOOL bConfigChanged = FALSE;
+ LPWSTR swName = NULL;
+ GUID g;
+ wchar_t device_guid[100];
+ DWORD lenDeviceId;
+
+ printf("\nRunning LoopbackBindings()...\n");
+
+ hr = CoInitializeEx( NULL, COINIT_DISABLE_OLE1DDE | COINIT_APARTMENTTHREADED );
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = CoCreateInstance( CLSID_CNetCfg, NULL, CLSCTX_INPROC_SERVER, IID_INetCfg, (void**)&pCfg );
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = pCfg->QueryInterface( IID_INetCfgLock, (void**)&pLock );
+ CLEANUP_ON_FAILURE(hr);
+
+ hr = pLock->AcquireWriteLock( 1000, L"AFS Configuration", NULL );
+ CLEANUP_ON_FAILURE(hr);
+ bLockGranted = TRUE;
+
+ hr = pCfg->Initialize( NULL );
+ CLEANUP_ON_FAILURE(hr);
+ bInitialized = TRUE;
+
+ hr = pCfg->EnumComponents( &GUID_DEVCLASS_NET, &pEnumComponent );
+ CLEANUP_ON_FAILURE(hr);
+
+
+ while( pEnumComponent->Next( 1, &pAdapter, NULL ) == S_OK )
+ {
+ pAdapter->GetDisplayName( &swName );
+ pAdapter->GetInstanceGuid( &g );
+ StringFromGUID2(g, device_guid, 99);
+
+ if(!wcscmp( device_guid, loopback_guid )) // found loopback adapter
+ {
+ INetCfgComponentBindings *pBindings;
+ INetCfgBindingPath *pPath;
+ IEnumNetCfgBindingPath *pEnumPaths;
+ INetCfgComponent *upper;
+
+ wprintf(L"LoopbackBindings found: %s\n", device_guid );
+
+ hr = pAdapter->QueryInterface( IID_INetCfgComponentBindings, (void**) &pBindings);
+ if(hr==S_OK)
+ {
+ hr = pBindings->EnumBindingPaths( EBP_ABOVE, &pEnumPaths );
+ if(hr==S_OK)
+ {
+ while(pEnumPaths->Next( 1, &pPath, NULL ) == S_OK)
+ {
+ pPath->GetOwner( &upper );
+
+ LPWSTR swId = NULL, swName = NULL;
+
+ upper->GetDisplayName( &swName );
+ upper->GetId( &swId );
+
+ wprintf(L"Looking at %s (%s)... \n",swName, swId);
+
+ {
+ wprintf(L" Moving to the end of binding order...");
+ INetCfgComponentBindings *pBindings2;
+ hr = upper->QueryInterface( IID_INetCfgComponentBindings, (void**) &pBindings2);
+ if (hr==S_OK)
+ {
+ printf("...");
+ hr = pBindings2->MoveAfter(pPath, NULL);
+ pBindings2->Release();
+ bConfigChanged=TRUE;
+ }
+ if (hr==S_OK) printf("success\n"); else printf("failed: 0x%0lx\n",hr);
+
+ }
+
+ if ( !_wcsicmp(swId, L"ms_netbios") ||
+ !_wcsicmp(swId, L"ms_tcpip") ||
+ !_wcsicmp(swId, L"ms_netbt") )
+ {
+ if (pPath->IsEnabled()!=S_OK)
+ {
+ wprintf(L" Enabling %s: ",swName);
+ hr = pPath->Enable(TRUE);
+ if (hr==S_OK) printf("success\n"); else printf("failed: %ld\n",hr);
+ bConfigChanged=TRUE;
+ }
+
+
+ }
+ else //if (!_wcsicmp(swId, L"ms_server") || (!_wcsicmp(swId, L"ms_msclient"))
+ {
+ if (pPath->IsEnabled()==S_OK)
+ {
+ wprintf(L" Disabling %s: ",swName);
+ hr = pPath->Enable(FALSE);
+ if (hr==S_OK) printf("success\n"); else printf("failed: %ld\n",hr);
+ bConfigChanged=TRUE;
+ }
+ }
+
+ CoTaskMemFree( swName );
+ CoTaskMemFree( swId );
+
+ pPath->Release();
+ }
+ pEnumPaths->Release();
+ }
+ pBindings->Release();
+ } // hr==S_OK for QueryInterface IID_INetCfgComponentBindings
+ }
+
+ CoTaskMemFree( swName );
+
+ pAdapter->Release();
+ }
+
+ pEnumComponent->Release();
+
+ hr = 0;
+
+cleanup:
+
+ if(bConfigChanged) pCfg->Apply();
+
+ if(pAdapter) pAdapter->Release();
+
+ if(bInitialized) pCfg->Uninitialize();
+ if(bLockGranted) pLock->ReleaseWriteLock();
+
+ if(pLock) pLock->Release();
+ if(pCfg) pCfg->Release();
+
+ if (hr) printf ("LoopbackBindings() is returning %u\n",hr);
+ return hr;
+}
+
+
+ extern "C"
+ DWORD
+SetIpAddress(
+ LPCWSTR guid,
+ LPCWSTR ip,
+ LPCWSTR mask
+ )
+{
+ printf("\nRunning SetIpAddress()...\n");
+ HRESULT hr = 0;
+
+ hr = WMIEnableStatic(FindNetworkAdapterConfigurationInstanceByGUID,
+ (PVOID)guid, ip, mask);
+ return hr;
+}
+
+/* Set MAXLANA in the registry to the specified value, unless the existing registry value is larger */
+DWORD AdjustMaxLana(DWORD dwMaxLana)
+{
+
+ LONG ret = 0;
+ HKEY hNetBiosParamKey = NULL;
+ DWORD dwType, dwExistingMaxLana, dwSize;
+
+ printf ("Making sure MaxLana is at least %u...\n", dwMaxLana);
+
+ ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services\\NetBIOS\\Parameters"),
+ 0, KEY_ALL_ACCESS , &hNetBiosParamKey);
+ if (ret) return ret;
+
+
+
+ dwSize = 4;
+ ret = RegQueryValueEx(hNetBiosParamKey, _T("MaxLana"), 0, &dwType, (LPBYTE) &dwExistingMaxLana, &dwSize);
+ if ((ret) && (ret != ERROR_MORE_DATA) && (ret != ERROR_FILE_NOT_FOUND))
+ {
+ RegCloseKey(hNetBiosParamKey);
+ return ret;
+ }
+
+ if ((dwType != REG_DWORD) || (ret)) dwExistingMaxLana = 0;
+
+ printf (" MaxLana is currently %u\n", dwExistingMaxLana);
+
+ if (dwExistingMaxLana < dwMaxLana)
+ {
+ printf (" Changing to %u\n", dwMaxLana);
+ ret = RegSetValueEx(hNetBiosParamKey, _T("MaxLana"), 0, REG_DWORD, (const BYTE*)&dwMaxLana, 4);
+ if (ret)
+ {
+ RegCloseKey(hNetBiosParamKey);
+ return ret;
+ }
+
+ }
+
+ RegCloseKey(hNetBiosParamKey);
+ return 0;
+
+
+}
+
+extern "C"
+BOOL UpdateHostsFile( LPCWSTR swName, LPCWSTR swIp, LPCSTR szFilename, BOOL bPre )
+{
+ char szIp[2048], szName[2048];
+ char etcPath[MAX_PATH];
+ char tempPath[MAX_PATH];
+ char buffer[2048], temp[2048];
+ char *str;
+ HRESULT rv;
+ DWORD fa,len;
+ FILE *hFile, *hTemp;
+
+ _snprintf(szIp, 2047, "%S", swIp);
+ _snprintf(szName, 2047, "%S", swName);
+ strupr(szName);
+ printf("Starting UpdateHostsFile() on %s file\n",szFilename);
+
+ rv = SHGetFolderPathA( NULL, CSIDL_SYSTEM, NULL, SHGFP_TYPE_CURRENT , etcPath );
+ if(rv != S_OK) return FALSE;
+
+ strcat( etcPath, ETCDIR );
+
+ fa = GetFileAttributesA( etcPath );
+
+ if(fa == INVALID_FILE_ATTRIBUTES)
+ {
+ // the directory doesn't exist
+ // it should be there. non-existence implies more things are wrong
+ printf( "Path does not exist : %s\n", etcPath );
+ return FALSE;
+ }
+
+ strcpy( tempPath, etcPath );
+ strcat( etcPath, "\\" );
+ strcat( etcPath, szFilename );
+
+ fa = GetFileAttributesA( etcPath );
+
+ if(fa == INVALID_FILE_ATTRIBUTES)
+ {
+ printf( "No %s file found. Creating...", szFilename);
+
+ hFile = fopen( etcPath, "w" );
+ if(!hFile)
+ {
+ printf("FAILED : can't create %s file\nErrno is %d\n",etcPath,errno);
+ return FALSE;
+ }
+
+ fprintf(hFile, "%s\t%s%s\n", szIp, szName, (bPre)?"\t#PRE":"");
+
+ fclose( hFile );
+
+ printf("done\n");
+ }
+ else // the file exists. parse and update
+ {
+
+ printf( "Updating %s file ...",szFilename );
+
+ hFile = fopen( etcPath, "r");
+ if(!hFile)
+ {
+ printf("FAILED : can't open %s file\nErrno is %d\n",etcPath,errno);
+ return FALSE;
+ }
+
+ strcat( tempPath, szFilename );
+ strcat( tempPath, ".tmp" );
+ hTemp = fopen( tempPath, "w");
+ if(!hTemp)
+ {
+ printf("FAILED : can't create temp file %s\nErrno is %d\n",tempPath,errno);
+ fclose(hFile);
+ return FALSE;
+ }
+
+ while(fgets( buffer, 2046, hFile))
+ {
+ strcpy( temp, buffer );
+ strupr( temp );
+
+ if ((strlen(temp)<1) || (*(temp+strlen(temp)-1)!='\n')) strcat(temp, "\n");
+
+ if(!(str = strstr(temp, szName)))
+ {
+ fputs( buffer, hTemp );
+ }
+ else
+ {
+ // check for FOOBAFS or AFSY
+ //if(str <= temp || (*(str-1) != '-' && !isspace(*(str+strlen(szName)))))
+ if ( (str == temp) || (!*(str+strlen(szName))) || (!isspace(*(str-1))) || (!isspace(*(str+strlen(szName)))) )
+ fputs( buffer, hTemp );
+ }
+ }
+
+
+ len = 2048;
+ GetComputerNameA( buffer, &len );
+ buffer[11] = 0;
+ fprintf( hTemp, "%s\t%s%s\n", szIp, szName, (bPre)?"\t#PRE":"");
+
+ fclose( hTemp );
+ fclose( hFile );
+
+ strcpy(buffer, etcPath);
+ strcat(buffer, ".old");
+
+ errno = 0;
+
+ if ((unlink( buffer ) != 0) && (errno == EACCES))
+ {
+ printf("FAILED : Can't delete %s file\nErrno is %d",buffer,errno);
+ return FALSE;
+
+ }
+
+ if ((errno) && (errno != ENOENT)) printf("WEIRD : errno after unlink is %d...",errno);
+
+ if(rename( etcPath, buffer) != 0)
+ {
+ printf("FAILED : Can't rename old %s file\nErrno is %d\n",etcPath,errno);
+ return FALSE;
+ }
+
+ if(rename( tempPath, etcPath ) != 0)
+ {
+ printf("FAILED : Can't rename new %s file\nErrno is %d\n",tempPath,errno);
+ return FALSE;
+ }
+
+ printf("done\n");
+ }
+
+ return TRUE;
+}
+
+#ifdef TEST
+#if 0
+int
+wmain(
+ int argc,
+ wchar_t* argv[]
+ )
+{
+ if (argc < 3)
+ {
+ printf("usage: %S ip mask\n"
+ " example: %S 10.0.0.1 255.0.0.0", argv[0], argv[0]);
+ return 0;
+ }
+
+ return WMIEnableStatic(FindNetworkAdapterConfigurationInstanceByGUID,
+ L"{B4981E32-551C-4164-96B6-B8874BD2E555}",
+ argv[1], argv[2]);
+}
+#else
+int
+wmain(
+ int argc,
+ wchar_t* argv[]
+ )
+{
+ if (argc < 4)
+ {
+ printf("usage: %S adapter_guid ip mask\n"
+ " example: %S {B4981E32-551C-4164-96B6-B8874BD2E555} "
+ "10.0.0.1 255.0.0.0", argv[0], argv[0]);
+ return 0;
+ }
+
+ return WMIEnableStatic(FindNetworkAdapterConfigurationInstanceByGUID,
+ argv[1], argv[2], argv[3]);
+}
+#endif
+#endif
+
--- /dev/null
+\feff<?xml version="1.0" ?>
+<Include>
+ <Feature Id="feaOpenAFS" AllowAdvertise="no" Absent="disallow" ConfigurableDirectory="AFSDIR"
+ Description="$(loc.StrAFSProdDesc)" Display="expand" InstallDefault="local" Level="30"
+ Title="OpenAFS">
+ <Feature Id="feaClient" AllowAdvertise="no" Description="$(loc.StrAFSClientLongDesc)" Display="expand"
+ FollowParent="yes" InstallDefault="local" Level="30" Title="$(loc.StrAFSClientDesc)">
+
+ <Feature Id="feaLoopback" FollowParent="yes" AllowAdvertise="no" Description="$(loc.StrLoopbackLongDesc)"
+ Display="expand" InstallDefault="local" Level="30" Title="$(loc.StrLoopbackDesc)">
+ <ComponentRef Id="rcm_Loopback"/>
+ </Feature>
+
+ <Feature Id="feaKB301673" AllowAdvertise="no" Absent="disallow" Display="hidden" InstallDefault="local" Level="0" FollowParent="yes">
+ <ComponentRef Id="rcm_KB301673" />
+ <Condition Level="30">VersionNT = 500 And ServicePackLevel < 3</Condition>
+ </Feature>
+
+ <?ifdef Debug?>
+ <Feature Id="feaClientDebug" AllowAdvertise="no" Description="$(loc.StrAFSClientDebugLongDesc)" Display="expand"
+ FollowParent="yes" InstallDefault="local" Level="30" Title="$(loc.StrAFSClientDebugDesc)">
+ <ComponentRef Id="cmp_ClientProgramDebug" />
+ <ComponentRef Id="cmp_CommonCommonDebug" />
+ <ComponentRef Id="cmp_ClientCommonDebug" />
+ <?include runtime_debug.wxi?>
+ </Feature>
+ <?endif?>
+
+ <ComponentRef Id="rcm_Client" />
+ <ComponentRef Id="cmp_CommonDir" />
+
+ <ComponentRef Id="efl_Readme_TXT_$(var.Language)" />
+ <ComponentRef Id="efl_afsdcell_INI" />
+ <ComponentRef Id="cmf_afs_cpa_CPL" />
+
+ <ComponentRef Id="cmf_afsrpc_DLL" />
+ <ComponentRef Id="cmf_afsauthent2_DLL" />
+ <ComponentRef Id="cmf_afspthread_DLL" />
+ <ComponentRef Id="cmf_TaAfsAppLib_DLL" />
+ <ComponentRef Id="cmf_afsprocmgmt_DLL" />
+ <ComponentRef Id="cmf_afs_config_EXE" />
+
+ <?if $(var.Language) = "en_US" ?>
+ <ComponentRef Id="cmf_afs_nt_HLP_en_US"/>
+ <ComponentRef Id="cmf_TaAfsAppLib_1033_DLL" />
+ <ComponentRef Id="cmf_afscreds_1033_DLL" />
+ <ComponentRef Id="cmf_afs_config_1033_DLL" />
+ <ComponentRef Id="cmf_afs_cpa_1033_DLL" />
+ <ComponentRef Id="cmf_afs_shl_ext_1033_DLL" />
+ <?endif?>
+
+ <ComponentRef Id="cmf_afsshare_EXE" />
+ <ComponentRef Id="cmf_libosi_DLL" />
+ <ComponentRef Id="cmf_libafsconf_DLL" />
+ <ComponentRef Id="cmf_klog_EXE" />
+ <ComponentRef Id="cmf_tokens_EXE" />
+ <ComponentRef Id="cmf_unlog_EXE" />
+ <ComponentRef Id="cmf_fs_EXE" />
+ <ComponentRef Id="cmf_afscreds_EXE" />
+ <ComponentRef Id="cmf_afs_shl_ext_DLL" />
+ <ComponentRef Id="cmf_afsd_service_EXE" />
+ <ComponentRef Id="cmf_afslogon_DLL" />
+ <ComponentRef Id="cmf_symlink_EXE" />
+ <ComponentRef Id="cmf_kpasswd_EXE" />
+ <ComponentRef Id="cmf_pts_EXE" />
+ <ComponentRef Id="cmf_bos_EXE" />
+ <ComponentRef Id="cmf_kas_EXE" />
+ <ComponentRef Id="cmf_vos_EXE" />
+ <ComponentRef Id="cmf_udebug_EXE" />
+ <ComponentRef Id="cmf_translate_et_EXE" />
+ <ComponentRef Id="cmf_rxdebug_EXE" />
+ <ComponentRef Id="cmf_backup_EXE" />
+ <ComponentRef Id="cmf_aklog_EXE" />
+
+ <!-- Runtime -->
+ <?include runtime.wxi?>
+ </Feature>
+
+ <Feature Id="feaServer" AllowAdvertise="no" Description="$(loc.StrAFSServerLongDesc)" Display="expand"
+ FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSServerDesc)">
+
+ <ComponentRef Id="rcm_Server" />
+ <ComponentRef Id="cmp_CommonDir" />
+
+ <ComponentRef Id="cmf_afsserver_CPL" />
+ <ComponentRef Id="cmf_afsbosadmin_DLL" />
+ <ComponentRef Id="cmf_afscfgadmin_DLL" />
+ <ComponentRef Id="cmf_afsclientadmin_DLL" />
+ <ComponentRef Id="cmf_afskasadmin_DLL" />
+ <ComponentRef Id="cmf_afsptsadmin_DLL" />
+ <ComponentRef Id="cmf_afsvosadmin_DLL" />
+ <ComponentRef Id="cmf_afsadminutil_DLL" />
+
+ <ComponentRef Id="cmf_afsrpc_DLL" />
+ <ComponentRef Id="cmf_afsauthent2_DLL" />
+ <ComponentRef Id="cmf_afspthread_DLL" />
+ <ComponentRef Id="cmf_TaAfsAppLib_DLL" />
+ <ComponentRef Id="cmf_afsprocmgmt_DLL" />
+
+ <?if $(var.Language) = "en_US" ?>
+ <ComponentRef Id="cmf_afseventmsg_1033_DLL" />
+ <ComponentRef Id="cmf_afsserver_1033_DLL" />
+ <ComponentRef Id="cmf_afssvrcfg_1033_DLL" />
+ <ComponentRef Id="cmf_TaAfsAppLib_1033_DLL" />
+ <ComponentRef Id="cmf_afs_nt_HLP_en_US" />
+ <ComponentRef Id="cmp_Lang_en_US" />
+ <?endif?>
+
+ <ComponentRef Id="efl_Readme_TXT_$(var.Language)" />
+
+ <ComponentRef Id="cmf_vlserver_EXE" />
+ <ComponentRef Id="cmf_volinfo_EXE" />
+ <ComponentRef Id="cmf_volserver_EXE" />
+ <ComponentRef Id="cmf_afskill_EXE" />
+ <ComponentRef Id="cmf_afssvrcfg_EXE" />
+ <ComponentRef Id="cmf_bosctlsvc_EXE" />
+ <ComponentRef Id="cmf_bosserver_EXE" />
+ <ComponentRef Id="cmf_buserver_EXE" />
+ <ComponentRef Id="cmf_fileserver_EXE" />
+ <ComponentRef Id="cmf_fms_EXE" />
+ <ComponentRef Id="cmf_butc_EXE" />
+ <ComponentRef Id="cmf_kaserver_EXE" />
+ <ComponentRef Id="cmf_ptserver_EXE" />
+ <ComponentRef Id="cmf_salvager_EXE" />
+ <ComponentRef Id="cmf_upclient_EXE" />
+ <ComponentRef Id="cmf_upserver_EXE" />
+ <ComponentRef Id="cmp_Server_Program" />
+
+ <?ifdef Debug?>
+ <Feature Id="feaServerDebug" AllowAdvertise="no" Description="$(loc.StrAFSServerDebugLongDesc)" Display="expand"
+ FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSServerDebugDesc)">
+ <ComponentRef Id="cmp_Server_Program_Debug" />
+ <ComponentRef Id="cmp_ServerCommonDebug" />
+ <ComponentRef Id="cmp_CommonCommonDebug" />
+ <?include runtime_debug.wxi?>
+ </Feature>
+ <?endif?>
+
+ <!-- Runtime -->
+ <?include runtime.wxi?>
+ </Feature>
+ <Feature Id="feaControlCenter" AllowAdvertise="no" Description="$(loc.StrAFSCCLongDesc)"
+ Display="expand" FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSCCDesc)">
+
+ <ComponentRef Id="rcm_Control_Center" />
+ <ComponentRef Id="cmp_CommonDir" />
+
+ <ComponentRef Id="cmf_afs_cpa_CPL" />
+ <ComponentRef Id="cmf_afsbosadmin_DLL" />
+ <ComponentRef Id="cmf_afscfgadmin_DLL" />
+ <ComponentRef Id="cmf_afsclientadmin_DLL" />
+ <ComponentRef Id="cmf_afskasadmin_DLL" />
+ <ComponentRef Id="cmf_afsptsadmin_DLL" />
+ <ComponentRef Id="cmf_afsvosadmin_DLL" />
+ <ComponentRef Id="cmf_afsadminutil_DLL" />
+ <ComponentRef Id="cmf_afsrpc_DLL" />
+ <ComponentRef Id="cmf_afsauthent2_DLL" />
+ <ComponentRef Id="cmf_afspthread_DLL" />
+ <ComponentRef Id="cmf_TaAfsAppLib_DLL" />
+ <ComponentRef Id="cmf_afsprocmgmt_DLL" />
+ <ComponentRef Id="cmf_afs_config_EXE" />
+ <ComponentRef Id="cmf_TaAfsServerManager_EXE" />
+ <ComponentRef Id="cmf_TaAfsAdmSvr_EXE" />
+ <ComponentRef Id="cmf_TaAfsAccountManager_EXE" />
+
+ <?if $(var.Language) = "en_US" ?>
+ <ComponentRef Id="cmf_afseventmsg_1033_DLL" />
+ <ComponentRef Id="cmf_afsserver_1033_DLL" />
+ <ComponentRef Id="cmf_afssvrcfg_1033_DLL" />
+ <ComponentRef Id="cmf_TaAfsAccountManager_1033_DLL" />
+ <ComponentRef Id="cmf_TaAfsAppLib_1033_DLL" />
+ <ComponentRef Id="cmf_TaAfsServerManager_1033_DLL" />
+ <ComponentRef Id="cmf_afscreds_1033_DLL" />
+ <ComponentRef Id="cmf_afs_config_1033_DLL" />
+ <ComponentRef Id="cmf_afs_cpa_1033_DLL" />
+ <ComponentRef Id="cmf_afs_shl_ext_1033_DLL" />
+ <ComponentRef Id="cmf_afs_nt_HLP_en_US" />
+ <ComponentRef Id="cmp_Lang_en_US" />
+ <?endif?>
+
+ <?ifdef Debug?>
+ <Feature Id="feaControlCenterDebug" AllowAdvertise="no" Description="$(loc.StrAFSCCDebugLongDesc)"
+ Display="expand" FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSCCDebugDesc)">
+ <ComponentRef Id="cmp_Control_CenterDebug" />
+ <ComponentRef Id="cmp_ServerCommonDebug" />
+ <ComponentRef Id="cmp_CommonCommonDebug" />
+ <ComponentRef Id="cmp_ClientCommonDebug" />
+ <?include runtime_debug.wxi?>
+ </Feature>
+ <?endif?>
+
+ <ComponentRef Id="efl_Readme_TXT_$(var.Language)" />
+
+ <!-- Runtime -->
+ <?include runtime.wxi?>
+ </Feature>
+ <Feature Id="feaSDK" AllowAdvertise="no" Description="$(loc.StrAFSSDKLongDesc)" Display="expand"
+ FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSSDKDesc)">
+
+ <ComponentRef Id="rcm_SDK" />
+
+ <ComponentRef Id="efl_Readme_TXT_$(var.Language)" />
+ <ComponentRef Id="cmp_SDK_Sample" />
+ <ComponentRef Id="cmp_SDK_Include" />
+ <ComponentRef Id="cmp_SDK_Include_afs" />
+ <ComponentRef Id="cmp_SDK_Include_rx" />
+ <ComponentRef Id="cmp_SDK_Include_Winnt" />
+ <ComponentRef Id="cmp_SDK_Lib" />
+ <ComponentRef Id="cmp_SDK_Lib_Afs" />
+
+ <?ifdef Debug?>
+ <Feature Id="feaSDKDebug" AllowAdvertise="no" Description="$(loc.StrAFSSDKDebugLongDesc)" Display="expand"
+ FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSSDKDebugDesc)">
+ <?include runtime_debug.wxi?>
+ </Feature>
+ <?endif?>
+ <!-- Runtime -->
+ <?include runtime.wxi?>
+ </Feature>
+
+ <Feature Id="feaDocumentation" AllowAdvertise="no" Description="$(loc.StrAFSDocLongDesc)"
+ Display="expand" FollowParent="yes" InstallDefault="local" Level="130" Title="$(loc.StrAFSDocDesc)">
+
+ <ComponentRef Id="rcm_Documentation" />
+
+ <ComponentRef Id="efl_Readme_TXT_$(var.Language)" />
+ <ComponentRef Id="cmf_index2_HTM_en_US" />
+ <ComponentRef Id="efl_DocHtml_en_US" />
+ <ComponentRef Id="cmp_Cmd_Ref_en_US" />
+ <ComponentRef Id="cmp_Install_Guide_en_US" />
+ <ComponentRef Id="cmp_Sys_Admin_Guide_en_US" />
+ <ComponentRef Id="cmp_Release_Notes_en_US" />
+ <ComponentRef Id="cmf_afs_nt_HLP_en_US" />
+ <ComponentRef Id="cmp_Lang_en_US" />
+
+ </Feature>
+ </Feature>
+</Include>
--- /dev/null
+<?xml version="1.0"?>
+<Include>
+ <Directory Id="WindowsFolder" Name="Windows">
+ <Component Id="efl_afsdcell_INI" Guid="009F9A2D-5B53-4449-824F-7B063AF6F81C" Permanent="yes" NeverOverwrite="yes">
+ <File Id="file_afsdcell_INI" Name="afsdcell.ini" LongName="afsdcell.ini" KeyPath="yes" DiskId="1" src="$(var.CellDbFile)"/>
+ </Component>
+ </Directory>
+ <Directory Id="ProgramFilesFolder" Name=".">
+ <Directory Id="AFSDIR" Name="OpenAFS" SourceName=".">
+ <Directory Id="dirCommon" Name="Common" LongName="Common" SourceName=".">
+ <Component Id="cmp_CommonDir" Guid="C86B03A1-AE97-48B1-A77B-1B2395F1E117" KeyPath="yes">
+ <Environment Id="envCommon" Name="PATH" Action="create" System="yes" Permanent="no" Part="last" Separator=";" Value="[AFSDIR]Common" />
+ <CreateFolder />
+ </Component>
+ <Component Id="cmf_afsbosadmin_DLL" Guid="B4E5799E-BC68-4C17-B924-7DA206DD88D7">
+ <File Id="fileafsbosadmin_DLL" Name="afsbosad.dll" LongName="afsbosadmin.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsbosadmin.dll"/>
+ </Component>
+ <Component Id="cmf_afscfgadmin_DLL" Guid="2D5E8B3A-55F2-43CC-953B-7630FF0A7326">
+ <File Id="fileafscfgadmin_DLL" Name="afscfgad.dll" LongName="afscfgadmin.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afscfgadmin.dll"/>
+ </Component>
+ <Component Id="cmf_afsclientadmin_DLL" Guid="735F75B1-EBCF-4AE1-B401-D48A1DD160F2">
+ <File Id="fileafsclientadmin_DLL" Name="afscliad.dll" LongName="afsclientadmin.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsclientadmin.dll"/>
+ </Component>
+ <Component Id="cmf_afskasadmin_DLL" Guid="2B4E37E4-ECEA-4435-8028-D60BAC9C647B">
+ <File Id="fileafskasadmin_DLL" Name="afskasad.dll" LongName="afskasadmin.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afskasadmin.dll"/>
+ </Component>
+ <Component Id="cmf_afsptsadmin_DLL" Guid="CC902A5A-5CEF-47D1-B4ED-F922EB8F7FF0">
+ <File Id="fileafsptsadmin_DLL" Name="afsptsad.dll" LongName="afsptsadmin.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsptsadmin.dll"/>
+ </Component>
+ <Component Id="cmf_afsvosadmin_DLL" Guid="A97E0801-06A5-465C-99E1-E5F0E07166F0">
+ <File Id="fileafsvosadmin_DLL" Name="afsvosad.dll" LongName="afsvosadmin.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsvosadmin.dll"/>
+ </Component>
+ <Component Id="cmf_afsadminutil_DLL" Guid="A9782D0F-768F-40F4-A600-A7240EFBEC8C">
+ <File Id="fileafsadminutil_DLL" Name="afsadmut.dll" LongName="afsadminutil.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsadminutil.dll"/>
+ </Component>
+ <Component Id="cmf_afsrpc_DLL" Guid="E75E2FC0-D011-494A-8142-670B3286C5C2">
+ <File Id="fileafsrpc_DLL" Name="afsrpc.dll" LongName="afsrpc.dll" KeyPath="yes" DiskId="1" src="$(var.LibDir)\afsrpc.dll"/>
+ </Component>
+ <Component Id="cmf_afsauthent2_DLL" Guid="7B806F96-0542-4BCC-865B-E126CE3BCDA6">
+ <File Id="fileafsauthent2_DLL" Name="afsauth.dll" LongName="afsauthent.dll" KeyPath="yes" DiskId="1" src="$(var.LibDir)\afsauthent.dll"/>
+ </Component>
+ <Component Id="cmf_afspthread_DLL" Guid="77650315-9F19-47BF-A923-54B77DA5EA5C">
+ <File Id="fileafspthread_DLL" Name="afspthrd.dll" LongName="afspthread.dll" KeyPath="yes" DiskId="1" src="$(var.LibDir)\afspthread.dll"/>
+ </Component>
+ <Component Id="cmf_TaAfsAppLib_DLL" Guid="D6D8A744-2352-477D-9ECD-4859C475162B">
+ <File Id="fileTaAfsAppLib_DLL" Name="TaAfsApL.dll" LongName="TaAfsAppLib.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsAppLib.dll"/>
+ </Component>
+ <Component Id="cmf_afsprocmgmt_DLL" Guid="DAAA35B5-0E95-4DEF-9E87-A99A0A24B0BE">
+ <File Id="fileafsprocmgmt_DLL" Name="afsprcmg.dll" LongName="afsprocmgmt.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsprocmgmt.dll"/>
+ </Component>
+ <Component Id="cmf_afs_config_EXE" Guid="3E73EA24-4B0D-4834-96C3-8AF38FDBCA6F">
+ <File Id="fileafs_config_EXE" Name="afs_cfg.exe" LongName="afs_config.exe" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afs_config.exe"/>
+ </Component>
+
+ <?ifdef Debug?>
+ <Component Id="cmp_ServerCommonDebug" Guid="4132C211-5577-48DE-9C66-214EEC0E6BC4">
+ <File Id="fileafsbosadmin_PDB" Name="afsbosad.pdb" LongName="afsbosadmin.pdb" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsbosadmin.pdb"/>
+ <File Id="fileafscfgadmin_PDB" Name="afscfgad.pdb" LongName="afscfgadmin.pdb" DiskId="1" src="$(var.ServerDir)\afscfgadmin.pdb"/>
+ <File Id="fileafsclientadmin_PDB" Name="afscliad.pdb" LongName="afsclientadmin.pdb" DiskId="1" src="$(var.ServerDir)\afsclientadmin.pdb"/>
+ <File Id="fileafskasadmin_PDB" Name="afskasad.pdb" LongName="afskasadmin.pdb" DiskId="1" src="$(var.ServerDir)\afskasadmin.pdb"/>
+ <File Id="fileafsptsadmin_PDB" Name="afsptsad.pdb" LongName="afsptsadmin.pdb" DiskId="1" src="$(var.ServerDir)\afsptsadmin.pdb"/>
+ <File Id="fileafsvosadmin_PDB" Name="afsvosad.pdb" LongName="afsvosadmin.pdb" DiskId="1" src="$(var.ServerDir)\afsvosadmin.pdb"/>
+ <File Id="fileafsadminutil_PDB" Name="afsadmut.pdb" LongName="afsadminutil.pdb" DiskId="1" src="$(var.ServerDir)\afsadminutil.pdb"/>
+ <File Id="fileTaAfsAppLib_PDB" Name="TaAfsApL.pdb" LongName="TaAfsAppLib.pdb" DiskId="1" src="$(var.ServerDir)\TaAfsAppLib.pdb"/>
+ <File Id="fileafsprocmgmt_PDB" Name="afsprcmg.pdb" LongName="afsprocmgmt.pdb" DiskId="1" src="$(var.ServerDir)\afsprocmgmt.pdb"/>
+ </Component>
+ <Component Id="cmp_CommonCommonDebug" Guid="7F47902F-B92D-42A3-BDEF-AFFC79C66F0C">
+ <File Id="fileafsrpc_PDB" Name="afsrpc.pdb" LongName="afsrpc.pdb" KeyPath="yes" DiskId="1" src="$(var.LibDir)\afsrpc.pdb"/>
+ <File Id="fileafsauthent_PDB" Name="afsauth.pdb" LongName="afsauthent.pdb" DiskId="1" src="$(var.LibDir)\afsauthent.pdb"/>
+ <File Id="fileafspthread_PDB" Name="afspthrd.pdb" LongName="afspthread.pdb" DiskId="1" src="$(var.LibDir)\afspthread.pdb"/>
+ </Component>
+ <Component Id="cmp_ClientCommonDebug" Guid="BFA4097D-3013-46AD-86EB-2160376FB55C">
+ <File Id="fileafs_config_PDB" Name="afs_cfg.pdb" LongName="afs_config.pdb" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afs_config.pdb"/>
+ </Component>
+ <?endif?>
+
+ <!-- <<LanguageSpecific:1033/en_US>> -->
+ <?if $(var.Language) ="en_US"?>
+ <Component Id="cmf_afseventmsg_1033_DLL" Guid="2DBBE232-2DA5-421F-9C83-93278598634A">
+ <File Id="fileafseventmsg_1033_DLL" Name="afse1033.dll" LongName="afseventmsg_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afseventmsg_1033.dll"/>
+ </Component>
+ <Component Id="cmf_afsserver_1033_DLL" Guid="2EC8BA3C-0A5C-48C5-A370-36265C43A93F">
+ <File Id="fileafsserver_1033_DLL" Name="afss1033.dll" LongName="afsserver_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afsserver_1033.dll"/>
+ </Component>
+ <Component Id="cmf_afssvrcfg_1033_DLL" Guid="70F7B4AA-E89F-4786-A3F1-27725E613F53">
+ <File Id="fileafssvrcfg_1033_DLL" Name="afsv1033.dll" LongName="afssvrcfg_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\afssvrcfg_1033.dll"/>
+ </Component>
+ <Component Id="cmf_TaAfsAccountManager_1033_DLL" Guid="1BD9FA36-3DD8-4AA4-B7C0-9AC26D872068">
+ <File Id="fileTaAfsAccountManager_1033_DLL" Name="tacm1033.dll" LongName="TaAfsAccountManager_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsAccountManager_1033.dll"/>
+ </Component>
+ <Component Id="cmf_TaAfsAppLib_1033_DLL" Guid="40989EC2-EB2B-495A-BA6D-5E22AB785457">
+ <File Id="fileTaAfsAppLib_1033_DLL" Name="taal1033.dll" LongName="TaAfsAppLib_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsAppLib_1033.dll"/>
+ </Component>
+ <Component Id="cmf_TaAfsServerManager_1033_DLL" Guid="54876C77-299F-496B-A5D0-F89DF8759A40">
+ <File Id="fileTaAfsServerManager_1033_DLL" Name="tasm1033.dll" LongName="TaAfsServerManager_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsServerManager_1033.dll"/>
+ </Component>
+ <Component Id="cmf_afscreds_1033_DLL" Guid="76AC935C-E558-4D1C-810D-47F3A8923429">
+ <File Id="fileafscreds_1033_DLL" Name="acrd1033.dll" LongName="afscreds_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afscreds_1033.dll"/>
+ </Component>
+ <Component Id="cmf_afs_config_1033_DLL" Guid="6DE08ED9-2B64-4D39-A50E-62FEAC91DF88">
+ <File Id="fileafs_config_1033_DLL" Name="acfg1033.dll" LongName="afs_config_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afs_config_1033.dll"/>
+ </Component>
+ <Component Id="cmf_afs_cpa_1033_DLL" Guid="12EE2B31-4320-4A6B-90F7-7A03ECF5A0DA">
+ <File Id="fileafs_cpa_1033_DLL" Name="acpa1033.dll" LongName="afs_cpa_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afs_cpa_1033.dll"/>
+ </Component>
+ <Component Id="cmf_afs_shl_ext_1033_DLL" Guid="9FF6C6CA-C731-4319-8777-E6DBAEFC3A4B">
+ <File Id="fileafs_shl_ext_1033_DLL" Name="ashl1033.dll" LongName="afs_shl_ext_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afs_shl_ext_1033.dll"/>
+ </Component>
+
+ <Directory Id="dirCommon_en_US" Name="en_US" LongName="en_US" SourceName="." src="$(var.SrcDir)\WINNT\doc\help\en_US\">
+ <Component Id="cmf_afs_nt_HLP_en_US" Guid="A59FF1E3-984F-47E0-8A65-590A01B6E1C4">
+ <File Id="fileafs_nt_HLP_en_US" Name="afs-nt.hlp" LongName="afs-nt.hlp" KeyPath="yes" DiskId="1">
+ <Shortcut Id="scClientHelp_en_US" Directory="dirShortCut" Name="CliHelp.lnk" LongName="Client Help.lnk" Description="$(loc.StrHlpFileDesc)" Icon="ico_Help" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ </File>
+ <File Id="fileafs_nt2_CNT_en_US" Name="afs-nt.cnt" LongName="afs-nt.cnt" DiskId="1" />
+ </Component>
+
+ <Component Id="cmp_Lang_en_US" Guid="9B6B5AB2-8BD1-402D-BFC0-63255740A653">
+ <File Id="filetaafssvrmgr_CNT_en_US" Name="taafs.cnt" LongName="taafssvrmgr.cnt" DiskId="1" />
+ <File Id="filetaafsusrmgr_CNT_en_US" Name="taafsusr.cnt" LongName="taafsusrmgr.cnt" DiskId="1" />
+ <File Id="fileafs_cc_CNT_en_US" Name="afs-cc.cnt" LongName="afs-cc.cnt" DiskId="1" />
+ <File Id="fileafs_light_CNT_en_US" Name="afs-lgt.cnt" LongName="afs-light.cnt" DiskId="1" />
+ <File Id="filetaafscfg_CNT_en_US" Name="taafscfg.cnt" LongName="taafscfg.cnt" DiskId="1" />
+ <File Id="filetaafssvrmgr2_HLP_en_US" Name="taafsvrm.hlp" LongName="taafssvrmgr.hlp" KeyPath="yes" DiskId="1" />
+ <File Id="filetaafsusrmgr2_HLP_en_US" Name="taafusrm.hlp" LongName="taafsusrmgr.hlp" DiskId="1" />
+ <File Id="fileafs_cc2_HLP_en_US" Name="afs-cc.hlp" LongName="afs-cc.hlp" DiskId="1" />
+ <File Id="fileafs_light2_HLP_en_US" Name="afs-lgt.hlp" LongName="afs-light.hlp" DiskId="1" />
+ <File Id="filetaafscfg2_HLP_en_US" Name="taafscfg.hlp" LongName="taafscfg.hlp" DiskId="1" />
+ </Component>
+ </Directory>
+ <?endif?>
+ <!-- <</LanguageSpecific:1033/en_US>> -->
+
+ <!-- Runtime libraries -->
+ <?ifndef Debug?>
+ <?if $(env.AFSVER_CL) = "1310"?>
+ <?ifdef comment?>
+ While we would love to just use the merge modules, they are unfortunately
+ non-retargetable. Therefore we just use the DLLs directly.
+ <Merge Id="mergeVC1310LibMFC" Language="$(var.LanguageCode)" DiskId="1" FileCompression="yes" src="$(env.PROGRAMFILES)\Common Files\Merge Modules\VC_User_MFC71_RTL_X86_---.msm" />
+ <Merge Id="mergeVC1310LibCRT" Language="$(var.LanguageCode)" DiskId="1" FileCompression="yes" src="$(env.PROGRAMFILES)\Common Files\Merge Modules\VC_User_CRT71_RTL_X86_---.msm" />
+ <?else?>
+ <Component Id="cmp_VC1310msvcr71" Guid="EBD3B721-A613-4457-BB9A-FF9EC1AC541C">
+ <File Id="filemsvcr71_DLL" Name="msvcr71.dll" LongName="msvcr71.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcr71.dll" />
+ </Component>
+ <Component Id="cmp_VC1310msvcp71" Guid="0598EFE6-A755-46E1-95F6-31FD0999D4C6">
+ <File Id="filemsvcp71_DLL" Name="msvcp71.dll" LongName="msvcp71.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp71.dll" />
+ </Component>
+ <Component Id="cmp_VC1310mfc71" Guid="40B16D8F-919E-4D65-8AE7-383EFD8D9885">
+ <File Id="filemfc71_DLL" Name="mfc71.dll" LongName="mfc71.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc71.dll" />
+ </Component>
+ <Component Id="cmp_VC1310mfc71u" Guid="846BF4DC-14D3-4FFE-97EA-A5C17F5B667F">
+ <File Id="filemfc71u_DLL" Name="mfc71u.dll" LongName="mfc71u.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc71u.dll" />
+ </Component>
+ <?endif?>
+ <?elseif $(env.AFSVER_CL) = "1300"?>
+ <Merge Id="mergeVC1300LibMFC" Language="$(var.LanguageCode)" DiskId="1" FileCompression="yes" src="$(env.PROGRAMFILES)\Common Files\Merge Modules\VC_User_MFC70_RTL_X86_---.msm" />
+ <Merge Id="mergeVC1300LibCRT" Language="$(var.LanguageCode)" DiskId="1" FileCompression="yes" src="$(env.PROGRAMFILES)\Common Files\Merge Modules\VC_User_CRT70_RTL_X86_---.msm" />
+ <?elseif $(env.AFSVER_CL) = "1200"?>
+ <Component Id="cmpVC1200msvcrt" Guid="718CDA4A-532F-43E8-9618-4D3CFE27D730">
+ <File Id="filemsvcrt_DLL" Name="msvcrt.dll" LongName="msvcrt.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcrt.dll" />
+ </Component>
+ <Component Id="cmpVC1200msvcp60" Guid="B20EE912-9C5D-4DAB-95BC-DB2249FED3EF">
+ <File Id="filemsvcp60_DLL" Name="msvcp60.dll" LongName="msvcp60.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp60.dll" />
+ </Component>
+ <Component Id="cmpVC1200mfc42" Guid="2C16F608-AE33-45D1-B072-0C05E99482A7">
+ <File Id="filemfc42_DLL" Name="mfc42.dll" LongName="mfc42.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc42.dll" />
+ </Component>
+ <?endif?>
+ <?else?> <!-- Debug -->
+ <?if $(env.AFSVER_CL) = "1310"?>
+ <Component Id="cmp_VC1310msvcr71d" Guid="84D8212D-2F03-40B7-86CA-CB54F9DF05F3">
+ <File Id="filemsvcr71d_DLL" Name="msvcr71d.dll" LongName="msvcr71d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcr71d.dll" />
+ </Component>
+ <Component Id="cmp_VC1310msvcp71d" Guid="96CC7709-6945-4CDF-9A81-5F110FE1BAC0">
+ <File Id="filemsvcp71d_DLL" Name="msvcp71d.dll" LongName="msvcp71d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp71d.dll" />
+ </Component>
+ <Component Id="cmp_VC1310mfc71d" Guid="1A2898CE-9C5F-4191-8722-D198C31F17E0">
+ <File Id="filemfc71d_DLL" Name="mfc71d.dll" LongName="mfc71d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc71d.dll" />
+ </Component>
+ <Component Id="cmp_VC1310mfc71ud" Guid="4DCFABFC-B914-4805-BEFC-71C29D46730C">
+ <File Id="filemfc71ud_DLL" Name="mfc71ud.dll" LongName="mfc71ud.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc71ud.dll" />
+ </Component>
+ <Component Id="cmp_VC1310msvcr71dPDB" Guid="2F1BAF2D-F977-49C4-9971-C933206DEB17">
+ <File Id="filemsvcr71d_PDB" Name="msvcr71d.pdb" LongName="msvcr71d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcr71d.pdb" />
+ </Component>
+ <Component Id="cmp_VC1310msvcp71dPDB" Guid="4D8FE0AE-B926-4675-BF48-E6802802901D">
+ <File Id="filemsvcp71d_PDB" Name="msvcp71d.pdb" LongName="msvcp71d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp71d.pdb" />
+ </Component>
+ <Component Id="cmp_VC1310mfc71dPDB" Guid="BFC908C3-186A-4E27-8399-CCC65350B05E">
+ <File Id="filemfc71d_PDB" Name="mfc71d.pdb" LongName="mfc71d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc71d.pdb" />
+ </Component>
+ <Component Id="cmp_VC1310mfc71udPDB" Guid="B5DCF017-6FE3-49BC-9298-9D96EF90EAE8">
+ <File Id="filemfc71ud_PDB" Name="mfc71ud.pdb" LongName="mfc71ud.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc71ud.pdb" />
+ </Component>
+ <?elseif $(env.AFSVER_CL) = "1300"?>
+ <Component Id="cmp_VC1300msvcr70d" Guid="F54C0DDB-3BDC-4824-8A63-100CB01E4CA4">
+ <File Id="filemsvcr70d_DLL" Name="msvcr70d.dll" LongName="msvcr70d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcr70d.dll" />
+ </Component>
+ <Component Id="cmp_VC1300msvcp70d" Guid="F42363A0-20D6-43BD-AFB3-C22B6DFBFCB4">
+ <File Id="filemsvcp70d_DLL" Name="msvcp70d.dll" LongName="msvcp70d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp70d.dll" />
+ </Component>
+ <Component Id="cmp_VC1300mfc70d" Guid="635200A5-B02A-41FA-B1BD-8BCB97103E7D">
+ <File Id="filemfc70d_DLL" Name="mfc70d.dll" LongName="mfc70d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc70d.dll" />
+ </Component>
+ <Component Id="cmp_VC1300msvcr70dPDB" Guid="B8928CC3-F0D3-4BC1-9574-D35EA0F3F288">
+ <File Id="filemsvcr70d_PDB" Name="msvcr70d.pdb" LongName="msvcr70d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcr70d.pdb" />
+ </Component>
+ <Component Id="cmp_VC1300msvcp70dPDB" Guid="ED9F3A34-79E0-48F0-B474-612757E4B684">
+ <File Id="filemsvcp70d_PDB" Name="msvcp70d.pdb" LongName="msvcp70d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp70d.pdb" />
+ </Component>
+ <Component Id="cmp_VC1300mfc70dPDB" Guid="4A6939FA-C7AC-436A-9D2F-E2475C88F249">
+ <File Id="filemfc70d_PDB" Name="mfc70d.pdb" LongName="mfc70d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc70d.pdb" />
+ </Component>
+ <?elseif $(env.AFSVER_CL) = "1200"?>
+ <Component Id="cmp_VC1200msvcrtd" Guid="9EFFE734-020C-4748-B074-86E15B50B6E5">
+ <File Id="filemsvcrtd_DLL" Name="msvcrtd.dll" LongName="msvcrtd.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcrtd.dll" />
+ </Component>
+ <Component Id="cmp_VC1200msvcp60d" Guid="D2816BE5-7B0D-4245-8345-B2408644EDF1">
+ <File Id="filemsvcp60d_DLL" Name="msvcp60d.dll" LongName="msvcp60d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp60d.dll" />
+ </Component>
+ <Component Id="cmp_VC1200mfc42d" Guid="6D983D53-2E7F-48CE-953E-7A9D0215C6B8">
+ <File Id="filemfc42d_DLL" Name="mfc42d.dll" LongName="mfc42d.dll" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc42d.dll" />
+ </Component>
+ <Component Id="cmp_VC1200msvcrtdPDB" Guid="420C311B-EC0F-47CB-883A-06A82808C06B">
+ <File Id="filemsvcrtd_PDB" Name="msvcrtd.pdb" LongName="msvcrtd.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcrtd.pdb" />
+ </Component>
+ <Component Id="cmp_VC1200msvcp60dPDB" Guid="1523259A-1819-44B3-B2DA-59CEA7AA1DE6">
+ <File Id="filemsvcp60d_PDB" Name="msvcp60d.pdb" LongName="msvcp60d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)msvcp60d.pdb" />
+ </Component>
+ <Component Id="cmp_VC1200mfc42dPDB" Guid="60A1BE7B-86ED-4A4E-8374-943C2C7241E8">
+ <File Id="filemfc42d_PDB" Name="mfc42d.pdb" LongName="mfc42d.pdb" KeyPath="yes" DiskId="1" src="$(var.SystemDir)mfc42d.pdb" />
+ </Component>
+ <?endif?>
+ <?endif?>
+ </Directory> <!-- /common -->
+
+ <Directory Id="dirControl_Center" Name="Contr" LongName="Control Center" SourceName=".">
+ <Component Id="cmf_TaAfsServerManager_EXE" Guid="B890FB93-2EFD-44B6-8CB3-7A6AFABFF029">
+ <File Id="fileTaAfsServerManager_EXE" Name="TaAfsSvM.exe" LongName="TaAfsServerManager.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsServerManager.exe">
+ <Shortcut Id="scServerManager" Directory="dirShortCut" Name="SvrMgr.lnk" LongName="Server Manager.lnk" Description="$(loc.StrSvrMgrDesc)" Icon="ico_ServerManager" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ </File>
+ </Component>
+ <Component Id="cmf_TaAfsAdmSvr_EXE" Guid="99E23413-8261-4007-9DC9-B2C7453EF1EE">
+ <File Id="fileTaAfsAdmSvr_EXE" Name="TaAfsAdS.exe" LongName="TaAfsAdmSvr.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsAdmSvr.exe"/>
+ </Component>
+ <Component Id="cmf_TaAfsAccountManager_EXE" Guid="BDFA5B64-2A69-41D5-8260-3DAB3CE9A10B">
+ <File Id="fileTaAfsAccountManager_EXE" Name="TaAfsAcM.exe" LongName="TaAfsAccountManager.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsAccountManager.exe">
+ <Shortcut Id="scAcctManager" Directory="dirShortCut" Name="AcctMgr.lnk" LongName="Account Manager.lnk" Description="$(loc.StrAcctMgrDesc)" Icon="ico_AcctManager" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ </File>
+ </Component>
+ <?ifdef Debug?>
+ <Component Id="cmp_Control_CenterDebug" Guid="B14EEC50-8ADF-4FE4-B00F-431861A5620C">
+ <File Id="fileTaAfsServerManager_PDB" Name="TaAfsSvM.pdb" LongName="TaAfsServerManager.pdb" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\TaAfsServerManager.pdb"/>
+ <File Id="fileTaAfsAdmSvr_PDB" Name="TaAfsAdS.pdb" LongName="TaAfsAdmSvr.pdb" DiskId="1" src="$(var.ServerDir)\TaAfsAdmSvr.pdb"/>
+ <File Id="fileTaAfsAccountManager_PDB" Name="TaAfsAcM.pdb" LongName="TaAfsAccountManager.pdb" DiskId="1" src="$(var.ServerDir)\TaAfsAccountManager.pdb"/>
+ </Component>
+ <?endif?>
+ </Directory> <!-- /Control center -->
+
+ <?if $(var.Language) = "en_US"?>
+ <Component Id="efl_Readme_TXT_en_US" Guid="959DC63A-6C67-4B51-9F7D-2CDEE91F0099">
+ <File Id="fileREADME_TXT_en_US" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\en_US\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "zh_TW"?>
+ <Component Id="efl_Readme_TXT_zh_TW" Guid="BF25CD95-7BCD-4B0C-9999-B246199236F6">
+ <File Id="fileREADME_TXT_zh_TW" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\zh_TW\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "de_DE"?>
+ <Component Id="efl_Readme_TXT_de_DE" Guid="5F1433F0-C57D-46C8-857B-4265B95CEF24">
+ <File Id="fileREADME_TXT_de_DE" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\de_DE\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "es_ES"?>
+ <Component Id="efl_Readme_TXT_es_ES" Guid="8B0C573E-B33E-4EC5-8B3B-C08347FFAB79">
+ <File Id="fileREADME_TXT_es_ES" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\es_ES\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "ja_JP"?>
+ <Component Id="efl_Readme_TXT_ja_JP" Guid="5A15925E-00EB-4B00-A5BE-7461EE7D6C95">
+ <File Id="fileREADME_TXT_ja_JP" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\ja_JP\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "ko_KR"?>
+ <Component Id="efl_Readme_TXT_ko_KR" Guid="715D4A97-6356-41E8-8660-76D74DC88495">
+ <File Id="fileREADME_TXT_ko_KR" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\ko_KR\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "pt_BR"?>
+ <Component Id="efl_Readme_TXT_pt_BR" Guid="03682CAA-66D4-472F-86DE-C508F33AE50C">
+ <File Id="fileREADME_TXT_pt_BR" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\pt_BR\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <?if $(var.Language) = "zh_CN"?>
+ <Component Id="efl_Readme_TXT_zh_CN" Guid="6D1DD8B0-0D61-4BC4-976B-F72E087F83D4">
+ <File Id="fileREADME_TXT_zh_CN" Name="README.txt" LongName="README.txt" DiskId="1" src="$(var.SrcDir)\WINNT\doc\install\Documentation\zh_CN\README.txt"/>
+ </Component>
+ <?endif?>
+
+ <Directory Id="dirDocumentation" Name="Docum" LongName="Documentation" SourceName=".">
+ <!-- The following directory and everything below it is language dependent. -->
+ <Directory Id="dirDoc_$(var.Language)" Name="$(var.Language)" LongName="$(var.Language)" SourceName=".">
+ <Directory Id="dirHtml_$(var.Language)" Name="Html" LongName="Html" SourceName="." src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\">
+ <Component Id="cmf_index2_HTM_$(var.Language)" Guid="$(var.DocHtmlIndexGuid)">
+ <File Id="fileindex2_HTM_$(var.Language)" Name="index.htm" LongName="index.htm" KeyPath="yes" DiskId="1">
+ <Shortcut Id="scDoc_$(var.Language)" Directory="dirShortCut" Name="Doc$(var.Language).lnk" LongName="Documentation ($(var.Language)).lnk" Description="$(loc.StrDocLnkDesc)" Icon="ico_Help" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ </File>
+ </Component>
+ <Component Id="efl_DocHtml_$(var.Language)" Guid="$(var.DocHtmlGuid)">
+ <File Id="filebanner_GIF_$(var.Language)" Name="banner.gif" LongName="banner.gif" DiskId="1" />
+ <File Id="filebooks_GIF_$(var.Language)" Name="books.gif" LongName="books.gif" DiskId="1" />
+ <File Id="filebot_GIF_$(var.Language)" Name="bot.gif" LongName="bot.gif" DiskId="1" />
+ <File Id="fileindex_GIF_$(var.Language)" Name="index.gif" LongName="index.gif" DiskId="1" />
+ <File Id="filenext_GIF_$(var.Language)" Name="next.gif" LongName="next.gif" DiskId="1" />
+ <File Id="fileprev_GIF_$(var.Language)" Name="prev.gif" LongName="prev.gif" DiskId="1" />
+ <File Id="filetoc_GIF_$(var.Language)" Name="toc.gif" LongName="toc.gif" DiskId="1" />
+ <File Id="filetop_GIF_$(var.Language)" Name="top.gif" LongName="top.gif" DiskId="1" />
+ <File Id="file$(var.Language)_RTF" Name="$(var.Language).rtf" LongName="$(var.Language).rtf" KeyPath="yes" DiskId="1" src="$(var.SrcDir)\WINNT\license\lang\$(var.Language).rtf"/>
+ </Component>
+ <Directory Id="dirCmdRef_$(var.Language)" Name="CmdRef" LongName="CmdRef" SourceName="." src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\CmdRef\">
+ <Component Id="cmp_Cmd_Ref_$(var.Language)" Guid="$(var.DocHtmlCmdRefGuid)">
+ <File Id="fileauarf000_HTM_$(var.Language)" Name="auarf000.htm" LongName="auarf000.htm" KeyPath="yes" DiskId="1" />
+ <File Id="fileauarf002_HTM_$(var.Language)" Name="auarf002.htm" LongName="auarf002.htm" DiskId="1" />
+ <File Id="fileauarf003_HTM_$(var.Language)" Name="auarf003.htm" LongName="auarf003.htm" DiskId="1" />
+ <File Id="fileauarf004_HTM_$(var.Language)" Name="auarf004.htm" LongName="auarf004.htm" DiskId="1" />
+ <File Id="fileauarf005_HTM_$(var.Language)" Name="auarf005.htm" LongName="auarf005.htm" DiskId="1" />
+ <File Id="fileauarf006_HTM_$(var.Language)" Name="auarf006.htm" LongName="auarf006.htm" DiskId="1" />
+ <File Id="fileauarf007_HTM_$(var.Language)" Name="auarf007.htm" LongName="auarf007.htm" DiskId="1" />
+ <File Id="fileauarf008_HTM_$(var.Language)" Name="auarf008.htm" LongName="auarf008.htm" DiskId="1" />
+ <File Id="fileauarf009_HTM_$(var.Language)" Name="auarf009.htm" LongName="auarf009.htm" DiskId="1" />
+ <File Id="fileauarf010_HTM_$(var.Language)" Name="auarf010.htm" LongName="auarf010.htm" DiskId="1" />
+ <File Id="fileauarf011_HTM_$(var.Language)" Name="auarf011.htm" LongName="auarf011.htm" DiskId="1" />
+ <File Id="fileauarf012_HTM_$(var.Language)" Name="auarf012.htm" LongName="auarf012.htm" DiskId="1" />
+ <File Id="fileauarf013_HTM_$(var.Language)" Name="auarf013.htm" LongName="auarf013.htm" DiskId="1" />
+ <File Id="fileauarf014_HTM_$(var.Language)" Name="auarf014.htm" LongName="auarf014.htm" DiskId="1" />
+ <File Id="fileauarf015_HTM_$(var.Language)" Name="auarf015.htm" LongName="auarf015.htm" DiskId="1" />
+ <File Id="fileauarf016_HTM_$(var.Language)" Name="auarf016.htm" LongName="auarf016.htm" DiskId="1" />
+ <File Id="fileauarf017_HTM_$(var.Language)" Name="auarf017.htm" LongName="auarf017.htm" DiskId="1" />
+ <File Id="fileauarf018_HTM_$(var.Language)" Name="auarf018.htm" LongName="auarf018.htm" DiskId="1" />
+ <File Id="fileauarf019_HTM_$(var.Language)" Name="auarf019.htm" LongName="auarf019.htm" DiskId="1" />
+ <File Id="fileauarf020_HTM_$(var.Language)" Name="auarf020.htm" LongName="auarf020.htm" DiskId="1" />
+ <File Id="fileauarf021_HTM_$(var.Language)" Name="auarf021.htm" LongName="auarf021.htm" DiskId="1" />
+ <File Id="fileauarf022_HTM_$(var.Language)" Name="auarf022.htm" LongName="auarf022.htm" DiskId="1" />
+ <File Id="fileauarf023_HTM_$(var.Language)" Name="auarf023.htm" LongName="auarf023.htm" DiskId="1" />
+ <File Id="fileauarf024_HTM_$(var.Language)" Name="auarf024.htm" LongName="auarf024.htm" DiskId="1" />
+ <File Id="fileauarf025_HTM_$(var.Language)" Name="auarf025.htm" LongName="auarf025.htm" DiskId="1" />
+ <File Id="fileauarf026_HTM_$(var.Language)" Name="auarf026.htm" LongName="auarf026.htm" DiskId="1" />
+ <File Id="fileauarf027_HTM_$(var.Language)" Name="auarf027.htm" LongName="auarf027.htm" DiskId="1" />
+ <File Id="fileauarf028_HTM_$(var.Language)" Name="auarf028.htm" LongName="auarf028.htm" DiskId="1" />
+ <File Id="fileauarf029_HTM_$(var.Language)" Name="auarf029.htm" LongName="auarf029.htm" DiskId="1" />
+ <File Id="fileauarf030_HTM_$(var.Language)" Name="auarf030.htm" LongName="auarf030.htm" DiskId="1" />
+ <File Id="fileauarf031_HTM_$(var.Language)" Name="auarf031.htm" LongName="auarf031.htm" DiskId="1" />
+ <File Id="fileauarf032_HTM_$(var.Language)" Name="auarf032.htm" LongName="auarf032.htm" DiskId="1" />
+ <File Id="fileauarf033_HTM_$(var.Language)" Name="auarf033.htm" LongName="auarf033.htm" DiskId="1" />
+ <File Id="fileauarf034_HTM_$(var.Language)" Name="auarf034.htm" LongName="auarf034.htm" DiskId="1" />
+ <File Id="fileauarf035_HTM_$(var.Language)" Name="auarf035.htm" LongName="auarf035.htm" DiskId="1" />
+ <File Id="fileauarf036_HTM_$(var.Language)" Name="auarf036.htm" LongName="auarf036.htm" DiskId="1" />
+ <File Id="fileauarf037_HTM_$(var.Language)" Name="auarf037.htm" LongName="auarf037.htm" DiskId="1" />
+ <File Id="fileauarf038_HTM_$(var.Language)" Name="auarf038.htm" LongName="auarf038.htm" DiskId="1" />
+ <File Id="fileauarf039_HTM_$(var.Language)" Name="auarf039.htm" LongName="auarf039.htm" DiskId="1" />
+ <File Id="fileauarf040_HTM_$(var.Language)" Name="auarf040.htm" LongName="auarf040.htm" DiskId="1" />
+ <File Id="fileauarf041_HTM_$(var.Language)" Name="auarf041.htm" LongName="auarf041.htm" DiskId="1" />
+ <File Id="fileauarf042_HTM_$(var.Language)" Name="auarf042.htm" LongName="auarf042.htm" DiskId="1" />
+ <File Id="fileauarf043_HTM_$(var.Language)" Name="auarf043.htm" LongName="auarf043.htm" DiskId="1" />
+ <File Id="fileauarf044_HTM_$(var.Language)" Name="auarf044.htm" LongName="auarf044.htm" DiskId="1" />
+ <File Id="fileauarf045_HTM_$(var.Language)" Name="auarf045.htm" LongName="auarf045.htm" DiskId="1" />
+ <File Id="fileauarf046_HTM_$(var.Language)" Name="auarf046.htm" LongName="auarf046.htm" DiskId="1" />
+ <File Id="fileauarf047_HTM_$(var.Language)" Name="auarf047.htm" LongName="auarf047.htm" DiskId="1" />
+ <File Id="fileauarf048_HTM_$(var.Language)" Name="auarf048.htm" LongName="auarf048.htm" DiskId="1" />
+ <File Id="fileauarf049_HTM_$(var.Language)" Name="auarf049.htm" LongName="auarf049.htm" DiskId="1" />
+ <File Id="fileauarf050_HTM_$(var.Language)" Name="auarf050.htm" LongName="auarf050.htm" DiskId="1" />
+ <File Id="fileauarf051_HTM_$(var.Language)" Name="auarf051.htm" LongName="auarf051.htm" DiskId="1" />
+ <File Id="fileauarf052_HTM_$(var.Language)" Name="auarf052.htm" LongName="auarf052.htm" DiskId="1" />
+ <File Id="fileauarf053_HTM_$(var.Language)" Name="auarf053.htm" LongName="auarf053.htm" DiskId="1" />
+ <File Id="fileauarf054_HTM_$(var.Language)" Name="auarf054.htm" LongName="auarf054.htm" DiskId="1" />
+ <File Id="fileauarf055_HTM_$(var.Language)" Name="auarf055.htm" LongName="auarf055.htm" DiskId="1" />
+ <File Id="fileauarf056_HTM_$(var.Language)" Name="auarf056.htm" LongName="auarf056.htm" DiskId="1" />
+ <File Id="fileauarf057_HTM_$(var.Language)" Name="auarf057.htm" LongName="auarf057.htm" DiskId="1" />
+ <File Id="fileauarf058_HTM_$(var.Language)" Name="auarf058.htm" LongName="auarf058.htm" DiskId="1" />
+ <File Id="fileauarf059_HTM_$(var.Language)" Name="auarf059.htm" LongName="auarf059.htm" DiskId="1" />
+ <File Id="fileauarf060_HTM_$(var.Language)" Name="auarf060.htm" LongName="auarf060.htm" DiskId="1" />
+ <File Id="fileauarf061_HTM_$(var.Language)" Name="auarf061.htm" LongName="auarf061.htm" DiskId="1" />
+ <File Id="fileauarf062_HTM_$(var.Language)" Name="auarf062.htm" LongName="auarf062.htm" DiskId="1" />
+ <File Id="fileauarf063_HTM_$(var.Language)" Name="auarf063.htm" LongName="auarf063.htm" DiskId="1" />
+ <File Id="fileauarf064_HTM_$(var.Language)" Name="auarf064.htm" LongName="auarf064.htm" DiskId="1" />
+ <File Id="fileauarf065_HTM_$(var.Language)" Name="auarf065.htm" LongName="auarf065.htm" DiskId="1" />
+ <File Id="fileauarf066_HTM_$(var.Language)" Name="auarf066.htm" LongName="auarf066.htm" DiskId="1" />
+ <File Id="fileauarf067_HTM_$(var.Language)" Name="auarf067.htm" LongName="auarf067.htm" DiskId="1" />
+ <File Id="fileauarf068_HTM_$(var.Language)" Name="auarf068.htm" LongName="auarf068.htm" DiskId="1" />
+ <File Id="fileauarf069_HTM_$(var.Language)" Name="auarf069.htm" LongName="auarf069.htm" DiskId="1" />
+ <File Id="fileauarf070_HTM_$(var.Language)" Name="auarf070.htm" LongName="auarf070.htm" DiskId="1" />
+ <File Id="fileauarf071_HTM_$(var.Language)" Name="auarf071.htm" LongName="auarf071.htm" DiskId="1" />
+ <File Id="fileauarf072_HTM_$(var.Language)" Name="auarf072.htm" LongName="auarf072.htm" DiskId="1" />
+ <File Id="fileauarf073_HTM_$(var.Language)" Name="auarf073.htm" LongName="auarf073.htm" DiskId="1" />
+ <File Id="fileauarf074_HTM_$(var.Language)" Name="auarf074.htm" LongName="auarf074.htm" DiskId="1" />
+ <File Id="fileauarf075_HTM_$(var.Language)" Name="auarf075.htm" LongName="auarf075.htm" DiskId="1" />
+ <File Id="fileauarf076_HTM_$(var.Language)" Name="auarf076.htm" LongName="auarf076.htm" DiskId="1" />
+ <File Id="fileauarf077_HTM_$(var.Language)" Name="auarf077.htm" LongName="auarf077.htm" DiskId="1" />
+ <File Id="fileauarf078_HTM_$(var.Language)" Name="auarf078.htm" LongName="auarf078.htm" DiskId="1" />
+ <File Id="fileauarf079_HTM_$(var.Language)" Name="auarf079.htm" LongName="auarf079.htm" DiskId="1" />
+ <File Id="fileauarf080_HTM_$(var.Language)" Name="auarf080.htm" LongName="auarf080.htm" DiskId="1" />
+ <File Id="fileauarf081_HTM_$(var.Language)" Name="auarf081.htm" LongName="auarf081.htm" DiskId="1" />
+ <File Id="fileauarf082_HTM_$(var.Language)" Name="auarf082.htm" LongName="auarf082.htm" DiskId="1" />
+ <File Id="fileauarf083_HTM_$(var.Language)" Name="auarf083.htm" LongName="auarf083.htm" DiskId="1" />
+ <File Id="fileauarf084_HTM_$(var.Language)" Name="auarf084.htm" LongName="auarf084.htm" DiskId="1" />
+ <File Id="fileauarf085_HTM_$(var.Language)" Name="auarf085.htm" LongName="auarf085.htm" DiskId="1" />
+ <File Id="fileauarf086_HTM_$(var.Language)" Name="auarf086.htm" LongName="auarf086.htm" DiskId="1" />
+ <File Id="fileauarf087_HTM_$(var.Language)" Name="auarf087.htm" LongName="auarf087.htm" DiskId="1" />
+ <File Id="fileauarf088_HTM_$(var.Language)" Name="auarf088.htm" LongName="auarf088.htm" DiskId="1" />
+ <File Id="fileauarf089_HTM_$(var.Language)" Name="auarf089.htm" LongName="auarf089.htm" DiskId="1" />
+ <File Id="fileauarf090_HTM_$(var.Language)" Name="auarf090.htm" LongName="auarf090.htm" DiskId="1" />
+ <File Id="fileauarf091_HTM_$(var.Language)" Name="auarf091.htm" LongName="auarf091.htm" DiskId="1" />
+ <File Id="fileauarf092_HTM_$(var.Language)" Name="auarf092.htm" LongName="auarf092.htm" DiskId="1" />
+ <File Id="fileauarf093_HTM_$(var.Language)" Name="auarf093.htm" LongName="auarf093.htm" DiskId="1" />
+ <File Id="fileauarf094_HTM_$(var.Language)" Name="auarf094.htm" LongName="auarf094.htm" DiskId="1" />
+ <File Id="fileauarf095_HTM_$(var.Language)" Name="auarf095.htm" LongName="auarf095.htm" DiskId="1" />
+ <File Id="fileauarf096_HTM_$(var.Language)" Name="auarf096.htm" LongName="auarf096.htm" DiskId="1" />
+ <File Id="fileauarf097_HTM_$(var.Language)" Name="auarf097.htm" LongName="auarf097.htm" DiskId="1" />
+ <File Id="fileauarf098_HTM_$(var.Language)" Name="auarf098.htm" LongName="auarf098.htm" DiskId="1" />
+ <File Id="fileauarf099_HTM_$(var.Language)" Name="auarf099.htm" LongName="auarf099.htm" DiskId="1" />
+ <File Id="fileauarf100_HTM_$(var.Language)" Name="auarf100.htm" LongName="auarf100.htm" DiskId="1" />
+ <File Id="fileauarf101_HTM_$(var.Language)" Name="auarf101.htm" LongName="auarf101.htm" DiskId="1" />
+ <File Id="fileauarf102_HTM_$(var.Language)" Name="auarf102.htm" LongName="auarf102.htm" DiskId="1" />
+ <File Id="fileauarf103_HTM_$(var.Language)" Name="auarf103.htm" LongName="auarf103.htm" DiskId="1" />
+ <File Id="fileauarf104_HTM_$(var.Language)" Name="auarf104.htm" LongName="auarf104.htm" DiskId="1" />
+ <File Id="fileauarf105_HTM_$(var.Language)" Name="auarf105.htm" LongName="auarf105.htm" DiskId="1" />
+ <File Id="fileauarf106_HTM_$(var.Language)" Name="auarf106.htm" LongName="auarf106.htm" DiskId="1" />
+ <File Id="fileauarf107_HTM_$(var.Language)" Name="auarf107.htm" LongName="auarf107.htm" DiskId="1" />
+ <File Id="fileauarf108_HTM_$(var.Language)" Name="auarf108.htm" LongName="auarf108.htm" DiskId="1" />
+ <File Id="fileauarf109_HTM_$(var.Language)" Name="auarf109.htm" LongName="auarf109.htm" DiskId="1" />
+ <File Id="fileauarf110_HTM_$(var.Language)" Name="auarf110.htm" LongName="auarf110.htm" DiskId="1" />
+ <File Id="fileauarf111_HTM_$(var.Language)" Name="auarf111.htm" LongName="auarf111.htm" DiskId="1" />
+ <File Id="fileauarf112_HTM_$(var.Language)" Name="auarf112.htm" LongName="auarf112.htm" DiskId="1" />
+ <File Id="fileauarf113_HTM_$(var.Language)" Name="auarf113.htm" LongName="auarf113.htm" DiskId="1" />
+ <File Id="fileauarf114_HTM_$(var.Language)" Name="auarf114.htm" LongName="auarf114.htm" DiskId="1" />
+ <File Id="fileauarf115_HTM_$(var.Language)" Name="auarf115.htm" LongName="auarf115.htm" DiskId="1" />
+ <File Id="fileauarf116_HTM_$(var.Language)" Name="auarf116.htm" LongName="auarf116.htm" DiskId="1" />
+ <File Id="fileauarf117_HTM_$(var.Language)" Name="auarf117.htm" LongName="auarf117.htm" DiskId="1" />
+ <File Id="fileauarf118_HTM_$(var.Language)" Name="auarf118.htm" LongName="auarf118.htm" DiskId="1" />
+ <File Id="fileauarf119_HTM_$(var.Language)" Name="auarf119.htm" LongName="auarf119.htm" DiskId="1" />
+ <File Id="fileauarf120_HTM_$(var.Language)" Name="auarf120.htm" LongName="auarf120.htm" DiskId="1" />
+ <File Id="fileauarf121_HTM_$(var.Language)" Name="auarf121.htm" LongName="auarf121.htm" DiskId="1" />
+ <File Id="fileauarf122_HTM_$(var.Language)" Name="auarf122.htm" LongName="auarf122.htm" DiskId="1" />
+ <File Id="fileauarf123_HTM_$(var.Language)" Name="auarf123.htm" LongName="auarf123.htm" DiskId="1" />
+ <File Id="fileauarf124_HTM_$(var.Language)" Name="auarf124.htm" LongName="auarf124.htm" DiskId="1" />
+ <File Id="fileauarf125_HTM_$(var.Language)" Name="auarf125.htm" LongName="auarf125.htm" DiskId="1" />
+ <File Id="fileauarf126_HTM_$(var.Language)" Name="auarf126.htm" LongName="auarf126.htm" DiskId="1" />
+ <File Id="fileauarf127_HTM_$(var.Language)" Name="auarf127.htm" LongName="auarf127.htm" DiskId="1" />
+ <File Id="fileauarf128_HTM_$(var.Language)" Name="auarf128.htm" LongName="auarf128.htm" DiskId="1" />
+ <File Id="fileauarf129_HTM_$(var.Language)" Name="auarf129.htm" LongName="auarf129.htm" DiskId="1" />
+ <File Id="fileauarf130_HTM_$(var.Language)" Name="auarf130.htm" LongName="auarf130.htm" DiskId="1" />
+ <File Id="fileauarf131_HTM_$(var.Language)" Name="auarf131.htm" LongName="auarf131.htm" DiskId="1" />
+ <File Id="fileauarf132_HTM_$(var.Language)" Name="auarf132.htm" LongName="auarf132.htm" DiskId="1" />
+ <File Id="fileauarf133_HTM_$(var.Language)" Name="auarf133.htm" LongName="auarf133.htm" DiskId="1" />
+ <File Id="fileauarf134_HTM_$(var.Language)" Name="auarf134.htm" LongName="auarf134.htm" DiskId="1" />
+ <File Id="fileauarf135_HTM_$(var.Language)" Name="auarf135.htm" LongName="auarf135.htm" DiskId="1" />
+ <File Id="fileauarf136_HTM_$(var.Language)" Name="auarf136.htm" LongName="auarf136.htm" DiskId="1" />
+ <File Id="fileauarf137_HTM_$(var.Language)" Name="auarf137.htm" LongName="auarf137.htm" DiskId="1" />
+ <File Id="fileauarf138_HTM_$(var.Language)" Name="auarf138.htm" LongName="auarf138.htm" DiskId="1" />
+ <File Id="fileauarf139_HTM_$(var.Language)" Name="auarf139.htm" LongName="auarf139.htm" DiskId="1" />
+ <File Id="fileauarf140_HTM_$(var.Language)" Name="auarf140.htm" LongName="auarf140.htm" DiskId="1" />
+ <File Id="fileauarf141_HTM_$(var.Language)" Name="auarf141.htm" LongName="auarf141.htm" DiskId="1" />
+ <File Id="fileauarf142_HTM_$(var.Language)" Name="auarf142.htm" LongName="auarf142.htm" DiskId="1" />
+ <File Id="fileauarf143_HTM_$(var.Language)" Name="auarf143.htm" LongName="auarf143.htm" DiskId="1" />
+ <File Id="fileauarf144_HTM_$(var.Language)" Name="auarf144.htm" LongName="auarf144.htm" DiskId="1" />
+ <File Id="fileauarf145_HTM_$(var.Language)" Name="auarf145.htm" LongName="auarf145.htm" DiskId="1" />
+ <File Id="fileauarf146_HTM_$(var.Language)" Name="auarf146.htm" LongName="auarf146.htm" DiskId="1" />
+ <File Id="fileauarf147_HTM_$(var.Language)" Name="auarf147.htm" LongName="auarf147.htm" DiskId="1" />
+ <File Id="fileauarf148_HTM_$(var.Language)" Name="auarf148.htm" LongName="auarf148.htm" DiskId="1" />
+ <File Id="fileauarf149_HTM_$(var.Language)" Name="auarf149.htm" LongName="auarf149.htm" DiskId="1" />
+ <File Id="fileauarf150_HTM_$(var.Language)" Name="auarf150.htm" LongName="auarf150.htm" DiskId="1" />
+ <File Id="fileauarf151_HTM_$(var.Language)" Name="auarf151.htm" LongName="auarf151.htm" DiskId="1" />
+ <File Id="fileauarf152_HTM_$(var.Language)" Name="auarf152.htm" LongName="auarf152.htm" DiskId="1" />
+ <File Id="fileauarf153_HTM_$(var.Language)" Name="auarf153.htm" LongName="auarf153.htm" DiskId="1" />
+ <File Id="fileauarf154_HTM_$(var.Language)" Name="auarf154.htm" LongName="auarf154.htm" DiskId="1" />
+ <File Id="fileauarf155_HTM_$(var.Language)" Name="auarf155.htm" LongName="auarf155.htm" DiskId="1" />
+ <File Id="fileauarf156_HTM_$(var.Language)" Name="auarf156.htm" LongName="auarf156.htm" DiskId="1" />
+ <File Id="fileauarf157_HTM_$(var.Language)" Name="auarf157.htm" LongName="auarf157.htm" DiskId="1" />
+ <File Id="fileauarf158_HTM_$(var.Language)" Name="auarf158.htm" LongName="auarf158.htm" DiskId="1" />
+ <File Id="fileauarf159_HTM_$(var.Language)" Name="auarf159.htm" LongName="auarf159.htm" DiskId="1" />
+ <File Id="fileauarf160_HTM_$(var.Language)" Name="auarf160.htm" LongName="auarf160.htm" DiskId="1" />
+ <File Id="fileauarf161_HTM_$(var.Language)" Name="auarf161.htm" LongName="auarf161.htm" DiskId="1" />
+ <File Id="fileauarf162_HTM_$(var.Language)" Name="auarf162.htm" LongName="auarf162.htm" DiskId="1" />
+ <File Id="fileauarf163_HTM_$(var.Language)" Name="auarf163.htm" LongName="auarf163.htm" DiskId="1" />
+ <File Id="fileauarf164_HTM_$(var.Language)" Name="auarf164.htm" LongName="auarf164.htm" DiskId="1" />
+ <File Id="fileauarf165_HTM_$(var.Language)" Name="auarf165.htm" LongName="auarf165.htm" DiskId="1" />
+ <File Id="fileauarf166_HTM_$(var.Language)" Name="auarf166.htm" LongName="auarf166.htm" DiskId="1" />
+ <File Id="fileauarf167_HTM_$(var.Language)" Name="auarf167.htm" LongName="auarf167.htm" DiskId="1" />
+ <File Id="fileauarf168_HTM_$(var.Language)" Name="auarf168.htm" LongName="auarf168.htm" DiskId="1" />
+ <File Id="fileauarf169_HTM_$(var.Language)" Name="auarf169.htm" LongName="auarf169.htm" DiskId="1" />
+ <File Id="fileauarf170_HTM_$(var.Language)" Name="auarf170.htm" LongName="auarf170.htm" DiskId="1" />
+ <File Id="fileauarf171_HTM_$(var.Language)" Name="auarf171.htm" LongName="auarf171.htm" DiskId="1" />
+ <File Id="fileauarf172_HTM_$(var.Language)" Name="auarf172.htm" LongName="auarf172.htm" DiskId="1" />
+ <File Id="fileauarf173_HTM_$(var.Language)" Name="auarf173.htm" LongName="auarf173.htm" DiskId="1" />
+ <File Id="fileauarf174_HTM_$(var.Language)" Name="auarf174.htm" LongName="auarf174.htm" DiskId="1" />
+ <File Id="fileauarf175_HTM_$(var.Language)" Name="auarf175.htm" LongName="auarf175.htm" DiskId="1" />
+ <File Id="fileauarf176_HTM_$(var.Language)" Name="auarf176.htm" LongName="auarf176.htm" DiskId="1" />
+ <File Id="fileauarf177_HTM_$(var.Language)" Name="auarf177.htm" LongName="auarf177.htm" DiskId="1" />
+ <File Id="fileauarf178_HTM_$(var.Language)" Name="auarf178.htm" LongName="auarf178.htm" DiskId="1" />
+ <File Id="fileauarf179_HTM_$(var.Language)" Name="auarf179.htm" LongName="auarf179.htm" DiskId="1" />
+ <File Id="fileauarf180_HTM_$(var.Language)" Name="auarf180.htm" LongName="auarf180.htm" DiskId="1" />
+ <File Id="fileauarf181_HTM_$(var.Language)" Name="auarf181.htm" LongName="auarf181.htm" DiskId="1" />
+ <File Id="fileauarf182_HTM_$(var.Language)" Name="auarf182.htm" LongName="auarf182.htm" DiskId="1" />
+ <File Id="fileauarf183_HTM_$(var.Language)" Name="auarf183.htm" LongName="auarf183.htm" DiskId="1" />
+ <File Id="fileauarf184_HTM_$(var.Language)" Name="auarf184.htm" LongName="auarf184.htm" DiskId="1" />
+ <File Id="fileauarf185_HTM_$(var.Language)" Name="auarf185.htm" LongName="auarf185.htm" DiskId="1" />
+ <File Id="fileauarf186_HTM_$(var.Language)" Name="auarf186.htm" LongName="auarf186.htm" DiskId="1" />
+ <File Id="fileauarf187_HTM_$(var.Language)" Name="auarf187.htm" LongName="auarf187.htm" DiskId="1" />
+ <File Id="fileauarf188_HTM_$(var.Language)" Name="auarf188.htm" LongName="auarf188.htm" DiskId="1" />
+ <File Id="fileauarf189_HTM_$(var.Language)" Name="auarf189.htm" LongName="auarf189.htm" DiskId="1" />
+ <File Id="fileauarf190_HTM_$(var.Language)" Name="auarf190.htm" LongName="auarf190.htm" DiskId="1" />
+ <File Id="fileauarf191_HTM_$(var.Language)" Name="auarf191.htm" LongName="auarf191.htm" DiskId="1" />
+ <File Id="fileauarf192_HTM_$(var.Language)" Name="auarf192.htm" LongName="auarf192.htm" DiskId="1" />
+ <File Id="fileauarf193_HTM_$(var.Language)" Name="auarf193.htm" LongName="auarf193.htm" DiskId="1" />
+ <File Id="fileauarf194_HTM_$(var.Language)" Name="auarf194.htm" LongName="auarf194.htm" DiskId="1" />
+ <File Id="fileauarf195_HTM_$(var.Language)" Name="auarf195.htm" LongName="auarf195.htm" DiskId="1" />
+ <File Id="fileauarf196_HTM_$(var.Language)" Name="auarf196.htm" LongName="auarf196.htm" DiskId="1" />
+ <File Id="fileauarf197_HTM_$(var.Language)" Name="auarf197.htm" LongName="auarf197.htm" DiskId="1" />
+ <File Id="fileauarf198_HTM_$(var.Language)" Name="auarf198.htm" LongName="auarf198.htm" DiskId="1" />
+ <File Id="fileauarf199_HTM_$(var.Language)" Name="auarf199.htm" LongName="auarf199.htm" DiskId="1" />
+ <File Id="fileauarf200_HTM_$(var.Language)" Name="auarf200.htm" LongName="auarf200.htm" DiskId="1" />
+ <File Id="fileauarf201_HTM_$(var.Language)" Name="auarf201.htm" LongName="auarf201.htm" DiskId="1" />
+ <File Id="fileauarf202_HTM_$(var.Language)" Name="auarf202.htm" LongName="auarf202.htm" DiskId="1" />
+ <File Id="fileauarf203_HTM_$(var.Language)" Name="auarf203.htm" LongName="auarf203.htm" DiskId="1" />
+ <File Id="fileauarf204_HTM_$(var.Language)" Name="auarf204.htm" LongName="auarf204.htm" DiskId="1" />
+ <File Id="fileauarf205_HTM_$(var.Language)" Name="auarf205.htm" LongName="auarf205.htm" DiskId="1" />
+ <File Id="fileauarf206_HTM_$(var.Language)" Name="auarf206.htm" LongName="auarf206.htm" DiskId="1" />
+ <File Id="fileauarf207_HTM_$(var.Language)" Name="auarf207.htm" LongName="auarf207.htm" DiskId="1" />
+ <File Id="fileauarf208_HTM_$(var.Language)" Name="auarf208.htm" LongName="auarf208.htm" DiskId="1" />
+ <File Id="fileauarf209_HTM_$(var.Language)" Name="auarf209.htm" LongName="auarf209.htm" DiskId="1" />
+ <File Id="fileauarf210_HTM_$(var.Language)" Name="auarf210.htm" LongName="auarf210.htm" DiskId="1" />
+ <File Id="fileauarf211_HTM_$(var.Language)" Name="auarf211.htm" LongName="auarf211.htm" DiskId="1" />
+ <File Id="fileauarf212_HTM_$(var.Language)" Name="auarf212.htm" LongName="auarf212.htm" DiskId="1" />
+ <File Id="fileauarf213_HTM_$(var.Language)" Name="auarf213.htm" LongName="auarf213.htm" DiskId="1" />
+ <File Id="fileauarf214_HTM_$(var.Language)" Name="auarf214.htm" LongName="auarf214.htm" DiskId="1" />
+ <File Id="fileauarf215_HTM_$(var.Language)" Name="auarf215.htm" LongName="auarf215.htm" DiskId="1" />
+ <File Id="fileauarf216_HTM_$(var.Language)" Name="auarf216.htm" LongName="auarf216.htm" DiskId="1" />
+ <File Id="fileauarf217_HTM_$(var.Language)" Name="auarf217.htm" LongName="auarf217.htm" DiskId="1" />
+ <File Id="fileauarf218_HTM_$(var.Language)" Name="auarf218.htm" LongName="auarf218.htm" DiskId="1" />
+ <File Id="fileauarf219_HTM_$(var.Language)" Name="auarf219.htm" LongName="auarf219.htm" DiskId="1" />
+ <File Id="fileauarf220_HTM_$(var.Language)" Name="auarf220.htm" LongName="auarf220.htm" DiskId="1" />
+ <File Id="fileauarf221_HTM_$(var.Language)" Name="auarf221.htm" LongName="auarf221.htm" DiskId="1" />
+ <File Id="fileauarf222_HTM_$(var.Language)" Name="auarf222.htm" LongName="auarf222.htm" DiskId="1" />
+ <File Id="fileauarf223_HTM_$(var.Language)" Name="auarf223.htm" LongName="auarf223.htm" DiskId="1" />
+ <File Id="fileauarf224_HTM_$(var.Language)" Name="auarf224.htm" LongName="auarf224.htm" DiskId="1" />
+ <File Id="fileauarf225_HTM_$(var.Language)" Name="auarf225.htm" LongName="auarf225.htm" DiskId="1" />
+ <File Id="fileauarf226_HTM_$(var.Language)" Name="auarf226.htm" LongName="auarf226.htm" DiskId="1" />
+ <File Id="fileauarf227_HTM_$(var.Language)" Name="auarf227.htm" LongName="auarf227.htm" DiskId="1" />
+ <File Id="fileauarf228_HTM_$(var.Language)" Name="auarf228.htm" LongName="auarf228.htm" DiskId="1" />
+ <File Id="fileauarf229_HTM_$(var.Language)" Name="auarf229.htm" LongName="auarf229.htm" DiskId="1" />
+ <File Id="fileauarf230_HTM_$(var.Language)" Name="auarf230.htm" LongName="auarf230.htm" DiskId="1" />
+ <File Id="fileauarf231_HTM_$(var.Language)" Name="auarf231.htm" LongName="auarf231.htm" DiskId="1" />
+ <File Id="fileauarf232_HTM_$(var.Language)" Name="auarf232.htm" LongName="auarf232.htm" DiskId="1" />
+ <File Id="fileauarf233_HTM_$(var.Language)" Name="auarf233.htm" LongName="auarf233.htm" DiskId="1" />
+ <File Id="fileauarf234_HTM_$(var.Language)" Name="auarf234.htm" LongName="auarf234.htm" DiskId="1" />
+ <File Id="fileauarf235_HTM_$(var.Language)" Name="auarf235.htm" LongName="auarf235.htm" DiskId="1" />
+ <File Id="fileauarf236_HTM_$(var.Language)" Name="auarf236.htm" LongName="auarf236.htm" DiskId="1" />
+ <File Id="fileauarf237_HTM_$(var.Language)" Name="auarf237.htm" LongName="auarf237.htm" DiskId="1" />
+ <File Id="fileauarf238_HTM_$(var.Language)" Name="auarf238.htm" LongName="auarf238.htm" DiskId="1" />
+ <File Id="fileauarf239_HTM_$(var.Language)" Name="auarf239.htm" LongName="auarf239.htm" DiskId="1" />
+ <File Id="fileauarf240_HTM_$(var.Language)" Name="auarf240.htm" LongName="auarf240.htm" DiskId="1" />
+ <File Id="fileauarf241_HTM_$(var.Language)" Name="auarf241.htm" LongName="auarf241.htm" DiskId="1" />
+ <File Id="fileauarf242_HTM_$(var.Language)" Name="auarf242.htm" LongName="auarf242.htm" DiskId="1" />
+ <File Id="fileauarf243_HTM_$(var.Language)" Name="auarf243.htm" LongName="auarf243.htm" DiskId="1" />
+ <File Id="fileauarf244_HTM_$(var.Language)" Name="auarf244.htm" LongName="auarf244.htm" DiskId="1" />
+ <File Id="fileauarf245_HTM_$(var.Language)" Name="auarf245.htm" LongName="auarf245.htm" DiskId="1" />
+ <File Id="fileauarf246_HTM_$(var.Language)" Name="auarf246.htm" LongName="auarf246.htm" DiskId="1" />
+ <File Id="fileauarf247_HTM_$(var.Language)" Name="auarf247.htm" LongName="auarf247.htm" DiskId="1" />
+ <File Id="fileauarf248_HTM_$(var.Language)" Name="auarf248.htm" LongName="auarf248.htm" DiskId="1" />
+ <File Id="fileauarf249_HTM_$(var.Language)" Name="auarf249.htm" LongName="auarf249.htm" DiskId="1" />
+ <File Id="fileauarf250_HTM_$(var.Language)" Name="auarf250.htm" LongName="auarf250.htm" DiskId="1" />
+ <File Id="fileauarf251_HTM_$(var.Language)" Name="auarf251.htm" LongName="auarf251.htm" DiskId="1" />
+ <File Id="fileauarf252_HTM_$(var.Language)" Name="auarf252.htm" LongName="auarf252.htm" DiskId="1" />
+ <File Id="fileauarf253_HTM_$(var.Language)" Name="auarf253.htm" LongName="auarf253.htm" DiskId="1" />
+ <File Id="fileauarf254_HTM_$(var.Language)" Name="auarf254.htm" LongName="auarf254.htm" DiskId="1" />
+ <File Id="fileauarf255_HTM_$(var.Language)" Name="auarf255.htm" LongName="auarf255.htm" DiskId="1" />
+ <File Id="fileauarf256_HTM_$(var.Language)" Name="auarf256.htm" LongName="auarf256.htm" DiskId="1" />
+ <File Id="fileauarf257_HTM_$(var.Language)" Name="auarf257.htm" LongName="auarf257.htm" DiskId="1" />
+ <File Id="fileauarf258_HTM_$(var.Language)" Name="auarf258.htm" LongName="auarf258.htm" DiskId="1" />
+ <File Id="fileauarf259_HTM_$(var.Language)" Name="auarf259.htm" LongName="auarf259.htm" DiskId="1" />
+ <File Id="fileauarf260_HTM_$(var.Language)" Name="auarf260.htm" LongName="auarf260.htm" DiskId="1" />
+ <File Id="fileauarf261_HTM_$(var.Language)" Name="auarf261.htm" LongName="auarf261.htm" DiskId="1" />
+ <File Id="fileauarf262_HTM_$(var.Language)" Name="auarf262.htm" LongName="auarf262.htm" DiskId="1" />
+ <File Id="fileauarf263_HTM_$(var.Language)" Name="auarf263.htm" LongName="auarf263.htm" DiskId="1" />
+ <File Id="fileauarf264_HTM_$(var.Language)" Name="auarf264.htm" LongName="auarf264.htm" DiskId="1" />
+ <File Id="fileauarf265_HTM_$(var.Language)" Name="auarf265.htm" LongName="auarf265.htm" DiskId="1" />
+ <File Id="fileauarf266_HTM_$(var.Language)" Name="auarf266.htm" LongName="auarf266.htm" DiskId="1" />
+ <File Id="fileauarf267_HTM_$(var.Language)" Name="auarf267.htm" LongName="auarf267.htm" DiskId="1" />
+ <File Id="fileauarf268_HTM_$(var.Language)" Name="auarf268.htm" LongName="auarf268.htm" DiskId="1" />
+ <File Id="fileauarf269_HTM_$(var.Language)" Name="auarf269.htm" LongName="auarf269.htm" DiskId="1" />
+ <File Id="fileauarf270_HTM_$(var.Language)" Name="auarf270.htm" LongName="auarf270.htm" DiskId="1" />
+ <File Id="fileauarf271_HTM_$(var.Language)" Name="auarf271.htm" LongName="auarf271.htm" DiskId="1" />
+ <File Id="fileauarf272_HTM_$(var.Language)" Name="auarf272.htm" LongName="auarf272.htm" DiskId="1" />
+ <File Id="fileauarf273_HTM_$(var.Language)" Name="auarf273.htm" LongName="auarf273.htm" DiskId="1" />
+ <File Id="fileauarf274_HTM_$(var.Language)" Name="auarf274.htm" LongName="auarf274.htm" DiskId="1" />
+ <File Id="fileauarf275_HTM_$(var.Language)" Name="auarf275.htm" LongName="auarf275.htm" DiskId="1" />
+ <File Id="fileauarf276_HTM_$(var.Language)" Name="auarf276.htm" LongName="auarf276.htm" DiskId="1" />
+ <File Id="fileauarf277_HTM_$(var.Language)" Name="auarf277.htm" LongName="auarf277.htm" DiskId="1" />
+ <File Id="fileauarf278_HTM_$(var.Language)" Name="auarf278.htm" LongName="auarf278.htm" DiskId="1" />
+ <File Id="fileauarf279_HTM_$(var.Language)" Name="auarf279.htm" LongName="auarf279.htm" DiskId="1" />
+ <File Id="fileauarf280_HTM_$(var.Language)" Name="auarf280.htm" LongName="auarf280.htm" DiskId="1" />
+ <File Id="fileauarf281_HTM_$(var.Language)" Name="auarf281.htm" LongName="auarf281.htm" DiskId="1" />
+ <File Id="fileauarf282_HTM_$(var.Language)" Name="auarf282.htm" LongName="auarf282.htm" DiskId="1" />
+ <File Id="fileauarf283_HTM_$(var.Language)" Name="auarf283.htm" LongName="auarf283.htm" DiskId="1" />
+ <File Id="fileauarf284_HTM_$(var.Language)" Name="auarf284.htm" LongName="auarf284.htm" DiskId="1" />
+ </Component>
+ </Directory> <!-- CmdRef -->
+ <Directory Id="dirInstallGd_$(var.Language)" Name="InstalGd" LongName="InstallGd" SourceName="." src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\InstallGd\">
+ <Component Id="cmp_Install_Guide_$(var.Language)" Guid="$(var.DocHtmlInstallGuid)">
+ <File Id="fileawqbg000_HTM_$(var.Language)" Name="awqbg000.htm" LongName="awqbg000.htm" KeyPath="yes" DiskId="1" />
+ <File Id="fileawqbg002_HTM_$(var.Language)" Name="awqbg002.htm" LongName="awqbg002.htm" DiskId="1" />
+ <File Id="fileawqbg003_HTM_$(var.Language)" Name="awqbg003.htm" LongName="awqbg003.htm" DiskId="1" />
+ <File Id="fileawqbg004_HTM_$(var.Language)" Name="awqbg004.htm" LongName="awqbg004.htm" DiskId="1" />
+ </Component>
+ </Directory> <!-- InstallGd -->
+ <Directory Id="dirSysAdminGd_$(var.Language)" Name="SysAd" LongName="SysAdminGd" SourceName="." src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\SysAdminGd\">
+ <Component Id="cmp_Sys_Admin_Guide_$(var.Language)" Guid="$(var.DocHtmlSysAdminGuid)">
+ <File Id="fileauagd000_HTM_$(var.Language)" Name="auagd.htm" LongName="auagd000.htm" KeyPath="yes" DiskId="1" />
+ <File Id="fileauagd002_HTM_$(var.Language)" Name="auagd~2.htm" LongName="auagd002.htm" DiskId="1" />
+ <File Id="fileauagd003_HTM_$(var.Language)" Name="auagd~3.htm" LongName="auagd003.htm" DiskId="1" />
+ <File Id="fileauagd004_HTM_$(var.Language)" Name="auagd~4.htm" LongName="auagd004.htm" DiskId="1" />
+ <File Id="fileauagd005_HTM_$(var.Language)" Name="auagd~5.htm" LongName="auagd005.htm" DiskId="1" />
+ <File Id="fileauagd006_HTM_$(var.Language)" Name="auagd~6.htm" LongName="auagd006.htm" DiskId="1" />
+ <File Id="fileauagd007_HTM_$(var.Language)" Name="auagd~7.htm" LongName="auagd007.htm" DiskId="1" />
+ <File Id="fileauagd008_HTM_$(var.Language)" Name="auagd~8.htm" LongName="auagd008.htm" DiskId="1" />
+ <File Id="fileauagd009_HTM_$(var.Language)" Name="auagd~9.htm" LongName="auagd009.htm" DiskId="1" />
+ <File Id="fileauagd010_HTM_$(var.Language)" Name="auagd~10.htm" LongName="auagd010.htm" DiskId="1" />
+ <File Id="fileauagd011_HTM_$(var.Language)" Name="auagd~11.htm" LongName="auagd011.htm" DiskId="1" />
+ <File Id="fileauagd012_HTM_$(var.Language)" Name="auagd~12.htm" LongName="auagd012.htm" DiskId="1" />
+ <File Id="fileauagd013_HTM_$(var.Language)" Name="auagd~13.htm" LongName="auagd013.htm" DiskId="1" />
+ <File Id="fileauagd014_HTM_$(var.Language)" Name="auagd~14.htm" LongName="auagd014.htm" DiskId="1" />
+ <File Id="fileauagd015_HTM_$(var.Language)" Name="auagd~15.htm" LongName="auagd015.htm" DiskId="1" />
+ <File Id="fileauagd016_HTM_$(var.Language)" Name="auagd~16.htm" LongName="auagd016.htm" DiskId="1" />
+ <File Id="fileauagd017_HTM_$(var.Language)" Name="auagd~17.htm" LongName="auagd017.htm" DiskId="1" />
+ <File Id="fileauagd018_HTM_$(var.Language)" Name="auagd~18.htm" LongName="auagd018.htm" DiskId="1" />
+ <File Id="fileauagd019_HTM_$(var.Language)" Name="auagd~19.htm" LongName="auagd019.htm" DiskId="1" />
+ <File Id="fileauagd020_HTM_$(var.Language)" Name="auagd~20.htm" LongName="auagd020.htm" DiskId="1" />
+ <File Id="fileauagd021_HTM_$(var.Language)" Name="auagd~21.htm" LongName="auagd021.htm" DiskId="1" />
+ <File Id="fileauagd022_HTM_$(var.Language)" Name="auagd~22.htm" LongName="auagd022.htm" DiskId="1" />
+ <File Id="fileauagd023_HTM_$(var.Language)" Name="auagd~23.htm" LongName="auagd023.htm" DiskId="1" />
+ <File Id="fileauagd024_HTM_$(var.Language)" Name="auagd~24.htm" LongName="auagd024.htm" DiskId="1" />
+ <File Id="fileauagd025_HTM_$(var.Language)" Name="auagd~25.htm" LongName="auagd025.htm" DiskId="1" />
+ <File Id="fileauagd026_HTM_$(var.Language)" Name="auagd~26.htm" LongName="auagd026.htm" DiskId="1" />
+ <File Id="filevnode_GIF_$(var.Language)" Name="vnode.gif" LongName="vnode.gif" DiskId="1" />
+ <File Id="filefserver1_GIF_$(var.Language)" Name="fserv.gif" LongName="fserver1.gif" DiskId="1" />
+ <File Id="filefserver2_GIF_$(var.Language)" Name="fserv~2.gif" LongName="fserver2.gif" DiskId="1" />
+ <File Id="fileoverview_GIF_$(var.Language)" Name="overv.gif" LongName="overview.gif" DiskId="1" />
+ <File Id="filescout1_GIF_$(var.Language)" Name="scout.gif" LongName="scout1.gif" DiskId="1" />
+ <File Id="filescout2_GIF_$(var.Language)" Name="scout~2.gif" LongName="scout2.gif" DiskId="1" />
+ <File Id="filescout3_GIF_$(var.Language)" Name="scout~3.gif" LongName="scout3.gif" DiskId="1" />
+ <File Id="filescout4_GIF_$(var.Language)" Name="scout~4.gif" LongName="scout4.gif" DiskId="1" />
+ <File Id="filecachmgr_GIF_$(var.Language)" Name="cachm.gif" LongName="cachmgr.gif" DiskId="1" />
+ </Component>
+ </Directory> <!-- Sys Admin guide -->
+ <Directory Id="dirReleaseNotes_$(var.Language)" Name="Relea" LongName="ReleaseNotes" SourceName="." src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\ReleaseNotes\">
+ <Component Id="cmp_Release_Notes_$(var.Language)" Guid="$(var.DocHtmlRelNotesGuid)">
+ <File Id="fileawrns000_HTM_$(var.Language)" Name="awrns.htm" LongName="awrns000.htm" KeyPath="yes" DiskId="1" />
+ <File Id="fileawrns002_HTM_$(var.Language)" Name="awrns~2.htm" LongName="awrns002.htm" DiskId="1" />
+ <File Id="fileawrns003_HTM_$(var.Language)" Name="awrns~3.htm" LongName="awrns003.htm" DiskId="1" />
+ <File Id="fileawrns004_HTM_$(var.Language)" Name="awrns~4.htm" LongName="awrns004.htm" DiskId="1" />
+ <File Id="fileawrns005_HTM_$(var.Language)" Name="awrns~5.htm" LongName="awrns005.htm" DiskId="1" />
+ <File Id="fileawrns006_HTM_$(var.Language)" Name="awrns~6.htm" LongName="awrns006.htm" DiskId="1" />
+ <File Id="fileawrns007_HTM_$(var.Language)" Name="awrns~7.htm" LongName="awrns007.htm" DiskId="1" />
+ </Component>
+ </Directory> <!-- Release Notes -->
+ </Directory> <!-- Html -->
+ </Directory> <!-- $(var.Language) -->
+ </Directory> <!-- Documentation -->
+
+ <Directory Id="dirClient" Name="Client" LongName="Client" SourceName=".">
+ <Directory Id="dirProgram" Name="Program" LongName="Program" SourceName="." src="$(var.ClientDir)">
+ <Component Id="cmf_afsshare_EXE" Guid="E972DA35-E950-4736-AE48-E6DDCE8C97D0">
+ <File Id="fileafsshare_EXE" Name="afsshare.exe" LongName="afsshare.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_libosi_DLL" Guid="0E10B3CC-533B-4EAC-AFC5-3D2B529385D7">
+ <File Id="filelibosi_DLL" Name="libosi.dll" LongName="libosi.dll" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_libafsconf_DLL" Guid="D72DA435-878D-42BE-9383-69FB97D63624">
+ <File Id="filelibafsconf_DLL" Name="libafscf.dll" LongName="libafsconf.dll" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_klog_EXE" Guid="DCE60DF8-6BB3-4090-B525-8CF8843C878B">
+ <File Id="fileklog_EXE" Name="klog.exe" LongName="klog.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_tokens_EXE" Guid="C6F79AAF-0EF4-4751-BB56-015B7E847D71">
+ <File Id="filetokens_EXE" Name="tokens.exe" LongName="tokens.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_unlog_EXE" Guid="D2C19113-8379-424D-9C90-BB4C955D8F17">
+ <File Id="fileunlog_EXE" Name="unlog.exe" LongName="unlog.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_fs_EXE" Guid="D19D5998-E8E1-424B-9D0D-655840DBC571">
+ <File Id="filefs_EXE" Name="fs.exe" LongName="fs.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_afscreds_EXE" Guid="A17567CF-866E-49AF-A717-0B4F17CA88D4">
+ <File Id="fileafscreds_EXE" Name="afscreds.exe" LongName="afscreds.exe" KeyPath="yes" DiskId="1">
+ <Shortcut Id="scAfsCreds" Directory="dirShortCut" Name="Auth.lnk" LongName="Authentication.lnk" Description="$(loc.StrAfsCredsDesc)" Arguments="-A -M -N -Q" Icon="ico_afscreds" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ <Shortcut Id="scAfsCredsStart" Directory="StartupFolder" Name="AFSAuth.lnk" LongName="AFS Credentials.lnk" Description="$(loc.StrAfsCredsDesc)" Arguments="-A -M -N -Q" Icon="ico_afscreds" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ </File>
+ </Component>
+ <Component Id="cmf_afs_shl_ext_DLL" Guid="E4C51111-F9ED-418D-9DE0-ED8777CED5C9">
+ <File Id="fileafs_shl_ext_DLL" Name="afsshext.dll" LongName="afs_shl_ext.dll" KeyPath="yes" DiskId="1">
+ <Class Id="DC515C27-6CAC-11D1-BAE7-00C04FD140D2" Advertise="no" Context="InprocServer32" Description="$(loc.StrShlExtDesc)" ThreadingModel="apartment">
+ <ProgId Id="AfsClientContextMenu.1" Description="$(loc.StrShlExtDesc)">
+ <ProgId Id="AfsClientContextMenu" />
+ </ProgId>
+ </Class>
+ </File>
+ </Component>
+ <Component Id="cmf_afsd_service_EXE" Guid="37A90054-505D-4C57-B489-7EF4D97B86F6">
+ <File Id="fileafsd_service_EXE" Name="afsd_svc.exe" LongName="afsd_service.exe" KeyPath="yes" DiskId="1" />
+ <ServiceControl Id="TransarcAFSDaemon" Name="TransarcAFSDaemon" Stop="both" Delete="both" Wait="yes" />
+ <ServiceInstall Id="svc_Client" Name="TransarcAFSDaemon" DisplayName="OpenAFS Client" Type="ownProcess" Start="auto" ErrorControl="normal">
+ <!-- ServiceConfig doesn't currently do what you think it does.
+ We instead use a custom action to set the service failure actions.
+ <ServiceConfig FirstFailureActionType="restart" RestartServiceDelayInSeconds="10" SecondFailureActionType="restart" ThirdFailureActionType="none"/>
+ -->
+ <ServiceDependency Id="Tcpip" />
+ <ServiceDependency Id="RpcSs" />
+ <ServiceDependency Id="NetBIOS" />
+ <ServiceDependency Id="PNP_TDI" Group="yes"/>
+ </ServiceInstall>
+ <Environment Id="envClient" Name="PATH" Action="create" System="yes" Permanent="no" Part="last" Separator=";" Value="[AFSDIR]Client\Program" />
+ <RemoveFile Id="removeCache" Directory="WindowsVolume" LongName="AFSCache" Name="AFSCache" On="uninstall" />
+ </Component>
+ <Component Id="cmf_afslogon_DLL" Guid="123197FE-4F53-4035-8D51-FCFB6B50A777">
+ <File Id="fileafslogon_DLL" Name="afslogon.dll" LongName="afslogon.dll" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_symlink_EXE" Guid="01513839-36E5-418D-8337-04B5D74337CD">
+ <File Id="filesymlink_EXE" Name="symlink.exe" LongName="symlink.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_kpasswd_EXE" Guid="D362743B-6BF3-49CD-8B58-8DE56BCB0143">
+ <File Id="filekpasswd_EXE" Name="kpasswd.exe" LongName="kpasswd.exe" KeyPath="yes" DiskId="1" src="$(var.BinDir)kpasswd.exe" />
+ </Component>
+ <Component Id="cmf_pts_EXE" Guid="DC65EE96-8C01-4985-B19A-87B710841CD7">
+ <File Id="filepts_EXE" Name="pts.exe" LongName="pts.exe" KeyPath="yes" DiskId="1" src="$(var.BinDir)\pts.exe" />
+ </Component>
+ <Component Id="cmf_bos_EXE" Guid="E3060710-F745-4958-A0C6-459B6CD0A5C3">
+ <File Id="filebos_EXE" Name="bos.exe" LongName="bos.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\bos.exe" />
+ </Component>
+ <Component Id="cmf_kas_EXE" Guid="59ED3FE5-B818-4CE6-A278-F9C7B97B7973">
+ <File Id="filekas_EXE" Name="kas.exe" LongName="kas.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\kas.exe"/>
+ </Component>
+ <Component Id="cmf_vos_EXE" Guid="854E4787-7C18-400B-9660-56F498DDC608">
+ <File Id="filevos_EXE" Name="vos.exe" LongName="vos.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\vos.exe"/>
+ </Component>
+ <Component Id="cmf_udebug_EXE" Guid="EDD268D3-460C-4509-8933-F62AE72DEBC5">
+ <File Id="fileudebug_EXE" Name="udebug.exe" LongName="udebug.exe" KeyPath="yes" DiskId="1" src="$(var.ServerDir)\udebug.exe"/>
+ </Component>
+ <Component Id="cmf_translate_et_EXE" Guid="539C313D-BD7F-4896-9AE3-E0E54C6CC1CA">
+ <File Id="filetranslate_et_EXE" Name="translet.exe" LongName="translate_et.exe" KeyPath="yes" DiskId="1" src="$(var.BinDir)\translate_et.exe"/>
+ </Component>
+ <Component Id="cmf_rxdebug_EXE" Guid="D9E85810-5E1D-433F-A17E-D961ABC58567">
+ <File Id="filerxdebug_EXE" Name="rxdebug.exe" LongName="rxdebug.exe" KeyPath="yes" DiskId="1" src="$(var.EtcDir)\rxdebug.exe"/>
+ </Component>
+ <Component Id="cmf_backup_EXE" Guid="A8B6C84E-115B-4317-9CAA-0797BFE50D02">
+ <File Id="filebackup_EXE" Name="backup.exe" LongName="backup.exe" KeyPath="yes" DiskId="1" src="$(var.EtcDir)\backup.exe"/>
+ </Component>
+ <Component Id="cmf_aklog_EXE" Guid="84FADCD9-AA0D-4D80-B374-A20A85F5957B">
+ <File Id="fileaklog_EXE" Name="aklog.exe" LongName="aklog.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_afs_cpa_CPL" Guid="C83091EC-2967-4AC6-A34D-860CD7FEDA57">
+ <File Id="fileafs_cpa_CPL" Name="afs_cpa.cpl" LongName="afs_cpa.cpl" KeyPath="yes" DiskId="1"/>
+ <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" Name="AFS Client CPL" Value="[#fileafs_cpa_CPL]" Id="reg_Full_Client11" />
+ </Component>
+ <?ifdef Debug?>
+ <Component Id="cmp_ClientProgramDebug" Guid="A6A394F6-45D0-45A9-A7DD-C0997070EC14">
+ <File Id="fileafsshare_PDB" Name="afsshare.pdb" LongName="afsshare.pdb" DiskId="1" />
+ <File Id="filelibosi_PDB" Name="libosi.pdb" LongName="libosi.pdb" DiskId="1" />
+ <File Id="filelibafsconf_PDB" Name="libafscf.pdb" LongName="libafsconf.pdb" DiskId="1" />
+ <File Id="fileklog_PDB" Name="klog.pdb" LongName="klog.pdb" DiskId="1" />
+ <File Id="filetokens_PDB" Name="tokens.pdb" LongName="tokens.pdb" DiskId="1" />
+ <File Id="fileunlog_PDB" Name="unlog.pdb" LongName="unlog.pdb" DiskId="1" />
+ <File Id="filefs_PDB" Name="fs.pdb" LongName="fs.pdb" DiskId="1" />
+ <File Id="fileafscreds_PDB" Name="afscreds.pdb" LongName="afscreds.pdb" DiskId="1" />
+ <File Id="fileafs_shl_ext_PDB" Name="afsshext.pdb" LongName="afs_shl_ext.pdb" DiskId="1" />
+ <File Id="fileafsd_service_PDB" Name="afsd_svc.pdb" LongName="afsd_service.pdb" DiskId="1" />
+ <File Id="fileaklogon_PDB" Name="afslogon.pdb" LongName="afslogon.pdb" DiskId="1" />
+ <File Id="filesymlink_PDB" Name="symlink.pdb" LongName="symlink.pdb" DiskId="1" />
+ <File Id="filekpasswd_PDB" Name="kpasswd.pdb" LongName="kpasswd.pdb" DiskId="1" src="$(var.BinDir)kpasswd.pdb" />
+ <File Id="filepts_PDB" Name="pts.pdb" LongName="pts.pdb" DiskId="1" src="$(var.BinDir)pts.pdb" />
+ <File Id="filebos_PDB" Name="bos.pdb" LongName="bos.pdb" DiskId="1" src="$(var.ServerDir)bos.pdb" />
+ <File Id="filekas_PDB" Name="kas.pdb" LongName="kas.pdb" DiskId="1" src="$(var.ServerDir)kas.pdb"/>
+ <File Id="filevos_PDB" Name="vos.pdb" LongName="vos.pdb" DiskId="1" src="$(var.ServerDir)vos.pdb"/>
+ <File Id="fileudebug_PDB" Name="udebug.pdb" LongName="udebug.pdb" DiskId="1" src="$(var.ServerDir)\udebug.pdb"/>
+ <File Id="filetranslate_et_PDB" Name="translet.pdb" LongName="translate_et.pdb" DiskId="1" src="$(var.BinDir)\translate_et.pdb"/>
+ <File Id="filerxdebug_PDB" Name="rxdebug.pdb" LongName="rxdebug.pdb" DiskId="1" src="$(var.EtcDir)\rxdebug.pdb"/>
+ <File Id="filebackup_PDB" Name="backup.pdb" LongName="backup.pdb" DiskId="1" src="$(var.EtcDir)\backup.pdb"/>
+ <File Id="fileaklog_PDB" Name="aklog.pdb" LongName="aklog.pdb" DiskId="1" />
+ <File Id="fileafs_cpa_PDB" Name="afs_cpa.pdb" LongName="afs_cpa.pdb" KeyPath="yes" DiskId="1"/>
+ </Component>
+ <?endif?>
+
+ <Directory Id="dirSample" Name="Sampl" LongName="Sample" SourceName=".">
+ <Component Id="cmp_SDK_Sample" Guid="F9373E95-F410-4AA5-AA79-07C11EE00334">
+ <File Id="filetoken_C" Name="token.c" LongName="token.c" KeyPath="yes" DiskId="1" src="$(var.SrcDir)WINNT\afsd\sample\token.c"/>
+ </Component>
+ </Directory>
+ <Directory Id="dirInclude" Name="Include" LongName="Include" SourceName=".">
+ <Component Id="cmp_SDK_Include" Guid="9B12B216-B104-4E49-BE31-4042F2CBD318">
+ <File Id="filebasic_H" Name="basic.h" LongName="basic.h" DiskId="1" src="$(var.IncDir)basic.h" />
+ <File Id="filecrypt_H" Name="crypt.h" LongName="crypt.h" DiskId="1" src="$(var.IncDir)crypt.h" />
+ <File Id="filedbrpc_H" Name="dbrpc.h" LongName="dbrpc.h" DiskId="1" src="$(var.IncDir)dbrpc.h" />
+ <File Id="filedes_H" Name="des.h" LongName="des.h" DiskId="1" src="$(var.IncDir)des.h" />
+ <File Id="filedes_conf_H" Name="des_conf.h" LongName="des_conf.h" DiskId="1" src="$(var.IncDir)des_conf.h" />
+ <File Id="filedes_odd_H" Name="des_odd.h" LongName="des_odd.h" DiskId="1" src="$(var.IncDir)des_odd.h" />
+ <File Id="filelargeint_H" Name="largeint.h" LongName="largeint.h" DiskId="1" src="$(var.IncDir)largeint.h" />
+ <File Id="filelock_H" Name="lock.h" LongName="lock.h" DiskId="1" src="$(var.IncDir)lock.h" />
+ <File Id="filelwp_H" Name="lwp.h" LongName="lwp.h" DiskId="1" src="$(var.IncDir)lwp.h" />
+ <File Id="filemain_H" Name="main.h" LongName="main.h" DiskId="1" src="$(var.IncDir)main.h" />
+ <File Id="filemit_cpyright_H" Name="MIT-CP~1.h" LongName="mit-cpyright.h" DiskId="1" src="$(var.IncDir)mit-cpyright.h" />
+ <File Id="fileosi_H" Name="osi.h" LongName="osi.h" DiskId="1" src="$(var.IncDir)osi.h" />
+ <File Id="fileosibasel_H" Name="osibasel.h" LongName="osibasel.h" DiskId="1" src="$(var.IncDir)osibasel.h" />
+ <File Id="fileosidb_H" Name="osidb.h" LongName="osidb.h" DiskId="1" src="$(var.IncDir)osidb.h" />
+ <File Id="fileosidebug_H" Name="osidebug.h" LongName="osidebug.h" DiskId="1" src="$(var.IncDir)osidebug.h" />
+ <File Id="fileosifd_H" Name="osifd.h" LongName="osifd.h" DiskId="1" src="$(var.IncDir)osifd.h" />
+ <File Id="fileosilog_H" Name="osilog.h" LongName="osilog.h" DiskId="1" src="$(var.IncDir)osilog.h" />
+ <File Id="fileosiltype_H" Name="osiltype.h" LongName="osiltype.h" DiskId="1" src="$(var.IncDir)osiltype.h" />
+ <File Id="fileosiqueue_H" Name="osiqueue.h" LongName="osiqueue.h" DiskId="1" src="$(var.IncDir)osiqueue.h" />
+ <File Id="fileosisleep_H" Name="osisleep.h" LongName="osisleep.h" DiskId="1" src="$(var.IncDir)osisleep.h" />
+ <File Id="fileosistatl_H" Name="osistatl.h" LongName="osistatl.h" DiskId="1" src="$(var.IncDir)osistatl.h" />
+ <File Id="fileosithrdnt_H" Name="OSITHR~1.h" LongName="osithrdnt.h" DiskId="1" src="$(var.IncDir)osithrdnt.h" />
+ <File Id="fileosiutils_H" Name="osiutils.h" LongName="osiutils.h" DiskId="1" src="$(var.IncDir)osiutils.h" />
+ <File Id="fileperf_H" Name="perf.h" LongName="perf.h" DiskId="1" src="$(var.IncDir)perf.h" />
+ <File Id="filepreempt_H" Name="preempt.h" LongName="preempt.h" DiskId="1" src="$(var.IncDir)preempt.h" />
+ <File Id="filepthread_H" Name="pthread.h" LongName="pthread.h" DiskId="1" src="$(var.IncDir)pthread.h" />
+ <File Id="filetimer_H" Name="timer.h" LongName="timer.h" DiskId="1" src="$(var.IncDir)timer.h" />
+ <File Id="filetrylock_H" Name="trylock.h" LongName="trylock.h" DiskId="1" src="$(var.IncDir)trylock.h" />
+ <File Id="fileubik_H" Name="ubik.h" LongName="ubik.h" DiskId="1" src="$(var.IncDir)ubik.h" />
+ <File Id="fileubik_int_H" Name="ubik_int.h" LongName="ubik_int.h" DiskId="1" src="$(var.IncDir)ubik_int.h" />
+ </Component>
+ <Directory Id="dirIncludeAfs" Name="afs" LongName="afs" SourceName=".">
+ <Component Id="cmp_SDK_Include_afs" Guid="692D18AD-4901-4124-8B1F-5D414E65A7D0">
+ <File Id="fileacl_H" Name="acl.h" LongName="acl.h" DiskId="1" src="$(var.IncDir)afs\acl.h" />
+ <File Id="fileafscbint_H" Name="afscbint.h" LongName="afscbint.h" DiskId="1" src="$(var.IncDir)afs\afscbint.h" />
+ <File Id="fileafsconfig_H" Name="AFSCON~1.h" LongName="afsconfig.h" DiskId="1" src="$(var.IncDir)afs\afsconfig.h" />
+ <File Id="fileafsd_H" Name="afsd.h" LongName="afsd.h" DiskId="1" src="$(var.IncDir)afs\afsd.h" />
+ <File Id="fileafsdicon_H" Name="afsdicon.h" LongName="afsdicon.h" DiskId="1" src="$(var.IncDir)afs\afsdicon.h" />
+ <File Id="fileafsd_eventlog_H" Name="AFSD_E~1.h" LongName="afsd_eventlog.h" DiskId="1" src="$(var.IncDir)afs\afsd_eventlog.h" />
+ <File Id="fileafsint_H" Name="afsint.h" LongName="afsint.h" DiskId="1" src="$(var.IncDir)afs\afsint.h" />
+ <File Id="fileafskfw_H" Name="afskfw.h" LongName="afskfw.h" DiskId="1" src="$(var.IncDir)afs\afskfw.h" />
+ <File Id="fileafsmsg95_H" Name="afsmsg95.h" LongName="afsmsg95.h" DiskId="1" src="$(var.IncDir)afs\afsmsg95.h" />
+ <File Id="fileafsrpc_H" Name="afsrpc.h" LongName="afsrpc.h" DiskId="1" src="$(var.IncDir)afs\afsrpc.h" />
+ <File Id="fileafssyscalls_H" Name="AFSSYS~1.h" LongName="afssyscalls.h" DiskId="1" src="$(var.IncDir)afs\afssyscalls.h" />
+ <File Id="fileafsutil_H" Name="afsutil.h" LongName="afsutil.h" DiskId="1" src="$(var.IncDir)afs\afsutil.h" />
+ <File Id="fileafsutil_prototypes_H" Name="AFSUTI~1.h" LongName="afsutil_prototypes.h" DiskId="1" src="$(var.IncDir)afs\afsutil_prototypes.h" />
+ <File Id="fileafs_Admin_H" Name="AFS_AD~1.h" LongName="afs_Admin.h" DiskId="1" src="$(var.IncDir)afs\afs_Admin.h" />
+ <File Id="fileafs_AdminBosErrors_H" Name="AFS_AD~3.h" LongName="afs_AdminBosErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminBosErrors.h" />
+ <File Id="fileafs_AdminCfgErrors_H" Name="AFS_AD~4.h" LongName="afs_AdminCfgErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminCfgErrors.h" />
+ <File Id="fileafs_AdminClientErrors_H" Name="AF6FF0~1.h" LongName="afs_AdminClientErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminClientErrors.h" />
+ <File Id="fileafs_AdminCommonErrors_H" Name="AFS_AD~2.h" LongName="afs_AdminCommonErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminCommonErrors.h" />
+ <File Id="fileafs_AdminErrors_H" Name="AFF5CC~1.h" LongName="afs_AdminErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminErrors.h" />
+ <File Id="fileafs_AdminKasErrors_H" Name="AF1531~1.h" LongName="afs_AdminKasErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminKasErrors.h" />
+ <File Id="fileafs_AdminMiscErrors_H" Name="AF96DD~1.h" LongName="afs_AdminMiscErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminMiscErrors.h" />
+ <File Id="fileafs_AdminPtsErrors_H" Name="AF18CF~1.h" LongName="afs_AdminPtsErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminPtsErrors.h" />
+ <File Id="fileafs_AdminUtilErrors_H" Name="AF05EE~1.h" LongName="afs_AdminUtilErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminUtilErrors.h" />
+ <File Id="fileafs_AdminVosErrors_H" Name="AF13CC~1.h" LongName="afs_AdminVosErrors.h" DiskId="1" src="$(var.IncDir)afs\afs_AdminVosErrors.h" />
+ <File Id="fileafs_args_H" Name="afs_args.h" LongName="afs_args.h" DiskId="1" src="$(var.IncDir)afs\afs_args.h" />
+ <File Id="fileafs_bosAdmin_H" Name="AFS_BO~1.h" LongName="afs_bosAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_bosAdmin.h" />
+ <File Id="fileafs_cfgAdmin_H" Name="AFS_CF~1.h" LongName="afs_cfgAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_cfgAdmin.h" />
+ <File Id="fileafs_clientAdmin_H" Name="AFS_CL~1.h" LongName="afs_clientAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_clientAdmin.h" />
+ <File Id="fileafs_kasAdmin_H" Name="AFS_KA~1.h" LongName="afs_kasAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_kasAdmin.h" />
+ <File Id="fileafs_ptsAdmin_H" Name="AFS_PT~1.h" LongName="afs_ptsAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_ptsAdmin.h" />
+ <File Id="fileafs_sysnames_H" Name="AFS_SY~1.h" LongName="afs_sysnames.h" DiskId="1" src="$(var.IncDir)afs\afs_sysnames.h" />
+ <File Id="fileafs_utilAdmin_H" Name="AFS_UT~1.h" LongName="afs_utilAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_utilAdmin.h" />
+ <File Id="fileafs_vosAdmin_H" Name="AFS_VO~1.h" LongName="afs_vosAdmin.h" DiskId="1" src="$(var.IncDir)afs\afs_vosAdmin.h" />
+ <File Id="fileassert_H" Name="assert.h" LongName="assert.h" DiskId="1" src="$(var.IncDir)afs\assert.h" />
+ <File Id="fileaudit_H" Name="audit.h" LongName="audit.h" DiskId="1" src="$(var.IncDir)afs\audit.h" />
+ <File Id="fileauth_H" Name="auth.h" LongName="auth.h" DiskId="1" src="$(var.IncDir)afs\auth.h" />
+ <File Id="filebnode_H" Name="bnode.h" LongName="bnode.h" DiskId="1" src="$(var.IncDir)afs\bnode.h" />
+ <File Id="filebosint_H" Name="bosint.h" LongName="bosint.h" DiskId="1" src="$(var.IncDir)afs\bosint.h" />
+ <File Id="filebubasics_H" Name="bubasics.h" LongName="bubasics.h" DiskId="1" src="$(var.IncDir)afs\bubasics.h" />
+ <File Id="filebudb_H" Name="budb.h" LongName="budb.h" DiskId="1" src="$(var.IncDir)afs\budb.h" />
+ <File Id="filebudb_client_H" Name="BUDB_C~1.h" LongName="budb_client.h" DiskId="1" src="$(var.IncDir)afs\budb_client.h" />
+ <File Id="filebudb_errs_H" Name="BUDB_E~1.h" LongName="budb_errs.h" DiskId="1" src="$(var.IncDir)afs\budb_errs.h" />
+ <File Id="filebumon_H" Name="bumon.h" LongName="bumon.h" DiskId="1" src="$(var.IncDir)afs\bumon.h" />
+ <File Id="filebutc_H" Name="butc.h" LongName="butc.h" DiskId="1" src="$(var.IncDir)afs\butc.h" />
+ <File Id="filebutm_H" Name="butm.h" LongName="butm.h" DiskId="1" src="$(var.IncDir)afs\butm.h" />
+ <File Id="filebutx_H" Name="butx.h" LongName="butx.h" DiskId="1" src="$(var.IncDir)afs\butx.h" />
+ <File Id="filecellconfig_H" Name="CELLCO~1.h" LongName="cellconfig.h" DiskId="1" src="$(var.IncDir)afs\cellconfig.h" />
+ <File Id="filecm_H" Name="cm.h" LongName="cm.h" DiskId="1" src="$(var.IncDir)afs\cm.h" />
+ <File Id="filecmd_H" Name="cmd.h" LongName="cmd.h" DiskId="1" src="$(var.IncDir)afs\cmd.h" />
+ <File Id="filecm_access_H" Name="CM_ACC~1.h" LongName="cm_access.h" DiskId="1" src="$(var.IncDir)afs\cm_access.h" />
+ <File Id="filecm_aclent_H" Name="CM_ACL~1.h" LongName="cm_aclent.h" DiskId="1" src="$(var.IncDir)afs\cm_aclent.h" />
+ <File Id="filecm_buf_H" Name="cm_buf.h" LongName="cm_buf.h" DiskId="1" src="$(var.IncDir)afs\cm_buf.h" />
+ <File Id="filecm_callback_H" Name="CM_CAL~1.h" LongName="cm_callback.h" DiskId="1" src="$(var.IncDir)afs\cm_callback.h" />
+ <File Id="filecm_cell_H" Name="cm_cell.h" LongName="cm_cell.h" DiskId="1" src="$(var.IncDir)afs\cm_cell.h" />
+ <File Id="filecm_config_H" Name="CM_CON~1.h" LongName="cm_config.h" DiskId="1" src="$(var.IncDir)afs\cm_config.h" />
+ <File Id="filecm_conn_H" Name="cm_conn.h" LongName="cm_conn.h" DiskId="1" src="$(var.IncDir)afs\cm_conn.h" />
+ <File Id="filecm_daemon_H" Name="CM_DAE~1.h" LongName="cm_daemon.h" DiskId="1" src="$(var.IncDir)afs\cm_daemon.h" />
+ <File Id="filecm_dcache_H" Name="CM_DCA~1.h" LongName="cm_dcache.h" DiskId="1" src="$(var.IncDir)afs\cm_dcache.h" />
+ <File Id="filecm_dir_H" Name="cm_dir.h" LongName="cm_dir.h" DiskId="1" src="$(var.IncDir)afs\cm_dir.h" />
+ <File Id="filecm_dnlc_H" Name="cm_dnlc.h" LongName="cm_dnlc.h" DiskId="1" src="$(var.IncDir)afs\cm_dnlc.h" />
+ <File Id="filecm_dns_H" Name="cm_dns.h" LongName="cm_dns.h" DiskId="1" src="$(var.IncDir)afs\cm_dns.h" />
+ <File Id="filecm_dns_private_H" Name="CM_DNS~1.h" LongName="cm_dns_private.h" DiskId="1" src="$(var.IncDir)afs\cm_dns_private.h" />
+ <File Id="filecm_freelance_H" Name="CM_FRE~1.h" LongName="cm_freelance.h" DiskId="1" src="$(var.IncDir)afs\cm_freelance.h" />
+ <File Id="filecm_ioctl_H" Name="cm_ioctl.h" LongName="cm_ioctl.h" DiskId="1" src="$(var.IncDir)afs\cm_ioctl.h" />
+ <File Id="filecm_scache_H" Name="CM_SCA~1.h" LongName="cm_scache.h" DiskId="1" src="$(var.IncDir)afs\cm_scache.h" />
+ <File Id="filecm_server_H" Name="CM_SER~1.h" LongName="cm_server.h" DiskId="1" src="$(var.IncDir)afs\cm_server.h" />
+ <File Id="filecm_user_H" Name="cm_user.h" LongName="cm_user.h" DiskId="1" src="$(var.IncDir)afs\cm_user.h" />
+ <File Id="filecm_utils_H" Name="cm_utils.h" LongName="cm_utils.h" DiskId="1" src="$(var.IncDir)afs\cm_utils.h" />
+ <File Id="filecm_vnodeops_H" Name="CM_VNO~1.h" LongName="cm_vnodeops.h" DiskId="1" src="$(var.IncDir)afs\cm_vnodeops.h" />
+ <File Id="filecm_volume_H" Name="CM_VOL~1.h" LongName="cm_volume.h" DiskId="1" src="$(var.IncDir)afs\cm_volume.h" />
+ <File Id="filecom_err_H" Name="com_err.h" LongName="com_err.h" DiskId="1" src="$(var.IncDir)afs\com_err.h" />
+ <File Id="filedebug_H" Name="debug.h" LongName="debug.h" DiskId="1" src="$(var.IncDir)afs\debug.h" />
+ <File Id="filedir_H" Name="dir.h" LongName="dir.h" DiskId="1" src="$(var.IncDir)afs\dir.h" />
+ <File Id="filedirent_H" Name="dirent.h" LongName="dirent.h" DiskId="1" src="$(var.IncDir)afs\dirent.h" />
+ <File Id="filedirpath_H" Name="dirpath.h" LongName="dirpath.h" DiskId="1" src="$(var.IncDir)afs\dirpath.h" />
+ <File Id="fileerrmap_nt_H" Name="ERRMAP~1.h" LongName="errmap_nt.h" DiskId="1" src="$(var.IncDir)afs\errmap_nt.h" />
+ <File Id="fileerrors_H" Name="errors.h" LongName="errors.h" DiskId="1" src="$(var.IncDir)afs\errors.h" />
+ <File Id="fileerror_table_H" Name="ERROR_~1.h" LongName="error_table.h" DiskId="1" src="$(var.IncDir)afs\error_table.h" />
+ <File Id="filefileutil_H" Name="fileutil.h" LongName="fileutil.h" DiskId="1" src="$(var.IncDir)afs\fileutil.h" />
+ <File Id="filefssync_H" Name="fssync.h" LongName="fssync.h" DiskId="1" src="$(var.IncDir)afs\fssync.h" />
+ <File Id="filefs_stats_H" Name="fs_stats.h" LongName="fs_stats.h" DiskId="1" src="$(var.IncDir)afs\fs_stats.h" />
+ <File Id="filefs_utils_H" Name="fs_utils.h" LongName="fs_utils.h" DiskId="1" src="$(var.IncDir)afs\fs_utils.h" />
+ <File Id="fileicl_H" Name="icl.h" LongName="icl.h" DiskId="1" src="$(var.IncDir)afs\icl.h" />
+ <File Id="fileihandle_H" Name="ihandle.h" LongName="ihandle.h" DiskId="1" src="$(var.IncDir)afs\ihandle.h" />
+ <File Id="fileitc_H" Name="itc.h" LongName="itc.h" DiskId="1" src="$(var.IncDir)afs\itc.h" />
+ <File Id="filekaport_H" Name="kaport.h" LongName="kaport.h" DiskId="1" src="$(var.IncDir)afs\kaport.h" />
+ <File Id="filekauth_H" Name="kauth.h" LongName="kauth.h" DiskId="1" src="$(var.IncDir)afs\kauth.h" />
+ <File Id="filekautils_H" Name="kautils.h" LongName="kautils.h" DiskId="1" src="$(var.IncDir)afs\kautils.h" />
+ <File Id="filekeys_H" Name="keys.h" LongName="keys.h" DiskId="1" src="$(var.IncDir)afs\keys.h" />
+ <File Id="filekrb_H" Name="krb.h" LongName="krb.h" DiskId="1" src="$(var.IncDir)afs\krb.h" />
+ <File Id="filekrb_prot_H" Name="krb_prot.h" LongName="krb_prot.h" DiskId="1" src="$(var.IncDir)afs\krb_prot.h" />
+ <File Id="filektime_H" Name="ktime.h" LongName="ktime.h" DiskId="1" src="$(var.IncDir)afs\ktime.h" />
+ <File Id="filelanahelper_H" Name="LANAHE~1.h" LongName="lanahelper.h" DiskId="1" src="$(var.IncDir)afs\lanahelper.h" />
+ <File Id="filemit_sipb_cr_H" Name="MIT-SI~1.h" LongName="mit-sipb-cr.h" DiskId="1" src="$(var.IncDir)afs\mit-sipb-cr.h" />
+ <File Id="filenfs_H" Name="nfs.h" LongName="nfs.h" DiskId="1" src="$(var.IncDir)afs\nfs.h" />
+ <File Id="filentops_H" Name="ntops.h" LongName="ntops.h" DiskId="1" src="$(var.IncDir)afs\ntops.h" />
+ <File Id="fileparam_H" Name="param.h" LongName="param.h" DiskId="1" src="$(var.IncDir)afs\param.h" />
+ <File Id="filepartition_H" Name="PARTIT~1.h" LongName="partition.h" DiskId="1" src="$(var.IncDir)afs\partition.h" />
+ <File Id="filepioctl_nt_H" Name="PIOCTL~1.h" LongName="pioctl_nt.h" DiskId="1" src="$(var.IncDir)afs\pioctl_nt.h" />
+ <File Id="fileprclient_H" Name="prclient.h" LongName="prclient.h" DiskId="1" src="$(var.IncDir)afs\prclient.h" />
+ <File Id="fileprerror_H" Name="prerror.h" LongName="prerror.h" DiskId="1" src="$(var.IncDir)afs\prerror.h" />
+ <File Id="fileprint_H" Name="print.h" LongName="print.h" DiskId="1" src="$(var.IncDir)afs\print.h" />
+ <File Id="fileprocmgmt_H" Name="procmgmt.h" LongName="procmgmt.h" DiskId="1" src="$(var.IncDir)afs\procmgmt.h" />
+ <File Id="fileprserver_H" Name="prserver.h" LongName="prserver.h" DiskId="1" src="$(var.IncDir)afs\prserver.h" />
+ <File Id="fileprs_fs_H" Name="prs_fs.h" LongName="prs_fs.h" DiskId="1" src="$(var.IncDir)afs\prs_fs.h" />
+ <File Id="fileptclient_H" Name="ptclient.h" LongName="ptclient.h" DiskId="1" src="$(var.IncDir)afs\ptclient.h" />
+ <File Id="filepterror_H" Name="pterror.h" LongName="pterror.h" DiskId="1" src="$(var.IncDir)afs\pterror.h" />
+ <File Id="filepthread_glock_H" Name="PTHREA~1.h" LongName="pthread_glock.h" DiskId="1" src="$(var.IncDir)afs\pthread_glock.h" />
+ <File Id="filepthread_nosigs_H" Name="PTHREA~2.h" LongName="pthread_nosigs.h" DiskId="1" src="$(var.IncDir)afs\pthread_nosigs.h" />
+ <File Id="fileptint_H" Name="ptint.h" LongName="ptint.h" DiskId="1" src="$(var.IncDir)afs\ptint.h" />
+ <File Id="fileptserver_H" Name="ptserver.h" LongName="ptserver.h" DiskId="1" src="$(var.IncDir)afs\ptserver.h" />
+ <File Id="filerxgen_consts_H" Name="RXGEN_~1.h" LongName="rxgen_consts.h" DiskId="1" src="$(var.IncDir)afs\rxgen_consts.h" />
+ <File Id="filesecutil_nt_H" Name="SECUTI~1.h" LongName="secutil_nt.h" DiskId="1" src="$(var.IncDir)afs\secutil_nt.h" />
+ <File Id="filesmb_H" Name="smb.h" LongName="smb.h" DiskId="1" src="$(var.IncDir)afs\smb.h" />
+ <File Id="filesmb3_H" Name="smb3.h" LongName="smb3.h" DiskId="1" src="$(var.IncDir)afs\smb3.h" />
+ <File Id="filesmb_iocons_H" Name="SMB_IO~1.h" LongName="smb_iocons.h" DiskId="1" src="$(var.IncDir)afs\smb_iocons.h" />
+ <File Id="filesmb_ioctl_H" Name="SMB_IO~2.h" LongName="smb_ioctl.h" DiskId="1" src="$(var.IncDir)afs\smb_ioctl.h" />
+ <File Id="filestds_H" Name="stds.h" LongName="stds.h" DiskId="1" src="$(var.IncDir)afs\stds.h" />
+ <File Id="filetcdata_H" Name="tcdata.h" LongName="tcdata.h" DiskId="1" src="$(var.IncDir)afs\tcdata.h" />
+ <File Id="fileunified_afs_H" Name="UNIFIE~1.h" LongName="unified_afs.h" DiskId="1" src="$(var.IncDir)afs\unified_afs.h" />
+ <File Id="fileusd_H" Name="usd.h" LongName="usd.h" DiskId="1" src="$(var.IncDir)afs\usd.h" />
+ <File Id="filevice_H" Name="vice.h" LongName="vice.h" DiskId="1" src="$(var.IncDir)afs\vice.h" />
+ <File Id="fileviceinode_H" Name="VICEIN~1.h" LongName="viceinode.h" DiskId="1" src="$(var.IncDir)afs\viceinode.h" />
+ <File Id="filevldbint_H" Name="vldbint.h" LongName="vldbint.h" DiskId="1" src="$(var.IncDir)afs\vldbint.h" />
+ <File Id="filevlserver_H" Name="vlserver.h" LongName="vlserver.h" DiskId="1" src="$(var.IncDir)afs\vlserver.h" />
+ <File Id="filevl_opcodes_H" Name="VL_OPC~1.h" LongName="vl_opcodes.h" DiskId="1" src="$(var.IncDir)afs\vl_opcodes.h" />
+ <File Id="filevnode_H" Name="vnode.h" LongName="vnode.h" DiskId="1" src="$(var.IncDir)afs\vnode.h" />
+ <File Id="filevoldefs_H" Name="voldefs.h" LongName="voldefs.h" DiskId="1" src="$(var.IncDir)afs\voldefs.h" />
+ <File Id="filevolint_H" Name="volint.h" LongName="volint.h" DiskId="1" src="$(var.IncDir)afs\volint.h" />
+ <File Id="filevolser_H" Name="volser.h" LongName="volser.h" DiskId="1" src="$(var.IncDir)afs\volser.h" />
+ <File Id="filevolser_prototypes_H" Name="VOLSER~1.h" LongName="volser_prototypes.h" DiskId="1" src="$(var.IncDir)afs\volser_prototypes.h" />
+ <File Id="filevolume_H" Name="volume.h" LongName="volume.h" DiskId="1" src="$(var.IncDir)afs\volume.h" />
+ </Component>
+ </Directory>
+ <Directory Id="dirIncludeRx" Name="rx" LongName="rx" SourceName=".">
+ <Component Id="cmp_SDK_Include_rx" Guid="2E215D10-C080-42A3-B692-AFF94C7A1A2B">
+ <File Id="fileasn1_err_H" Name="asn1_err.h" LongName="asn1_err.h" DiskId="1" src="$(var.IncDir)rx\asn1_err.h" />
+ <File Id="filefcrypt_H" Name="fcrypt.h" LongName="fcrypt.h" DiskId="1" src="$(var.IncDir)rx\fcrypt.h" />
+ <File Id="filehash_H" Name="hash.h" LongName="hash.h" DiskId="1" src="$(var.IncDir)rx\hash.h" />
+ <File Id="filemd4_H" Name="md4.h" LongName="md4.h" DiskId="1" src="$(var.IncDir)rx\md4.h" />
+ <File Id="filemd5_H" Name="md5.h" LongName="md5.h" DiskId="1" src="$(var.IncDir)rx\md5.h" />
+ <File Id="filerx_H" Name="rx.h" LongName="rx.h" DiskId="1" src="$(var.IncDir)rx\rx.h" />
+ <File Id="filerxkad_H" Name="rxkad.h" LongName="rxkad.h" DiskId="1" src="$(var.IncDir)rx\rxkad.h" />
+ <File Id="filerxkad_prototypes_H" Name="RXKAD_~1.h" LongName="rxkad_prototypes.h" DiskId="1" src="$(var.IncDir)rx\rxkad_prototypes.h" />
+ <File Id="filerxstat_H" Name="rxstat.h" LongName="rxstat.h" DiskId="1" src="$(var.IncDir)rx\rxstat.h" />
+ <File Id="filerx_clock_H" Name="rx_clock.h" LongName="rx_clock.h" DiskId="1" src="$(var.IncDir)rx\rx_clock.h" />
+ <File Id="filerx_event_H" Name="rx_event.h" LongName="rx_event.h" DiskId="1" src="$(var.IncDir)rx\rx_event.h" />
+ <File Id="filerx_globals_H" Name="RX_GLO~1.h" LongName="rx_globals.h" DiskId="1" src="$(var.IncDir)rx\rx_globals.h" />
+ <File Id="filerx_lwp_H" Name="rx_lwp.h" LongName="rx_lwp.h" DiskId="1" src="$(var.IncDir)rx\rx_lwp.h" />
+ <File Id="filerx_misc_H" Name="rx_misc.h" LongName="rx_misc.h" DiskId="1" src="$(var.IncDir)rx\rx_misc.h" />
+ <File Id="filerx_multi_H" Name="rx_multi.h" LongName="rx_multi.h" DiskId="1" src="$(var.IncDir)rx\rx_multi.h" />
+ <File Id="filerx_null_H" Name="rx_null.h" LongName="rx_null.h" DiskId="1" src="$(var.IncDir)rx\rx_null.h" />
+ <File Id="filerx_packet_H" Name="RX_PAC~1.h" LongName="rx_packet.h" DiskId="1" src="$(var.IncDir)rx\rx_packet.h" />
+ <File Id="filerx_prototypes_H" Name="RX_PRO~1.h" LongName="rx_prototypes.h" DiskId="1" src="$(var.IncDir)rx\rx_prototypes.h" />
+ <File Id="filerx_pthread_H" Name="RX_PTH~1.h" LongName="rx_pthread.h" DiskId="1" src="$(var.IncDir)rx\rx_pthread.h" />
+ <File Id="filerx_queue_H" Name="rx_queue.h" LongName="rx_queue.h" DiskId="1" src="$(var.IncDir)rx\rx_queue.h" />
+ <File Id="filerx_user_H" Name="rx_user.h" LongName="rx_user.h" DiskId="1" src="$(var.IncDir)rx\rx_user.h" />
+ <File Id="filerx_xmit_nt_H" Name="RX_XMI~1.h" LongName="rx_xmit_nt.h" DiskId="1" src="$(var.IncDir)rx\rx_xmit_nt.h" />
+ <File Id="filev5gen_H" Name="v5gen.h" LongName="v5gen.h" DiskId="1" src="$(var.IncDir)rx\v5gen.h" />
+ <File Id="filexdr_H" Name="xdr.h" LongName="xdr.h" DiskId="1" src="$(var.IncDir)rx\xdr.h" />
+ <File Id="filexdr_prototypes_H" Name="XDR_PR~1.h" LongName="xdr_prototypes.h" DiskId="1" src="$(var.IncDir)rx\xdr_prototypes.h" />
+ </Component>
+ </Directory>
+ <Directory Id="dirIncludeWinnt" Name="WINNT" LongName="WINNT" SourceName=".">
+ <Component Id="cmp_SDK_Include_Winnt" Guid="BAAF0193-5C33-4EC1-9D40-DD4595F176E6">
+ <File Id="fileafsapplib_H" Name="AFSAPP~1.h" LongName="afsapplib.h" DiskId="1" src="$(var.IncDir)WINNT\afsapplib.h" />
+ <File Id="fileafsclass_H" Name="afsclass.h" LongName="afsclass.h" DiskId="1" src="$(var.IncDir)WINNT\afsclass.h" />
+ <File Id="fileafsclassfn_H" Name="AFSCLA~1.h" LongName="afsclassfn.h" DiskId="1" src="$(var.IncDir)WINNT\afsclassfn.h" />
+ <File Id="fileafsevent_H" Name="afsevent.h" LongName="afsevent.h" DiskId="1" src="$(var.IncDir)WINNT\afsevent.h" />
+ <File Id="fileafsreg_H" Name="afsreg.h" LongName="afsreg.h" DiskId="1" src="$(var.IncDir)WINNT\afsreg.h" />
+ <File Id="fileafssw_H" Name="afssw.h" LongName="afssw.h" DiskId="1" src="$(var.IncDir)WINNT\afssw.h" />
+ <File Id="fileal_admsvr_H" Name="AL_ADM~1.h" LongName="al_admsvr.h" DiskId="1" src="$(var.IncDir)WINNT\al_admsvr.h" />
+ <File Id="fileal_dynlink_H" Name="AL_DYN~1.h" LongName="al_dynlink.h" DiskId="1" src="$(var.IncDir)WINNT\al_dynlink.h" />
+ <File Id="fileal_messages_H" Name="AL_MES~1.h" LongName="al_messages.h" DiskId="1" src="$(var.IncDir)WINNT\al_messages.h" />
+ <File Id="fileal_progress_H" Name="AL_PRO~1.h" LongName="al_progress.h" DiskId="1" src="$(var.IncDir)WINNT\al_progress.h" />
+ <File Id="fileal_resource_H" Name="AL_RES~1.h" LongName="al_resource.h" DiskId="1" src="$(var.IncDir)WINNT\al_resource.h" />
+ <File Id="fileal_wizard_H" Name="AL_WIZ~1.h" LongName="al_wizard.h" DiskId="1" src="$(var.IncDir)WINNT\al_wizard.h" />
+ <File Id="filechecklist_H" Name="CHECKL~1.h" LongName="checklist.h" DiskId="1" src="$(var.IncDir)WINNT\checklist.h" />
+ <File Id="filectl_date_H" Name="ctl_date.h" LongName="ctl_date.h" DiskId="1" src="$(var.IncDir)WINNT\ctl_date.h" />
+ <File Id="filectl_elapsed_H" Name="CTL_EL~1.h" LongName="ctl_elapsed.h" DiskId="1" src="$(var.IncDir)WINNT\ctl_elapsed.h" />
+ <File Id="filectl_sockaddr_H" Name="CTL_SO~1.h" LongName="ctl_sockaddr.h" DiskId="1" src="$(var.IncDir)WINNT\ctl_sockaddr.h" />
+ <File Id="filectl_spinner_H" Name="CTL_SP~1.h" LongName="ctl_spinner.h" DiskId="1" src="$(var.IncDir)WINNT\ctl_spinner.h" />
+ <File Id="filectl_time_H" Name="ctl_time.h" LongName="ctl_time.h" DiskId="1" src="$(var.IncDir)WINNT\ctl_time.h" />
+ <File Id="filec_agg_H" Name="c_agg.h" LongName="c_agg.h" DiskId="1" src="$(var.IncDir)WINNT\c_agg.h" />
+ <File Id="filec_cell_H" Name="c_cell.h" LongName="c_cell.h" DiskId="1" src="$(var.IncDir)WINNT\c_cell.h" />
+ <File Id="filec_debug_H" Name="c_debug.h" LongName="c_debug.h" DiskId="1" src="$(var.IncDir)WINNT\c_debug.h" />
+ <File Id="filec_grp_H" Name="c_grp.h" LongName="c_grp.h" DiskId="1" src="$(var.IncDir)WINNT\c_grp.h" />
+ <File Id="filec_ident_H" Name="c_ident.h" LongName="c_ident.h" DiskId="1" src="$(var.IncDir)WINNT\c_ident.h" />
+ <File Id="filec_identlist_H" Name="C_IDEN~1.h" LongName="c_identlist.h" DiskId="1" src="$(var.IncDir)WINNT\c_identlist.h" />
+ <File Id="filec_notify_H" Name="c_notify.h" LongName="c_notify.h" DiskId="1" src="$(var.IncDir)WINNT\c_notify.h" />
+ <File Id="filec_set_H" Name="c_set.h" LongName="c_set.h" DiskId="1" src="$(var.IncDir)WINNT\c_set.h" />
+ <File Id="filec_svc_H" Name="c_svc.h" LongName="c_svc.h" DiskId="1" src="$(var.IncDir)WINNT\c_svc.h" />
+ <File Id="filec_svr_H" Name="c_svr.h" LongName="c_svr.h" DiskId="1" src="$(var.IncDir)WINNT\c_svr.h" />
+ <File Id="filec_usr_H" Name="c_usr.h" LongName="c_usr.h" DiskId="1" src="$(var.IncDir)WINNT\c_usr.h" />
+ <File Id="filedialog_H" Name="dialog.h" LongName="dialog.h" DiskId="1" src="$(var.IncDir)WINNT\dialog.h" />
+ <File Id="filefastlist_H" Name="fastlist.h" LongName="fastlist.h" DiskId="1" src="$(var.IncDir)WINNT\fastlist.h" />
+ <File Id="filehashlist_H" Name="hashlist.h" LongName="hashlist.h" DiskId="1" src="$(var.IncDir)WINNT\hashlist.h" />
+ <File Id="fileiTaAfsAdmSvr_H" Name="ITAAFS~1.h" LongName="iTaAfsAdmSvr.h" DiskId="1" src="$(var.IncDir)WINNT\iTaAfsAdmSvr.h" />
+ <File Id="fileiTaAfsAdmSvrTypes_H" Name="ITAAFS~2.h" LongName="iTaAfsAdmSvrTypes.h" DiskId="1" src="$(var.IncDir)WINNT\iTaAfsAdmSvrTypes.h" />
+ <File Id="fileregexp_H" Name="regexp.h" LongName="regexp.h" DiskId="1" src="$(var.IncDir)WINNT\regexp.h" />
+ <File Id="fileresize_H" Name="resize.h" LongName="resize.h" DiskId="1" src="$(var.IncDir)WINNT\resize.h" />
+ <File Id="filesettings_H" Name="settings.h" LongName="settings.h" DiskId="1" src="$(var.IncDir)WINNT\settings.h" />
+ <File Id="filesubclass_H" Name="subclass.h" LongName="subclass.h" DiskId="1" src="$(var.IncDir)WINNT\subclass.h" />
+ <File Id="filesyscfg_H" Name="syscfg.h" LongName="syscfg.h" DiskId="1" src="$(var.IncDir)WINNT\syscfg.h" />
+ <File Id="fileTaAfsAdmSvr_H" Name="TAAFSA~1.h" LongName="TaAfsAdmSvr.h" DiskId="1" src="$(var.IncDir)WINNT\TaAfsAdmSvr.h" />
+ <File Id="fileTaAfsAdmSvrClient_H" Name="TAAFSA~2.h" LongName="TaAfsAdmSvrClient.h" DiskId="1" src="$(var.IncDir)WINNT\TaAfsAdmSvrClient.h" />
+ <File Id="fileTaAfsAdmSvrCommon_H" Name="TAAFSA~3.h" LongName="TaAfsAdmSvrCommon.h" DiskId="1" src="$(var.IncDir)WINNT\TaAfsAdmSvrCommon.h" />
+ <File Id="filetalocale_H" Name="talocale.h" LongName="talocale.h" DiskId="1" src="$(var.IncDir)WINNT\talocale.h" />
+ <File Id="filetal_alloc_H" Name="TAL_AL~1.h" LongName="tal_alloc.h" DiskId="1" src="$(var.IncDir)WINNT\tal_alloc.h" />
+ <File Id="filetal_dialog_H" Name="TAL_DI~1.h" LongName="tal_dialog.h" DiskId="1" src="$(var.IncDir)WINNT\tal_dialog.h" />
+ <File Id="filetal_string_H" Name="TAL_ST~1.h" LongName="tal_string.h" DiskId="1" src="$(var.IncDir)WINNT\tal_string.h" />
+ <File Id="filevptab_H" Name="vptab.h" LongName="vptab.h" DiskId="1" src="$(var.IncDir)WINNT\vptab.h" />
+ </Component>
+ </Directory>
+ </Directory>
+ <Directory Id="dirLib" Name="lib" LongName="lib" SourceName=".">
+ <Component Id="cmp_SDK_Lib" Guid="71BC1B4E-4C4C-4FF8-8DDA-C6AB2BE22142">
+ <File Id="fileafsauthent_LIB" Name="AFSAUT~1.lib" LongName="afsauthent.lib" DiskId="1" src="$(var.LibDir)afsauthent.lib" />
+ <File Id="fileafsdes_LIB" Name="afsdes.lib" LongName="afsdes.lib" DiskId="1" src="$(var.LibDir)afsdes.lib" />
+ <File Id="fileafskfw_LIB" Name="afskfw.lib" LongName="afskfw.lib" DiskId="1" src="$(var.LibDir)afskfw.lib" />
+ <File Id="fileafslogon_LIB" Name="afslogon.lib" LongName="afslogon.lib" DiskId="1" src="$(var.LibDir)afslogon.lib" />
+ <File Id="fileafslwp_LIB" Name="afslwp.lib" LongName="afslwp.lib" DiskId="1" src="$(var.LibDir)afslwp.lib" />
+ <File Id="fileafspthread_LIB" Name="AFSPTH~1.lib" LongName="afspthread.lib" DiskId="1" src="$(var.LibDir)afspthread.lib" />
+ <File Id="fileafsrpc_LIB" Name="afsrpc.lib" LongName="afsrpc.lib" DiskId="1" src="$(var.LibDir)afsrpc.lib" />
+ <File Id="fileafsrx_LIB" Name="afsrx.lib" LongName="afsrx.lib" DiskId="1" src="$(var.LibDir)afsrx.lib" />
+ <File Id="fileafsrxkad_LIB" Name="afsrxkad.lib" LongName="afsrxkad.lib" DiskId="1" src="$(var.LibDir)afsrxkad.lib" />
+ <File Id="fileafsrxstat_LIB" Name="AFSRXS~1.lib" LongName="afsrxstat.lib" DiskId="1" src="$(var.LibDir)afsrxstat.lib" />
+ <File Id="fileafsubik_LIB" Name="afsubik.lib" LongName="afsubik.lib" DiskId="1" src="$(var.LibDir)afsubik.lib" />
+ <File Id="filelanahelper_LIB" Name="LANAHE~1.lib" LongName="lanahelper.lib" DiskId="1" src="$(var.LibDir)lanahelper.lib" />
+ <File Id="filelibafsconf_LIB" Name="LIBAFS~1.lib" LongName="libafsconf.lib" DiskId="1" src="$(var.LibDir)libafsconf.lib" />
+ <File Id="filelibosi_LIB" Name="libosi.lib" LongName="libosi.lib" DiskId="1" src="$(var.LibDir)libosi.lib" />
+ <File Id="filecm_config_OBJ" Name="CM_CON~1.obj" LongName="cm_config.obj" DiskId="1" src="$(var.LibDir)cm_config.obj" />
+ <File Id="filecm_dns_OBJ" Name="cm_dns.obj" LongName="cm_dns.obj" DiskId="1" src="$(var.LibDir)cm_dns.obj" />
+ </Component>
+ <Directory Id="dirLibAfs" Name="afs" LongName="afs" SourceName=".">
+ <Component Id="cmp_SDK_Lib_Afs" Guid="CD671A64-D491-4363-A7AD-645482B481BE">
+ <File Id="fileafsacl_LIB" Name="afsacl.lib" LongName="afsacl.lib" DiskId="1" src="$(var.LibDir)afs\afsacl.lib" />
+ <File Id="fileafsadminutil_LIB" Name="AFSADM~1.lib" LongName="afsadminutil.lib" DiskId="1" src="$(var.LibDir)afs\afsadminutil.lib" />
+ <File Id="fileafsaudit_LIB" Name="afsaudit.lib" LongName="afsaudit.lib" DiskId="1" src="$(var.LibDir)afs\afsaudit.lib" />
+ <File Id="fileafsauth_LIB" Name="afsauth.lib" LongName="afsauth.lib" DiskId="1" src="$(var.LibDir)afs\afsauth.lib" />
+ <File Id="fileafsbos_LIB" Name="afsbos.lib" LongName="afsbos.lib" DiskId="1" src="$(var.LibDir)afs\afsbos.lib" />
+ <File Id="fileafsbosadmin_LIB" Name="AFSBOS~1.lib" LongName="afsbosadmin.lib" DiskId="1" src="$(var.LibDir)afs\afsbosadmin.lib" />
+ <File Id="fileafsbubasics_LIB" Name="AFSBUB~1.lib" LongName="afsbubasics.lib" DiskId="1" src="$(var.LibDir)afs\afsbubasics.lib" />
+ <File Id="fileafsbudb_LIB" Name="afsbudb.lib" LongName="afsbudb.lib" DiskId="1" src="$(var.LibDir)afs\afsbudb.lib" />
+ <File Id="fileafsbutm_LIB" Name="afsbutm.lib" LongName="afsbutm.lib" DiskId="1" src="$(var.LibDir)afs\afsbutm.lib" />
+ <File Id="fileafsbxdb_LIB" Name="afsbxdb.lib" LongName="afsbxdb.lib" DiskId="1" src="$(var.LibDir)afs\afsbxdb.lib" />
+ <File Id="fileafscfgadmin_LIB" Name="AFSCFG~1.lib" LongName="afscfgadmin.lib" DiskId="1" src="$(var.LibDir)afs\afscfgadmin.lib" />
+ <File Id="fileafsclass_LIB" Name="afsclass.lib" LongName="afsclass.lib" DiskId="1" src="$(var.LibDir)afs\afsclass.lib" />
+ <File Id="fileafsclientadmin_LIB" Name="AFSCLI~1.lib" LongName="afsclientadmin.lib" DiskId="1" src="$(var.LibDir)afs\afsclientadmin.lib" />
+ <File Id="fileafscmd_LIB" Name="afscmd.lib" LongName="afscmd.lib" DiskId="1" src="$(var.LibDir)afs\afscmd.lib" />
+ <File Id="fileafscom_err_LIB" Name="AFSCOM~1.lib" LongName="afscom_err.lib" DiskId="1" src="$(var.LibDir)afs\afscom_err.lib" />
+ <File Id="fileafsdir_LIB" Name="afsdir.lib" LongName="afsdir.lib" DiskId="1" src="$(var.LibDir)afs\afsdir.lib" />
+ <File Id="fileafseventlog_LIB" Name="AFSEVE~1.lib" LongName="afseventlog.lib" DiskId="1" src="$(var.LibDir)afs\afseventlog.lib" />
+ <File Id="fileafsint_LIB" Name="afsint.lib" LongName="afsint.lib" DiskId="1" src="$(var.LibDir)afs\afsint.lib" />
+ <File Id="fileafskasadmin_LIB" Name="AFSKAS~1.lib" LongName="afskasadmin.lib" DiskId="1" src="$(var.LibDir)afs\afskasadmin.lib" />
+ <File Id="fileafskauth.krb_LIB" Name="AFSKAU~1.lib" LongName="afskauth.krb.lib" DiskId="1" src="$(var.LibDir)afs\afskauth.krb.lib" />
+ <File Id="fileafskauth_LIB" Name="afskauth.lib" LongName="afskauth.lib" DiskId="1" src="$(var.LibDir)afs\afskauth.lib" />
+ <File Id="fileafspioctl_LIB" Name="AFSPIO~1.lib" LongName="afspioctl.lib" DiskId="1" src="$(var.LibDir)afs\afspioctl.lib" />
+ <File Id="fileafsprocmgmt_LIB" Name="AFSPRO~1.lib" LongName="afsprocmgmt.lib" DiskId="1" src="$(var.LibDir)afs\afsprocmgmt.lib" />
+ <File Id="fileafsprot_LIB" Name="afsprot.lib" LongName="afsprot.lib" DiskId="1" src="$(var.LibDir)afs\afsprot.lib" />
+ <File Id="fileafsptsadmin_LIB" Name="AFSPTS~1.lib" LongName="afsptsadmin.lib" DiskId="1" src="$(var.LibDir)afs\afsptsadmin.lib" />
+ <File Id="fileafsreg_LIB" Name="afsreg.lib" LongName="afsreg.lib" DiskId="1" src="$(var.LibDir)afs\afsreg.lib" />
+ <File Id="fileafsusd_LIB" Name="afsusd.lib" LongName="afsusd.lib" DiskId="1" src="$(var.LibDir)afs\afsusd.lib" />
+ <File Id="fileafsutil_LIB" Name="afsutil.lib" LongName="afsutil.lib" DiskId="1" src="$(var.LibDir)afs\afsutil.lib" />
+ <File Id="fileafsvldb_LIB" Name="afsvldb.lib" LongName="afsvldb.lib" DiskId="1" src="$(var.LibDir)afs\afsvldb.lib" />
+ <File Id="fileafsvol_LIB" Name="afsvol.lib" LongName="afsvol.lib" DiskId="1" src="$(var.LibDir)afs\afsvol.lib" />
+ <File Id="fileafsvolser_LIB" Name="AFSVOL~1.lib" LongName="afsvolser.lib" DiskId="1" src="$(var.LibDir)afs\afsvolser.lib" />
+ <File Id="fileafsvosadmin_LIB" Name="AFSVOS~1.lib" LongName="afsvosadmin.lib" DiskId="1" src="$(var.LibDir)afs\afsvosadmin.lib" />
+ <File Id="filemtafsint_LIB" Name="mtafsint.lib" LongName="mtafsint.lib" DiskId="1" src="$(var.LibDir)afs\mtafsint.lib" />
+ <File Id="filemtafsvldb_LIB" Name="MTAFSV~1.lib" LongName="mtafsvldb.lib" DiskId="1" src="$(var.LibDir)afs\mtafsvldb.lib" />
+ <File Id="fileTaAfsAdmSvrClient_LIB" Name="TAAFSA~1.lib" LongName="TaAfsAdmSvrClient.lib" DiskId="1" src="$(var.LibDir)afs\TaAfsAdmSvrClient.lib" />
+ <File Id="fileTaAfsAppLib_LIB" Name="TAAFSA~2.lib" LongName="TaAfsAppLib.lib" DiskId="1" src="$(var.LibDir)afs\TaAfsAppLib.lib" />
+ <File Id="filetalocale_LIB" Name="talocale.lib" LongName="talocale.lib" DiskId="1" src="$(var.LibDir)afs\talocale.lib" />
+ </Component>
+ </Directory>
+ </Directory>
+ </Directory> <!-- /Program -->
+ </Directory> <!-- /Client -->
+ <Directory Id="dirServer" Name="Server" LongName="Server" SourceName=".">
+ <Directory Id="dirusr" Name="usr" LongName="usr" SourceName=".">
+ <Directory Id="dirafs" Name="afs" LongName="afs" SourceName=".">
+ <Directory Id="dirbin" Name="bin" LongName="bin" SourceName="." src="$(var.ServerDir)">
+ <Component Id="cmf_vlserver_EXE" Guid="F6A43B78-EE17-4483-AA81-4B6C6957977D">
+ <File Id="filevlserver_EXE" Name="vlser.exe" LongName="vlserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_volinfo_EXE" Guid="CED56F48-1049-403F-912B-3C186867B563">
+ <File Id="filevolinfo_EXE" Name="volin.exe" LongName="volinfo.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_volserver_EXE" Guid="36A386A0-6DA9-40A7-A12D-6A521559933D">
+ <File Id="filevolserver_EXE" Name="volse.exe" LongName="volserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_afskill_EXE" Guid="454AA25A-3C62-4AF9-AFE1-36A54A0E3F1A">
+ <File Id="fileafskill_EXE" Name="afski.exe" LongName="afskill.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_afssvrcfg_EXE" Guid="39F6AB59-FD18-4647-8B83-CDEC59E2368F">
+ <File Id="fileafssvrcfg_EXE" Name="afssv.exe" LongName="afssvrcfg.exe" KeyPath="yes" DiskId="1">
+ <Shortcut Id="scSvrCfgWizard" Directory="dirShortCut" Name="SvrCfgWz.lnk" LongName="Server Configuration Wizard.lnk" Description="$(loc.StrCfgWzdDesc)" Arguments="/wizard" Icon="ico_afssvrcfg" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+ </File>
+ </Component>
+ <Component Id="cmf_bosctlsvc_EXE" Guid="8F6F62A8-BB6D-46C1-BA80-4F207AA24F0D">
+ <File Id="filebosctlsvc_EXE" Name="bosct.exe" LongName="bosctlsvc.exe" KeyPath="yes" DiskId="1" />
+ <ServiceControl Id="TransarcAFSServer" Name="TransarcAFSServer" Stop="both" Delete="both" Wait="yes" />
+ <ServiceInstall Id="svc_Server" Name="TransarcAFSServer" DisplayName="OpenAFS Server" Type="ownProcess" Start="auto" ErrorControl="normal">
+ <!-- ServiceConfig does nothing
+ <ServiceConfig FirstFailureActionType="restart" RestartServiceDelayInSeconds="5" SecondFailureActionType="restart" ThirdFailureActionType="none"/>
+ -->
+ </ServiceInstall>
+ </Component>
+ <Component Id="cmf_bosserver_EXE" Guid="0FF7D0AB-DEA0-429E-928C-588E838E2635">
+ <File Id="filebosserver_EXE" Name="bosse.exe" LongName="bosserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_buserver_EXE" Guid="BF674F47-33A0-418D-B7A5-7CE778D747A5">
+ <File Id="filebuserver_EXE" Name="buser.exe" LongName="buserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_fileserver_EXE" Guid="F8EF1067-5F55-426B-9258-EBC6CDCF0DDB">
+ <File Id="filefileserver_EXE" Name="files.exe" LongName="fileserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_fms_EXE" Guid="250BF6D4-EAC3-4A2F-BD32-CA603CD15020">
+ <File Id="filefms_EXE" Name="fms.exe" LongName="fms.exe" KeyPath="yes" DiskId="1" src="$(var.EtcDir)\fms.exe"/>
+ </Component>
+ <Component Id="cmf_butc_EXE" Guid="96DAC5A8-FD16-4FF5-8BD5-92F25880E557">
+ <File Id="filebutc_EXE" Name="butc.exe" LongName="butc.exe" KeyPath="yes" DiskId="1" src="$(var.EtcDir)\butc.exe"/>
+ </Component>
+ <Component Id="cmf_kaserver_EXE" Guid="73117045-0BB8-4F57-8A75-909F35C2D723">
+ <File Id="filekaserver_EXE" Name="kaser.exe" LongName="kaserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_ptserver_EXE" Guid="CDBDE41D-24DF-44E5-97D2-EFA71CDBEECB">
+ <File Id="fileptserver_EXE" Name="ptser.exe" LongName="ptserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_salvager_EXE" Guid="E3F3ACE5-B556-4FEF-9DA2-78B194AA6639">
+ <File Id="filesalvager_EXE" Name="salva.exe" LongName="salvager.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_upclient_EXE" Guid="321BB9BF-5FF0-4363-9927-41C60BD526E9">
+ <File Id="fileupclient_EXE" Name="upcli.exe" LongName="upclient.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_upserver_EXE" Guid="3CBD2EF5-43BC-4CA2-B367-87E82DED1406">
+ <File Id="fileupserver_EXE" Name="upser.exe" LongName="upserver.exe" KeyPath="yes" DiskId="1" />
+ </Component>
+ <Component Id="cmf_afsserver_CPL" Guid="E270281E-9DB2-40A8-A418-55B4EC4A3FE7">
+ <File Id="fileafsserver_CPL" Name="afsserve.cpl" LongName="afsserver.cpl" KeyPath="yes" DiskId="1"/>
+ <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" Name="AFS Server CPL" Value="[#fileafsserver_CPL]" Id="reg_Server30" />
+ </Component>
+
+ <Component Id="cmp_Server_Program" Guid="8C4D0351-8EBF-4192-BF63-DCB3AADF4115" KeyPath="yes">
+ <CreateFolder />
+ <CreateFolder Directory="dirlog" />
+ <CreateFolder Directory="diretc" />
+ <CreateFolder Directory="dirlocal" />
+ </Component>
+
+ <?ifdef Debug?>
+ <Component Id="cmp_Server_Program_Debug" Guid="5F7BA9F7-E9BD-4AC3-9232-5EFBF6B740F8">
+ <File Id="filevlserver_PDB" Name="vlser.pdb" LongName="vlserver.pdb" DiskId="1" />
+ <File Id="filevolinfo_PDB" Name="volin.pdb" LongName="volinfo.pdb" DiskId="1" />
+ <File Id="filevolserver_PDB" Name="volse.pdb" LongName="volserver.pdb" DiskId="1" />
+ <File Id="fileafskill_PDB" Name="afski.pdb" LongName="afskill.pdb" DiskId="1" />
+ <File Id="fileafssvrcfg_PDB" Name="afssv.pdb" LongName="afssvrcfg.pdb" DiskId="1" />
+ <File Id="filebosctlsvc_PDB" Name="bosct.pdb" LongName="bosctlsvc.pdb" DiskId="1" />
+ <File Id="filebosserver_PDB" Name="bosse.pdb" LongName="bosserver.pdb" DiskId="1" />
+ <File Id="filebuserver_PDB" Name="buser.pdb" LongName="buserver.pdb" DiskId="1" />
+ <File Id="filefileserver_PDB" Name="files.pdb" LongName="fileserver.pdb" DiskId="1" />
+ <File Id="filefms_PDB" Name="fms.pdb" LongName="fms.pdb" DiskId="1" src="$(var.EtcDir)\fms.pdb"/>
+ <File Id="filebutc_PDB" Name="butc.pdb" LongName="butc.pdb" DiskId="1" src="$(var.EtcDir)\butc.pdb"/>
+ <File Id="filekaserver_PDB" Name="kaser.pdb" LongName="kaserver.pdb" DiskId="1" />
+ <File Id="fileptserver_PDB" Name="ptser.pdb" LongName="ptserver.pdb" DiskId="1" />
+ <File Id="filesalvager_PDB" Name="salva.pdb" LongName="salvager.pdb" DiskId="1" />
+ <File Id="fileupclient_PDB" Name="upcli.pdb" LongName="upclient.pdb" DiskId="1" />
+ <File Id="fileupserver_PDB" Name="upser.pdb" LongName="upserver.pdb" DiskId="1" />
+ <File Id="fileafsserver_PDB" Name="afsserve.pdb" LongName="afsserver.pdb" KeyPath="yes" DiskId="1"/>
+ </Component>
+ <?endif?>
+
+ </Directory>
+ <Directory Id="dirlog" Name="log" />
+ <Directory Id="diretc" Name="etc" />
+ <Directory Id="dirlocal" Name="local" />
+ </Directory>
+ </Directory>
+ </Directory> <!-- Server -->
+
+ </Directory> <!-- AFS -->
+ </Directory> <!-- program files -->
+ <Directory Id="ProgramMenuFolder" Name=".">
+ <Directory Id="dirShortCut" Name="OpenAFS" LongName="OpenAFS"/>
+ </Directory>
+ <Directory Id="StartupFolder" Name=".">
+ </Directory>
+</Include>
--- /dev/null
+<Include>
+
+<ProgressText Action="Advertise" Template="">Anwendungsprogramm wird angeboten</ProgressText>
+
+<ProgressText Action="AllocateRegistrySpace" Template="Freier Speicherplatz: [1]">In der Registrierung wird Speicherplatz reserviert</ProgressText>
+
+<ProgressText Action="AppSearch" Template="Eigenschaft: [1], Signatur: [2]">Installierte Anwendungsprogramme werden gesucht</ProgressText>
+
+<ProgressText Action="BindImage" Template="Datei: [1]">Ausführbare Dateien werden gebunden</ProgressText>
+
+<ProgressText Action="CCPSearch" Template="">Kompatible Produkte werden gesucht</ProgressText>
+
+<ProgressText Action="CostFinalize" Template="">Speicherbedarf wird berechnet</ProgressText>
+
+<ProgressText Action="CostInitialize" Template="">Speicherbedarf wird berechnet</ProgressText>
+
+<ProgressText Action="CreateFolders" Template="Ordner: [1]">Ordner werden erstellt</ProgressText>
+
+<ProgressText Action="CreateShortcuts" Template="Verknüpfung: [1]">Verknüpfungen werden erstellt</ProgressText>
+
+<ProgressText Action="DeleteServices" Template="Dienst: [1]">Dienste werden gelöscht</ProgressText>
+
+<ProgressText Action="DuplicateFiles" Template="Datei: [1], Ordner: [9], Größe: [6]">Dateien werden dupliziert</ProgressText>
+
+<ProgressText Action="FileCost" Template="">Speicherbedarf wird berechnet</ProgressText>
+
+<ProgressText Action="FindRelatedProducts" Template="Anwendung gefunden: [1]">Verwandte Anwendungen werden gesucht</ProgressText>
+
+<ProgressText Action="GenerateScript" Template="[1]">Skriptoperationen werden generiert für Aktion:</ProgressText>
+
+<ProgressText Action="InstallAdminPackage" Template="Datei: [1], Ordner: [9], Größe: [6]">Netzwerkinstallationsdateien werden kopiert</ProgressText>
+
+<ProgressText Action="InstallFiles" Template="Datei: [1], Ordner: [9], Größe: [6]">Neue Dateien werden kopiert</ProgressText>
+
+<ProgressText Action="InstallODBC" Template="">ODBC-Komponenten werden installiert</ProgressText>
+
+<ProgressText Action="InstallServices" Template="Dienst: [2]">Neue Dienste werden installiert</ProgressText>
+
+<ProgressText Action="InstallSFPCatalogFile" Template="Datei: [1], Abhängigkeiten: [2]">Systemkatalog wird installiert</ProgressText>
+
+<ProgressText Action="InstallValidate" Template="">Die Installation wird überprüft</ProgressText>
+
+<ProgressText Action="LaunchConditions" Template="">Die Startbedingungen werden überprüft</ProgressText>
+
+<ProgressText Action="MigrateFeatureStates" Template="Anwendung: [1]">Funktionszustände verwandter Anwendungen werden migriert</ProgressText>
+
+<ProgressText Action="MoveFiles" Template="Datei: [1], Ordner: [9], Größe: [6]">Dateien werden verschoben</ProgressText>
+
+<ProgressText Action="MsiPublishAssemblies" Template="Anwendungskontext:[1], Assemblierungsname:[2]">Assemblierungsinformationen werden veröffentlicht</ProgressText>
+
+<ProgressText Action="MsiUnpublishAssemblies" Template="Anwendungskontext:[1], Assemblierungsname:[2]">Veröffentlichung der Assemblierungsinformationen wird aufgehoben</ProgressText>
+
+<ProgressText Action="PatchFiles" Template="Datei: [1], Ordner: [2], Größe: [3]">Dateien werden gepatcht</ProgressText>
+
+<ProgressText Action="ProcessComponents" Template="">Registrierung der Komponente(n) wird aktualisiert</ProgressText>
+
+<ProgressText Action="PublishComponents" Template="Komponentenkennung: [1], Kennzeichner: [2]">Qualifizierte Komponenten werden veröffentlicht</ProgressText>
+
+<ProgressText Action="PublishFeatures" Template="Funktion: [1]">Produktfunktionen werden veröffentlicht</ProgressText>
+
+<ProgressText Action="PublishProduct" Template="">Produktinformation wird veröffentlicht</ProgressText>
+
+<ProgressText Action="RegisterClassInfo" Template="Klassenkennung: [1]">Klassenserver werden registriert</ProgressText>
+
+<ProgressText Action="RegisterComPlus" Template="Anwendungskennung: [1]{{, Anwendungstyp: [2], Benutzer: [3], RSN: [4]}}">COM+-Anwendungen und Komponenten werden registriert</ProgressText>
+
+<ProgressText Action="RegisterExtensionInfo" Template="Erweiterung: [1]">Erweiterungsserver werden registriert</ProgressText>
+
+<ProgressText Action="RegisterFonts" Template="Schriftart: [1]">Schriftarten werden registriert</ProgressText>
+
+<ProgressText Action="RegisterMIMEInfo" Template="MIME-Inhaltstyp: [1], Erweiterung: [2]">MIME-Informationen werden registriert</ProgressText>
+
+<ProgressText Action="RegisterProduct" Template="[1]">Produkt wird registriert</ProgressText>
+
+<ProgressText Action="RegisterProgIdInfo" Template="Programmkennung: [1]">Programmidentifikatoren werden registriert</ProgressText>
+
+<ProgressText Action="RegisterTypeLibraries" Template="Bibliothekenkennung: [1]">Typbibliotheken werden registriert</ProgressText>
+
+<ProgressText Action="RegisterUser" Template="[1]">Benutzer wird registriert</ProgressText>
+
+<ProgressText Action="RemoveDuplicateFiles" Template="Datei: [1], Ordner: [9]">Duplizierte Dateien werden entfernt</ProgressText>
+
+<ProgressText Action="RemoveEnvironmentStrings" Template="Name: [1], Wert: [2], Aktion [3]">Umgebungsstrings werden aktualisiert</ProgressText>
+
+<ProgressText Action="RemoveExistingProducts" Template="Anwendung: [1], Befehlszeile: [2]">Anwendungen werden entfernt</ProgressText>
+
+<ProgressText Action="RemoveFiles" Template="Datei: [1], Ordner: [9]">Dateien werden entfernt</ProgressText>
+
+<ProgressText Action="RemoveFolders" Template="Ordner: [1]">Ordner werden entfernt</ProgressText>
+
+<ProgressText Action="RemoveIniValues" Template="Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4]">INI-Dateieinträge werden entfernt</ProgressText>
+
+<ProgressText Action="RemoveODBC" Template="">ODBC-Komponenten werden entfernt</ProgressText>
+
+<ProgressText Action="RemoveRegistryValues" Template="Schlüssel: [1], Name: [2]">Werte werden aus der Systemregistrierung entfernt</ProgressText>
+
+<ProgressText Action="RemoveShortcuts" Template="Verknüpfungen: [1]">Verknüpfungen werden entfernt</ProgressText>
+
+<ProgressText Action="RMCCPSearch" Template="">Kompatible Produkte werden gesucht</ProgressText>
+
+<ProgressText Action="Rollback" Template="[1]">Aktion wird rückgängig gemacht:</ProgressText>
+
+<ProgressText Action="RollbackCleanup" Template="Datei: [1]">Sicherungsdateien werden entfernt</ProgressText>
+
+<ProgressText Action="SelfRegModules" Template="Datei: [1], Ordner: [2]">Module werden registriert</ProgressText>
+
+<ProgressText Action="SelfUnregModules" Template="Datei: [1], Ordner: [2]">Module werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="SetODBCFolders" Template="">ODBC-Ordner werden initialisiert</ProgressText>
+
+<ProgressText Action="StartServices" Template="Dienst: [1]">Dienste werden gestartet</ProgressText>
+
+<ProgressText Action="StopServices" Template="Dienst: [1]">Dienst werden angehalten</ProgressText>
+
+<ProgressText Action="UnmoveFiles" Template="Datei: [1], Ordner: [9]">Verschobene Dateien werden entfernt</ProgressText>
+
+<ProgressText Action="UnpublishComponents" Template="Komponentenkennung: [1], Kennzeichner: [2]">Veröffentlichung qualifizierter Komponenten wird rückgängig gemacht</ProgressText>
+
+<ProgressText Action="UnpublishFeatures" Template="Funktion: [1]">Veröffentlichung von Produktfunktionen wird rückgängig gemacht</ProgressText>
+
+<ProgressText Action="UnpublishProduct" Template="">Veröffentlichung von Produktinformation wird rückgängig gemacht</ProgressText>
+
+<ProgressText Action="UnregisterClassInfo" Template="Klassenkennung: [1]">Klassenserver werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="UnregisterComPlus" Template="Anwendungskennung: [1]{{, Anwendungstyp: [2]}}">COM+-Anwendungen und Komponenten werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="UnregisterExtensionInfo" Template="Erweiterung: [1]">Erweiterungsserver werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="UnregisterFonts" Template="Schriftart: [1]">Schriftarten werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="UnregisterMIMEInfo" Template="MIME-Typ: [1], Erweiterung: [2]">MIME-Informationen werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="UnregisterProgIdInfo" Template="Programmkennung: [1]">Programmidentifikatoren werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="UnregisterTypeLibraries" Template="Bibliothekenkennung: [1]">Typbibliotheken werden aus der Registrierung entfernt</ProgressText>
+
+<ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Wert: [2], Aktion [3]">Umgebungsstrings werden aktualisiert</ProgressText>
+
+<ProgressText Action="WriteIniValues" Template="Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4]">INI-Dateiwerte werden geschrieben</ProgressText>
+
+<ProgressText Action="WriteRegistryValues" Template="Schlüssel: [1], Name: [2], Wert: [3]">Werte werden in die Systemregistrierung geschrieben</ProgressText>
+
+</Include>
--- /dev/null
+<Include>
+
+<Error Id="0">{{Schwerwiegender Fehler: }}</Error>
+
+<Error Id="1">{{Fehler [1]. }}</Error>
+
+<Error Id="2">Warnung [1]. </Error>
+
+<Error Id="3"></Error>
+
+<Error Id="4">Information [1]. </Error>
+
+<Error Id="5">Bei der Installation dieses Pakets ist ein unerwarteter Fehler aufgetreten. Es liegt eventuell ein das Paket betreffendes Problem vor. Der Fehlercode ist [1]. {{Argumente: [2], [3], [4]}}</Error>
+
+<Error Id="6"></Error>
+
+<Error Id="7">{{Festplatte voll: }}</Error>
+
+<Error Id="8">Aktion [Time]: [1]. [2]</Error>
+
+<Error Id="9">[ProductName]</Error>
+
+<Error Id="10">{[2]}{, [3]}{, [4]}</Error>
+
+<Error Id="11">Art der Nachricht: [1], Argument: [2]</Error>
+
+<Error Id="12">=== Protokollierung gestartet: [Date] [Time] ===</Error>
+
+<Error Id="13">=== Protokollierung beendet: [Date] [Time] ===</Error>
+
+<Error Id="14">Aktion gestartet um [Time]: [1].</Error>
+
+<Error Id="15">Aktion beendet um [Time]: [1]. Rückgabewert [2].</Error>
+
+<Error Id="16">Verbleibende Zeit: {[1] Minute(n) }{[2] Sekunde(n)}</Error>
+
+<Error Id="17">Nicht genügend Arbeitsspeicher. Beenden Sie andere Anwendungen und wiederholen Sie den Vorgang.</Error>
+
+<Error Id="18">Installer antwortet nicht mehr.</Error>
+
+<Error Id="19">Installer wurde vorzeitig angehalten.</Error>
+
+<Error Id="20">Warten Sie, während Windows [ProductName] konfiguriert.</Error>
+
+<Error Id="21">Erforderliche Daten werden ermittelt...</Error>
+
+<Error Id="22">Ältere Versionen dieser Anwendung werden entfernt...</Error>
+
+<Error Id="23">Entfernen älterer Versionen dieser Anwendung wird vorbereitet...</Error>
+
+<Error Id="32">{[ProductName]-}Setup erfolgreich abgeschlossen.</Error>
+
+<Error Id="33">{[ProductName]-}Setup fehlgeschlagen.</Error>
+
+<Error Id="1101">Fehler beim Lesen von Datei: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob die Datei existiert und ob Sie darauf zugreifen können.</Error>
+
+<Error Id="1301">Datei "[2]" kann nicht erstellt werden. Es existiert bereits ein Ordner mit dem gleichen Namen. Brechen Sie die Installation ab und versuchen Sie, in einen anderen Ordner zu installieren.</Error>
+
+<Error Id="1302">Legen Sie den Datenträger ein: [2]</Error>
+
+<Error Id="1303">Die Rechte von Installer reichen nicht aus, um auf diesen Ordner zuzugreifen: [2]. Die Installation kann nicht fortgesetzt werden. Melden Sie sich als Administrator an oder wenden Sie sich an den Systemadministrator.</Error>
+
+<Error Id="1304">Fehler beim Schreiben in Datei: [2]. Überprüfen Sie, ob Sie auf den Ordner zugreifen können.</Error>
+
+<Error Id="1305">Fehler beim Lesen von Datei: [2] {{ Systemfehler [3].}} Überprüfen Sie, ob die Datei existiert und ob Sie darauf zugreifen können.</Error>
+
+<Error Id="1306">Eine andere Anwendung hat exklusiven Zugriff auf die Datei "[2]". Beenden Sie alle anderen Anwendungen. Klicken Sie danach auf "Wiederholen".</Error>
+
+<Error Id="1307">Auf der Festplatte ist nicht genügend freier Speicherplatz vorhanden, um diese Datei zu installieren: [2]. Sorgen Sie für zusätzlichen freien Speicher und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um Installer zu beenden.</Error>
+
+<Error Id="1308">Die Quelldatei wurde nicht gefunden: [2]. Überprüfen Sie, ob die Datei existiert und ob Sie darauf zugreifen können.</Error>
+
+<Error Id="1309">Fehler beim Lesen von Datei: [3]. {{ Systemfehler [2].}} Überprüfen Sie, ob die Datei existiert und ob Sie darauf zugreifen können.</Error>
+
+<Error Id="1310">Fehler beim Schreiben in Datei: [3]. {{ Systemfehler [2].}} Überprüfen Sie, ob Sie auf den Ordner zugreifen können.</Error>
+
+<Error Id="1311">Die Quelldatei{{ (CAB-Datei)}} wurde nicht gefunden: [2]. Überprüfen Sie, ob die Datei existiert und ob Sie darauf zugreifen können.</Error>
+
+<Error Id="1312">Ordner "[2]" kann nicht erstellt werden. Eine Datei mit diesem Namen existiert bereits. Benennen Sie die Datei um oder entfernen Sie die Datei, und klicken Sie dann auf "Wiederholen". Oder klicken Sie auf "Abbrechen", um das Programm zu beenden.</Error>
+
+<Error Id="1313">Das Volume [2] steht im Augenblick nicht zur Verfügung. Wählen Sie ein anderes Volume aus.</Error>
+
+<Error Id="1314">Der angegebene Pfad "[2]" ist nicht verfügbar.</Error>
+
+<Error Id="1315">Schreibzugriff auf den angegebenen Ordner "[2]" ist nicht möglich.</Error>
+
+<Error Id="1316">Beim Versuch, die Datei [2] zu lesen, ist ein Netzwerkfehler aufgetreten.</Error>
+
+<Error Id="1317">Beim Versuch, den Ordner [2] zu erstellen, ist ein Fehler aufgetreten.</Error>
+
+<Error Id="1318">Beim Versuch, den Ordner [2] zu erstellen, ist ein Netzwerkfehler aufgetreten.</Error>
+
+<Error Id="1319">Beim Versuch, die Quelldatei (CAB-Datei) [2] zu öffnen, ist ein Netzwerkfehler aufgetreten.</Error>
+
+<Error Id="1320">Der angegebene Pfad ist zu lang: [2]</Error>
+
+<Error Id="1321">Installer besitzt keine ausreichenden Berechtigungen, um diese Datei zu verändern: [2].</Error>
+
+<Error Id="1322">Ein Teil des Ordnerpfads "[2]" ist ungültig. Er ist entweder leer, oder er überschreitet die vom System zugelassene Länge.</Error>
+
+<Error Id="1323">Der Ordnerpfad "[2]" enthält Wörter, die in Ordnerpfaden ungültig sind.</Error>
+
+<Error Id="1324">Der Ordnerpfad "[2]" enthält ein ungültiges Zeichen.</Error>
+
+<Error Id="1325">"[2]" ist kein gültiger kurzer Dateiname.</Error>
+
+<Error Id="1326">Fehler beim Abrufen der Dateisicherheit: [3] GetLastError: [2]</Error>
+
+<Error Id="1327">Ungültiges Laufwerk: [2]</Error>
+
+<Error Id="1328">Fehler bei der Anwendung des Patch auf Datei [2]. Die Datei wurde wahrscheinlich bereits auf andere Weise aktualisiert und kann von diesem Patch nicht mehr verändert werden. Wenden Sie sich mit Fragen an den Patchhersteller. {{Systemfehler: [3]}}</Error>
+
+<Error Id="1329">Eine erforderliche Datei kann nicht installiert werden, da die Kabinettdatei [2] nicht digital signiert wurde. Dies kann darauf hindeuten, dass die Kabinettdatei beschädigt ist.</Error>
+
+<Error Id="1330">Eine erforderliche Datei kann nicht installiert werden, da die Kabinettdatei [2] eine ungültige digitale Signatur hat. Dies kann darauf hindeuten, dass die Kabinettdatei beschädigt ist.{{ Der Fehler [3] wurde von WinVerifyTrust zurückgeliefert.}}</Error>
+
+<Error Id="1331">Die Datei [2] konnte nicht kopiert werden: CRC-Fehler.</Error>
+
+<Error Id="1332">Die Datei [2] konnte nicht verschoben werden: CRC-Fehler.</Error>
+
+<Error Id="1333">Die Datei [2] konnte nicht gepatcht werden: CRC-Fehler.</Error>
+
+<Error Id="1334">Die Datei "[2]" kann nicht installiert werden, da die Datei in der Kabinettdatei "[3]" nicht gefunden wurde. Dies deutet auf einen Netzwerkfehler, einen CD-ROM-Lesefehler oder auf ein das Paket betreffendes Problem hin.</Error>
+
+<Error Id="1335">Die für die Installation erforderliche Datei "[2]" ist beschädigt und kann nicht verwendet werden. Dies deutet auf einen Netzwerkfehler, einen CD-ROM-Lesefehler oder auf ein das Paket betreffendes Problem hin.</Error>
+
+<Error Id="1336">Beim Erstellen der für die Installation erforderlichen temporären Datei ist ein Fehler aufgetreten.{{ Ordner: [3]. Systemfehlercode: [2]}}</Error>
+
+<Error Id="1401">Schlüssel konnte nicht erstellt werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung. </Error>
+
+<Error Id="1402">Schlüssel konnte nicht geöffnet werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung. </Error>
+
+<Error Id="1403">Wert [2] konnte nicht aus Schlüssel [3] gelöscht werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung. </Error>
+
+<Error Id="1404">Schlüssel konnte nicht gelöscht werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung. </Error>
+
+<Error Id="1405">Wert [2] konnte nicht aus Schlüssel [3] gelesen werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung. </Error>
+
+<Error Id="1406">Wert [2] konnte nicht unter den Schlüssel [3] geschrieben werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1407">Die Schlüsselnamen für den Schlüssel [2] konnten nicht gelesen werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1408">Die Namen der untergeordneten Schlüssel des Schlüssels [2] konnten nicht bestimmt werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte auf diesen Schlüssel besitzen, oder setzen Sie sich mit dem Supportpersonal in Verbindung. </Error>
+
+<Error Id="1409">Die Sicherheitsinformation für den Schlüssel [2] konnte nicht gelesen werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie über ausreichende Zugriffsrechte auf diesen Schlüssel verfügen, oder setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1410">Der verfügbare Registrierungsspeicher konnte nicht vergrößert werden. [2] KB freier Registrierungsspeicher sind zum Installieren dieser Anwendung erforderlich.</Error>
+
+<Error Id="1500">Im Augenblick wird eine weitere Installation ausgeführt. Sie müssen erst die zweite Installation abschließen, bevor Sie diese Installation fortsetzen können.</Error>
+
+<Error Id="1501">Fehler beim Zugriff auf gesicherte Daten. Stellen Sie sicher, dass Windows Installer korrekt konfiguriert ist und wiederholen Sie die Installation.</Error>
+
+<Error Id="1502">Benutzer "[2]" hat die Installation des Produkts "[3]" bereits initialisiert. Dieser Benutzer muss die Installation wiederholen, bevor dieses Produkt verwendet werden kann. Die aktuelle Installation wird jetzt fortgesetzt.</Error>
+
+<Error Id="1503">Benutzer "[2]" hat die Installation des Produkts "[3]" bereits initialisiert. Dieser Benutzer muss die Installation wiederholen, bevor dieses Produkt verwendet werden kann.</Error>
+
+<Error Id="1601">Nicht genügend freier Speicherplatz -- Volume: "[2]"; erforderlicher Speicher: [3] KB; verfügbarer Speicher: [4] KB. Geben Sie einigen Festplattenspeicher frei und wiederholen Sie den Vorgang.</Error>
+
+<Error Id="1602">Sind Sie sicher, dass Sie abbrechen möchten?</Error>
+
+<Error Id="1603">Die Datei [2][3] wird im Augenblick verwendet{ vom folgenden Prozess: Name: [4], Kennung: [5], Fenstertitel: "[6]"}. Schließen Sie diese Anwendung und wiederholen Sie den Vorgang.</Error>
+
+<Error Id="1604">Das Produkt "[2]" ist bereits installiert und verhindert die Installation dieses Produkts. Die beiden Produkte sind inkompatibel.</Error>
+
+<Error Id="1605">Auf Volume "[2]" steht nicht genügend Speicherplatz für die Installation bei aktivierter Wiederherstellungsoption zur Verfügung. [3] KB sind erforderlich, aber nur [4] KB sind verfügbar. Klicken Sie auf "Ignorieren", um die Installation ohne Speicherung von Wiederherstellungsinformationen fortzusetzen, klicken Sie auf "Wiederholen", um den verfügbaren Speicher erneut zu überprüfen oder auf "Abbrechen", um die Installation abzubrechen.</Error>
+
+<Error Id="1606">Zugriff auf die Netzwerkadresse [2] war nicht möglich.</Error>
+
+<Error Id="1607">Die folgenden Anwendungen sollten geschlossen werden, bevor Sie die Installationen fortsetzen:</Error>
+
+<Error Id="1608">Es wurde keine Installation eines der zur Installation dieses Produkts erforderlichen passenden Produkte auf diesem Computer gefunden.</Error>
+
+<Error Id="1609">Beim Übernehmen der Sicherheitseinstellungen ist ein Fehler aufgetreten. [2] ist kein gültiger Benutzer bzw. keine gültige Gruppe. Dies kann ein das Paket betreffendes Problem oder ein bei Herstellung der Netzwerkverbindung mit dem Domänencontroller aufgetretenes Problem sein. Überprüfen Sie die Netzwerkverbindung und klicken Sie auf "Wiederholen" oder "Abbrechen", um die Installation abzubrechen. {{Die SID des Benutzers wurde nicht gefunden, Systemfehler [3]}}</Error>
+
+<Error Id="1701">Der Schlüssel [2] ist ungültig. Überprüfen Sie, ob Sie den korrekten Schlüssel eingegeben haben.</Error>
+
+<Error Id="1702">Installer muss den Computer neu starten, bevor die Konfiguration von [2] fortgesetzt werden kann. Klicken Sie auf "Ja", um den Computer jetzt neu zu starten, oder auf "Nein", um den Computer später manuell neu zu starten.</Error>
+
+<Error Id="1703">Sie müssen den Computer neu starten, damit die geänderte Konfiguration von [2] wirksam wird. Klicken Sie auf "Ja", um den Computer jetzt neu zu starten, oder auf "Nein", um den Computer später manuell neu zu starten.</Error>
+
+<Error Id="1704">Eine Installation von [2] ist im Augenblick unterbrochen. Sie müssen die von dieser Installation vorgenommenen Änderungen rückgängig machen, bevor Sie den Vorgang fortsetzen können. Möchten Sie diese Änderungen rückgängig machen?</Error>
+
+<Error Id="1705">Im Augenblick wird eine weitere Installation dieses Produkts durchgeführt. Sie müssen die von dieser Installation vorgenommenen Änderungen rückgängig machen, bevor Sie den Vorgang fortsetzen können. Möchten Sie diese Änderungen rückgängig machen?</Error>
+
+<Error Id="1706">Für das Produkt [2] wurde kein Installationspaket gefunden. Wiederholen Sie die Installation und verwenden Sie dabei eine gültige Kopie des Installationspakets "[3]".</Error>
+
+<Error Id="1707">Die Installation wurde erfolgreich abgeschlossen.</Error>
+
+<Error Id="1708">Die Installation ist fehlgeschlagen.</Error>
+
+<Error Id="1709">Produkt: [2] -- [3]</Error>
+
+<Error Id="1710">Sie können entweder den ursprünglichen Zustand des Computers wiederherstellen oder die Installation später fortsetzen. Möchten Sie wiederherstellen?</Error>
+
+<Error Id="1711">Beim Versuch, Installationsinformationen auf die Festplatte zu schreiben, ist ein Fehler aufgetreten. Überprüfen Sie, ob genügend Plattenspeicher verfügbar ist, und klicken Sie auf "Wiederholen". Oder klicken Sie auf "Abbrechen", um die Installation zu abzubrechen.</Error>
+
+<Error Id="1712">Eine oder mehrere Datei(en), die zum Wiederherstellen des ursprünglichen Zustands des Computers erforderlich sind, wurden nicht gefunden. Wiederherstellen nicht möglich.</Error>
+
+<Error Id="1713">[2] kann eines seiner erforderlichen Produkte nicht installieren. Setzen Sie sich mit dem technischen Supportpersonal in Verbindung. {{Systemfehler: [3].}}</Error>
+
+<Error Id="1714">Die ältere Version von [2] kann nicht entfernt werden. Setzen Sie sich mit dem technischen Supportpersonal in Verbindung. {{Systemfehler: [3].}}</Error>
+
+<Error Id="1715">[2] wird installiert</Error>
+
+<Error Id="1716">[2] wird konfiguriert</Error>
+
+<Error Id="1717">[2] wird entfernt</Error>
+
+<Error Id="1718">Die Datei [2] wurde von Richtlinie für die digitale Signatur zurückgewiesen.</Error>
+
+<Error Id="1719">Auf den Windows Installer-Dienst konnte nicht zugegriffen werden. Dies kann auftreten, wenn Windows im abgesicherten Modus ausgeführt wird oder wenn der Windows Installer nicht korrekt installiert wurde. Setzen Sie sich mit dem Supportpersonal in Verbindung, um weitere Unterstützung zu erhalten.</Error>
+
+<Error Id="1720">Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Ein für den Abschluss der Installation erforderliches Skript konnte nicht ausgeführt werden. Wenden Sie sich an das Supportpersonal oder den Hersteller des Pakets. {{Benutzerdefinierte Aktion: [2] Skriptfehler [3], [4]: [5] Zeile[6], Spalte [7], [8] }}</Error>
+
+<Error Id="1721">Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Ein für den Abschluss der Installation erforderliches Programm konnte nicht ausgeführt werden. Wenden Sie sich an das Supportpersonal oder den Hersteller des Pakets. {{Aktion: [2], Pfad: [3], Befehl: [4] }}</Error>
+
+<Error Id="1722">Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Ein Programm, das im Rahmen der Installation ausgeführt wurde, wurde nicht erfolgreich abgeschlossen. Wenden Sie sich an das Supportpersonal oder den Hersteller des Pakets. {{Aktion: [2], Pfad: [3], Befehl: [4] }}</Error>
+
+<Error Id="1723">Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Eine für den Abschluss der Installation erforderliche DLL konnte nicht ausgeführt werden. Wenden Sie sich an das Supportpersonal oder den Hersteller des Pakets. {{Aktion: [2], Eintrag: [3], Bibliothek: [4] }}</Error>
+
+<Error Id="1724">Das Entfernen wurde erfolgreich abgeschlossen.</Error>
+
+<Error Id="1725">Das Entfernen ist fehlgeschlagen.</Error>
+
+<Error Id="1726">Die Ankündigung wurde erfolgreich abgeschlossen.</Error>
+
+<Error Id="1727">Die Ankündigung ist fehlgeschlagen.</Error>
+
+<Error Id="1728">Die Konfiguration wurde erfolgreich abgeschlossen.</Error>
+
+<Error Id="1729">Die Konfiguration ist fehlgeschlagen.</Error>
+
+<Error Id="1730">Sie müssen über Administratorrechte verfügen, um diese Anwendung entfernen zu können. Melden Sie sich als Administrator an oder wenden Sie sich an den technischen Support, um Unterstützung zu erhalten.</Error>
+
+<Error Id="1801">Der Pfad [2] ist ungültig. Geben Sie einen gültigen Pfad an.</Error>
+
+<Error Id="1802">Nicht genügend Arbeitsspeicher. Beenden Sie andere Anwendungen und wiederholen Sie den Vorgang.</Error>
+
+<Error Id="1803">In Laufwerk [2] ist kein Datenträger eingelegt. Legen Sie einen Datenträger ein und klicken Sie auf "Wiederholen". Oder klicken Sie auf "Abbrechen", um zu dem zuvor ausgewählten Volume zurückzukehren.</Error>
+
+<Error Id="1804">In Laufwerk [2] ist kein Datenträger eingelegt. Legen Sie einen Datenträger ein und klicken Sie auf "Wiederholen". Oder klicken Sie auf "Abbrechen", um zum Dialog "Durchsuchen" zurückzukehren und ein anderes Volume auszuwählen.</Error>
+
+<Error Id="1805">Der Ordner [2] existiert nicht. Geben Sie den Pfad für einen existierenden Ordner ein.</Error>
+
+<Error Id="1806">Die Zugriffsrechte reichen nicht aus, um diesen Ordner zu lesen.</Error>
+
+<Error Id="1807">Es konnte kein gültiger Zielordner für die Installation bestimmt werden.</Error>
+
+<Error Id="1901">Fehler beim Versuch, von der Quellinstallationsdatenbank zu lesen: [2].</Error>
+
+<Error Id="1902">Planung des Computerneustarts: Die Datei [2] wird in [3] umbenannt. Der Computer muss neu gestartet werden, um den Vorgang abzuschließen.</Error>
+
+<Error Id="1903">Planung des Computerneustarts: Die Datei [2] wird gelöscht. Der Computer muss neu gestartet werden, um den Vorgang abzuschließen.</Error>
+
+<Error Id="1904">Fehler beim Registrieren von Modul [2]. HRESULT [3]. Wenden Sie sich an den Support.</Error>
+
+<Error Id="1905">Fehler beim Entfernen von Modul [2] aus der Registrierung. HRESULT [3]. Wenden Sie sich an den Support.</Error>
+
+<Error Id="1906">Fehler beim Zwischenspeichern von Paket [2]. Fehler: [3]. Wenden Sie sich an den Support.</Error>
+
+<Error Id="1907">Schriftart [2] konnte nicht registriert werden. Überprüfen Sie, ob Sie ausreichende Zugriffsrechte zum Installieren von Schriftarten besitzen und ob das System diese Schriftart unterstützt.</Error>
+
+<Error Id="1908">Schriftart [2] konnte nicht aus der Registrierung entfernt werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von Schriftarten besitzen.</Error>
+
+<Error Id="1909">Verknüpfung [2] konnte nicht erstellt werden. Überprüfen Sie, ob der Zielordner vorhanden ist und ob Sie Zugriff darauf haben.</Error>
+
+<Error Id="1910">Verknüpfung [2] konnte nicht entfernt werden. Überprüfen Sie, ob die Verknüpfungsdatei vorhanden ist und ob Sie darauf Zugriff haben.</Error>
+
+<Error Id="1911">Typbibliothek für Datei [2] konnte nicht registriert werden. Setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1912">Typbibliothek für Datei [2] konnte nicht aus der Registrierung entfernt werden. Setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1913">Aktualisieren der INI-Datei war nicht möglich: [2][3]. Überprüfen Sie, ob die Datei vorhanden ist und ob Sie darauf Zugriff haben.</Error>
+
+<Error Id="1914">Es war nicht möglich festzulegen, dass Datei [3] beim Neustart des Computers durch Datei [2] ersetzt wird. Überprüfen Sie, ob Sie Schreibzugriff auf Datei [3] haben.</Error>
+
+<Error Id="1915">Fehler beim Entfernen des ODBC-Treibermanagers, ODBC-Fehler [2]: [3]. Setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1916">Fehler bei der Installation des ODBC-Treibermanagers. ODBC-Fehler [2]: [3]. Setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1917">Fehler beim Entfernen des ODBC-Treibers: [4], ODBC-Fehler [2]: [3]. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von ODBC-Treibern besitzen.</Error>
+
+<Error Id="1918">Fehler beim Installieren des ODBC-Treibers: [4], ODBC-Fehler [2]: [3]. Überprüfen Sie, ob die Datei [4] vorhanden ist und ob Sie darauf Zugriff haben.</Error>
+
+<Error Id="1919">Fehler beim Konfigurieren der ODBC-Datenquelle: [4], ODBC-Fehler [2]: [3]. Überprüfen Sie, ob die Datei [4] vorhanden ist und ob Sie darauf Zugriff haben.</Error>
+
+<Error Id="1920">Dienst "[2]" ([3]) konnte nicht gestartet werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Starten von Systemdiensten besitzen.</Error>
+
+<Error Id="1921">Dienst "[2]" ([3]) konnte nicht angehalten werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Anhalten von Systemdiensten besitzen.</Error>
+
+<Error Id="1922">Dienst "[2]" ([3]) konnte nicht gelöscht werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von Systemdiensten besitzen.</Error>
+
+<Error Id="1923">Dienst "[2]" ([3]) konnte nicht installiert werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Installieren von Systemdiensten besitzen.</Error>
+
+<Error Id="1924">Umgebungsvariable "[2]" konnte nicht aktualisiert werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Ändern von Umgebungsvariablen besitzen.</Error>
+
+<Error Id="1925">Sie besitzen keine ausreichenden Berechtigungen, um diese Installation für alle Benutzer dieses Computers auszuführen. Melden Sie sich als Administrator an, und wiederholen Sie diese Installation.</Error>
+
+<Error Id="1926">Dateisicherheit für Datei "[3]" konnte nicht eingestellt werden. Fehler: [2]. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Ändern der Sicherheitsrechte für diese Datei besitzen.</Error>
+
+<Error Id="1927">Komponentendienste (COM+ 1.0) sind auf diesem Computer nicht installiert. Um diese Installation erfolgreich abzuschließen, müssen Komponentendienste installiert sein. Komponentendienste stehen unter Windows 2000 zur Verfügung.</Error>
+
+<Error Id="1928">Fehler beim Registrieren einer COM+-Anwendung. Setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1929">Fehler beim Entfernen einer COM+-Anwendung aus der Registrierung. Setzen Sie sich mit dem Supportpersonal in Verbindung.</Error>
+
+<Error Id="1930">Die Beschreibung für Dienst "[2]" ([3]) konnte nicht geändert werden.</Error>
+
+<Error Id="1931">Der Windows Installer-Dienst kann die Systemdatei [2] nicht aktualisieren, weil die Datei von Windows geschützt wird. Sie müssen möglicherweise das Betriebssystem aktualisieren, damit dieses Programm korrekt funktionieren kann. {{Paketversion: [3], vom System geschützte Version: [4]}}</Error>
+
+<Error Id="1932">Der Windows Installer-Dienst kann die geschützte Windows-Datei [2] nicht aktualisieren. {{Paketversion: [3], vom System geschützte Version: [4], SFP-Fehler: [5]}}</Error>
+
+<Error Id="1933">Einige geschützte Windows-Dateien konnten nicht aktualisiert werden. {{SFP-Fehler: [2]. Liste der geschützten Dateien:\r\n[3]}}</Error>
+
+<Error Id="1934">Benutzerinstallationen sind über die Computerrichtlinie deaktiviert.</Error>
+
+<Error Id="1935">Während der Installation der Assemblierungskomponente [2] ist ein Fehler aufgetreten. HRESULT: [3]. {{Assemblierungsschnittstelle: [4], Funktion: [5], Assemblierungsname: [6]}}</Error>
+
+</Include>
--- /dev/null
+<Include>
+
+<ProgressText Action="Advertise" Template="">Advertising application</ProgressText>
+
+<ProgressText Action="AppSearch" Template="Property: [1], Signature: [2]">Searching for installed applications</ProgressText>
+
+<ProgressText Action="AllocateRegistrySpace" Template="Free space: [1]">Allocating registry space</ProgressText>
+
+<ProgressText Action="BindImage" Template="File: [1]">Binding executables</ProgressText>
+
+<ProgressText Action="CCPSearch" Template="">Searching for qualifying products</ProgressText>
+
+<ProgressText Action="CostFinalize" Template="">Computing space requirements</ProgressText>
+
+<ProgressText Action="CostInitialize" Template="">Computing space requirements</ProgressText>
+
+<ProgressText Action="CreateFolders" Template="Folder: [1]">Creating folders</ProgressText>
+
+<ProgressText Action="CreateShortcuts" Template="Shortcut: [1]">Creating shortcuts</ProgressText>
+
+<ProgressText Action="DeleteServices" Template="Service: [1]">Deleting services</ProgressText>
+
+<ProgressText Action="DuplicateFiles" Template="File: [1], Directory: [9], Size: [6]">Creating duplicate files</ProgressText>
+
+<ProgressText Action="FileCost" Template="">Computing space requirements</ProgressText>
+
+<ProgressText Action="FindRelatedProducts" Template="Found application: [1]">Searching for related applications</ProgressText>
+
+<ProgressText Action="GenerateScript" Template="[1]">Generating script operations for action:</ProgressText>
+
+<ProgressText Action="InstallAdminPackage" Template="File: [1], Directory: [9], Size: [6]">Copying network install files</ProgressText>
+
+<ProgressText Action="InstallFiles" Template="File: [1], Directory: [9], Size: [6]">Copying new files</ProgressText>
+
+<ProgressText Action="InstallODBC" Template="">Installing ODBC components</ProgressText>
+
+<ProgressText Action="InstallServices" Template="Service: [2]">Installing new services</ProgressText>
+
+<ProgressText Action="InstallValidate" Template="">Validating install</ProgressText>
+
+<ProgressText Action="LaunchConditions" Template="">Evaluating launch conditions</ProgressText>
+
+<ProgressText Action="MigrateFeatureStates" Template="Application: [1]">Migrating feature states from related applications</ProgressText>
+
+<ProgressText Action="MoveFiles" Template="File: [1], Directory: [9], Size: [6]">Moving files</ProgressText>
+
+<ProgressText Action="PatchFiles" Template="File: [1], Directory: [2], Size: [3]">Patching files</ProgressText>
+
+<ProgressText Action="ProcessComponents" Template="">Updating component registration</ProgressText>
+
+<ProgressText Action="PublishComponents" Template="Component ID: [1], Qualifier: [2]">Publishing Qualified Components</ProgressText>
+
+<ProgressText Action="PublishFeatures" Template="Feature: [1]">Publishing Product Features</ProgressText>
+
+<ProgressText Action="PublishProduct" Template="">Publishing product information</ProgressText>
+
+<ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registering Class servers</ProgressText>
+
+<ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">Registering COM+ Applications and Components</ProgressText>
+
+<ProgressText Action="RegisterExtensionInfo" Template="Extension: [1]">Registering extension servers</ProgressText>
+
+<ProgressText Action="RegisterFonts" Template="Font: [1]">Registering fonts</ProgressText>
+
+<ProgressText Action="RegisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Registering MIME info</ProgressText>
+
+<ProgressText Action="RegisterProduct" Template="[1]">Registering product</ProgressText>
+
+<ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">Unregistering program identifiers</ProgressText>
+
+<ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Registering type libraries</ProgressText>
+
+<ProgressText Action="RegisterUser" Template="[1]">Registering user</ProgressText>
+
+<ProgressText Action="RemoveDuplicateFiles" Template="File: [1], Directory: [9]">Removing duplicated files</ProgressText>
+
+<ProgressText Action="RemoveEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>
+
+<ProgressText Action="RemoveExistingProducts" Template="Application: [1], Command line: [2]">Removing applications</ProgressText>
+
+<ProgressText Action="RemoveFiles" Template="File: [1], Directory: [9]">Removing files</ProgressText>
+
+<ProgressText Action="RemoveFolders" Template="Folder: [1]">Removing folders</ProgressText>
+
+<ProgressText Action="RemoveIniValues" Template="File: [1], Section: [2], Key: [3], Value: [4]">Removing INI files entries</ProgressText>
+
+<ProgressText Action="RemoveODBC" Template="">Removing ODBC components</ProgressText>
+
+<ProgressText Action="RemoveRegistryValues" Template="Key: [1], Name: [2]">Removing system registry values</ProgressText>
+
+<ProgressText Action="RemoveShortcuts" Template="Shortcut: [1]">Removing shortcuts</ProgressText>
+
+<ProgressText Action="RMCCPSearch" Template="">Searching for qualifying products</ProgressText>
+
+<ProgressText Action="Rollback" Template="[1]">Rolling back action:</ProgressText>
+
+<ProgressText Action="RollbackCleanup" Template="File: [1]">Removing backup files</ProgressText>
+
+<ProgressText Action="SelfRegModules" Template="File: [1], Folder: [2]">Registering modules</ProgressText>
+
+<ProgressText Action="SelfUnregModules" Template="File: [1], Folder: [2]">Unregistering modules</ProgressText>
+
+<ProgressText Action="SetODBCFolders" Template="">Initializing ODBC directories</ProgressText>
+
+<ProgressText Action="StartServices" Template="Service: [1]">Starting services</ProgressText>
+
+<ProgressText Action="StopServices" Template="Service: [1]">Stopping services</ProgressText>
+
+<ProgressText Action="UnmoveFiles" Template="File: [1], Directory: [9]">Removing moved files</ProgressText>
+
+<ProgressText Action="UnpublishComponents" Template="Component ID: [1], Qualifier: [2]">Unpublishing Qualified Components</ProgressText>
+
+<ProgressText Action="UnpublishFeatures" Template="Feature: [1]">Unpublishing Product Features</ProgressText>
+
+<ProgressText Action="UnpublishProduct" Template="">Unpublishing product information</ProgressText>
+
+<ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Unregister Class servers</ProgressText>
+
+<ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Unregistering COM+ Applications and Components</ProgressText>
+
+<ProgressText Action="UnregisterExtensionInfo" Template="Extension: [1]">Unregistering extension servers</ProgressText>
+
+<ProgressText Action="UnregisterFonts" Template="Font: [1]">Unregistering fonts</ProgressText>
+
+<ProgressText Action="UnregisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Unregistering MIME info</ProgressText>
+
+<ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Unregistering program identifiers</ProgressText>
+
+<ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Unregistering type libraries</ProgressText>
+
+<ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>
+
+<ProgressText Action="WriteIniValues" Template="File: [1], Section: [2], Key: [3], Value: [4]">Writing INI files values</ProgressText>
+
+<ProgressText Action="WriteRegistryValues" Template="Key: [1], Name: [2], Value: [3]">Writing system registry values</ProgressText>
+
+</Include>
--- /dev/null
+<Include>
+
+<Error Id="0">{{Fatal error: }}</Error>
+
+<Error Id="1">{{Error [1]. }}</Error>
+
+<Error Id="2">Warning [1]. </Error>
+
+<Error Id="3"></Error>
+
+<Error Id="4">Info [1]. </Error>
+
+<Error Id="5">Internal Error [1]. [2]{, [3]}{, [4]}</Error>
+
+<Error Id="6"></Error>
+
+<Error Id="7">{{Disk full: }}</Error>
+
+<Error Id="8">Action [Time]: [1]. [2]</Error>
+
+<Error Id="9">[ProductName]</Error>
+
+<Error Id="10">{[2]}{, [3]}{, [4]}</Error>
+
+<Error Id="11">Message type: [1], Argument: [2]</Error>
+
+<Error Id="12">=== Logging started: [Date] [Time] ===</Error>
+
+<Error Id="13">=== Logging stopped: [Date] [Time] ===</Error>
+
+<Error Id="14">Action start [Time]: [1].</Error>
+
+<Error Id="15">Action ended [Time]: [1]. Return value [2].</Error>
+
+<Error Id="16">Time remaining: {[1] minutes }{[2] seconds}</Error>
+
+<Error Id="17">Out of memory. Shut down other applications before retrying.</Error>
+
+<Error Id="18">Installer is no longer responding.</Error>
+
+<Error Id="19">Installer stopped prematurely.</Error>
+
+<Error Id="20">Please wait while Windows configures [ProductName]</Error>
+
+<Error Id="21">Gathering required information...</Error>
+
+<Error Id="22">Removing older versions of this application...</Error>
+
+<Error Id="23">Preparing to remove older versions of this application...</Error>
+
+<Error Id="32">{[ProductName] }Setup completed successfully.</Error>
+
+<Error Id="33">{[ProductName] }Setup failed.</Error>
+
+<Error Id="1101">Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it.</Error>
+
+<Error Id="1301">Cannot create the file '[3]'. A directory with this name already exists. Cancel the install and try installing to a different location.</Error>
+
+<Error Id="1302">Please insert the disk: [2]</Error>
+
+<Error Id="1303">The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as administrator or contact your system administrator.</Error>
+
+<Error Id="1304">Error writing to file: [2]. Verify that you have access to that directory.</Error>
+
+<Error Id="1305">Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it.</Error>
+
+<Error Id="1306">Another application has exclusive access to the file '[2]'. Please shut down all other applications, then click Retry.</Error>
+
+<Error Id="1307">There is not enough disk space to install this file: [2]. Free some disk space and click Retry, or click Cancel to exit.</Error>
+
+<Error Id="1308">Source file not found: [2]. Verify that the file exists and that you can access it.</Error>
+
+<Error Id="1309">Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it.</Error>
+
+<Error Id="1310">Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory.</Error>
+
+<Error Id="1311">Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it.</Error>
+
+<Error Id="1312">Cannot create the directory '[2]'. A file with this name already exists. Please rename or remove the file and click retry, or click Cancel to exit.</Error>
+
+<Error Id="1313">The volume [2] is currently unavailable. Please select another.</Error>
+
+<Error Id="1314">The specified path '[2]' is unavailable.</Error>
+
+<Error Id="1315">Unable to write to the specified folder: [2].</Error>
+
+<Error Id="1316">A network error occurred while attempting to read from the file: [2]</Error>
+
+<Error Id="1317">An error occurred while attempting to create the directory: [2]</Error>
+
+<Error Id="1318">A network error occurred while attempting to create the directory: [2]</Error>
+
+<Error Id="1319">A network error occurred while attempting to open the source file cabinet: [2]</Error>
+
+<Error Id="1320">The specified path is too long: [2]</Error>
+
+<Error Id="1321">The Installer has insufficient privileges to modify this file: [2].</Error>
+
+<Error Id="1322">A portion of the folder path '[2]' is invalid. It is either empty or exceeds the length allowed by the system.</Error>
+
+<Error Id="1323">The folder path '[2]' contains words that are not valid in folder paths.</Error>
+
+<Error Id="1324">The folder path '[2]' contains an invalid character.</Error>
+
+<Error Id="1325">'[2]' is not a valid short file name.</Error>
+
+<Error Id="1326">Error getting file security: [3] GetLastError: [2]</Error>
+
+<Error Id="1327">Invalid Drive: [2]</Error>
+
+<Error Id="1328">Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}}</Error>
+
+<Error Id="1401">Could not create key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. </Error>
+
+<Error Id="1402">Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. </Error>
+
+<Error Id="1403">Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. </Error>
+
+<Error Id="1404">Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. </Error>
+
+<Error Id="1405">Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. </Error>
+
+<Error Id="1406">Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.</Error>
+
+<Error Id="1407">Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.</Error>
+
+<Error Id="1408">Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.</Error>
+
+<Error Id="1409">Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.</Error>
+
+<Error Id="1410">Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.</Error>
+
+<Error Id="1500">Another installation is in progress. You must complete that installation before continuing this one.</Error>
+
+<Error Id="1501">Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again.</Error>
+
+<Error Id="1502">User '[2]' has previously initiated an install for product '[3]'. That user will need to run that install again before they can use that product. Your current install will now continue.</Error>
+
+<Error Id="1503">User '[2]' has previously initiated an install for product '[3]'. That user will need to run that install again before they can use that product.</Error>
+
+<Error Id="1601">Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry.</Error>
+
+<Error Id="1602">Are you sure you want to cancel?</Error>
+
+<Error Id="1603">The file [2][3] is being held in use{ by the following process: Name: [4], Id: [5], Window Title: '[6]'}. Close that application and retry.</Error>
+
+<Error Id="1604">The product '[2]' is already installed, preventing the installation of this product. The two products are incompatible.</Error>
+
+<Error Id="1605">Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. If rollback is disabled, enough space is available. Click 'Cancel' to quit, 'Retry' to check available disk space again, or 'Ignore' to continue without rollback.</Error>
+
+<Error Id="1606">Could not access network location [2].</Error>
+
+<Error Id="1607">The following applications should be closed before continuing the install:</Error>
+
+<Error Id="1608">Could not find any previously installed compliant products on the machine for installing this product.</Error>
+
+<Error Id="1701">The key [2] is not valid. Verify that you entered the correct key.</Error>
+
+<Error Id="1702">The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to manually restart later.</Error>
+
+<Error Id="1703">You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to manually restart later.</Error>
+
+<Error Id="1704">An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes?</Error>
+
+<Error Id="1705">A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?</Error>
+
+<Error Id="1706">An installation package for the product [2] cannot be found. Try the installation again using a valid copy of the installation package '[3]'.</Error>
+
+<Error Id="1707">Installation operation completed successfully.</Error>
+
+<Error Id="1708">Installation operation failed.</Error>
+
+<Error Id="1709">Product: [2] -- [3]</Error>
+
+<Error Id="1710">You may either restore your computer to its previous state or continue the install later. Would you like to restore?</Error>
+
+<Error Id="1711">An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the install.</Error>
+
+<Error Id="1712">One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible.</Error>
+
+<Error Id="1713">[2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}}</Error>
+
+<Error Id="1714">The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}}</Error>
+
+<Error Id="1801">The path [2] is not valid. Please specify a valid path.</Error>
+
+<Error Id="1802">Out of memory. Shut down other applications before retrying.</Error>
+
+<Error Id="1803">There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.</Error>
+
+<Error Id="1804">There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.</Error>
+
+<Error Id="1805">The folder [2] does not exist. Please enter a path to an existing folder.</Error>
+
+<Error Id="1806">You have insufficient privileges to read this folder.</Error>
+
+<Error Id="1807">A valid destination folder for the install could not be determined.</Error>
+
+<Error Id="1901">Error attempting to read from the source install database: [2].</Error>
+
+<Error Id="1902">Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.</Error>
+
+<Error Id="1903">Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.</Error>
+
+<Error Id="1904">Module [2] failed to register. HRESULT [3]. Contact your support personnel.</Error>
+
+<Error Id="1905">Module [2] failed to unregister. HRESULT [3]. Contact your support personnel.</Error>
+
+<Error Id="1906">Failed to cache package [2]. Error: [3]. Contact your support personnel.</Error>
+
+<Error Id="1907">Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font.</Error>
+
+<Error Id="1908">Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts.</Error>
+
+<Error Id="1909">Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it.</Error>
+
+<Error Id="1910">Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it.</Error>
+
+<Error Id="1911">Could not register type library for file [2]. Contact your support personnel.</Error>
+
+<Error Id="1912">Could not unregister type library for file [2]. Contact your support personnel.</Error>
+
+<Error Id="1913">Could not update the ini file [2][3]. Verify that the file exists and that you can access it.</Error>
+
+<Error Id="1914">Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3].</Error>
+
+<Error Id="1915">Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>
+
+<Error Id="1916">Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>
+
+<Error Id="1917">Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.</Error>
+
+<Error Id="1918">Error installing ODBC driver: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.</Error>
+
+<Error Id="1919">Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.</Error>
+
+<Error Id="1920">Service '[2]' ([3]) failed to start. Verify that you have sufficient privileges to start system services.</Error>
+
+<Error Id="1921">Service '[2]' ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services.</Error>
+
+<Error Id="1922">Service '[2]' ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services.</Error>
+
+<Error Id="1923">Service '[2]' ([3]) could not be installed. Verify that you have sufficient privileges to install system services.</Error>
+
+<Error Id="1924">Could not update environment variable '[2]'. Verify that you have sufficient privileges to modify environment variables.</Error>
+
+<Error Id="1925">You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation.</Error>
+
+<Error Id="1926">Could not set file security for file '[3]'. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file.</Error>
+
+<Error Id="1927">Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000.</Error>
+
+<Error Id="1928">Error registering COM+ Application. Contact your support personnel for more information.</Error>
+
+<Error Id="1929">Error unregistering COM+ Application. Contact your support personnel for more information.</Error>
+
+<Error Id="1930">The description for service '[2]' ([3]) could not be changed."</Error>
+
+<Error Id="1931">The Windows Installer service cannot update the system file [1] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [2], OS Protected version: [3]}}"</Error>
+
+<Error Id="1932">The Windows Installer service cannot update the protected Windows file [1]. {{Package version: [2], OS Protected version: [3], SFP Error: [4]}}"</Error>
+
+</Include>
--- /dev/null
+<?xml version="1.0"?>
+<WixLocalization>
+<!-- Localization strings for en_US -->
+
+ <String Id="StrAFSProdDesc">Client and server components for AFS</String>
+ <String Id="StrAFSClientDesc">AFS Client</String>
+ <String Id="StrAFSClientDebugDesc">Debug symbols</String>
+ <String Id="StrAFSClientLongDesc">Provides client functionality for connecting to AFS servers with Kerberos authentication.</String>
+ <String Id="StrAFSClientDebugLongDesc">Debugging symbols for AFS client components.</String>
+ <String Id="StrAFSServerDesc">AFS Server</String>
+ <String Id="StrAFSServerDebugDesc">Debug symbols</String>
+ <String Id="StrAFSServerLongDesc">Provides AFS file server functionality.</String>
+ <String Id="StrAFSServerDebugLongDesc">Debugging symbols for AFS server components.</String>
+ <String Id="StrAFSCCDesc">AFS Control Center</String>
+ <String Id="StrAFSCCDebugDesc">Debug symbols</String>
+ <String Id="StrAFSCCLongDesc">Applications for managing and monitoring AFS servers.</String>
+ <String Id="StrAFSCCDebugLongDesc">Debugging symbols for AFS Control Center components.</String>
+ <String Id="StrAFSSDKDesc">AFS Software Development Kit</String>
+ <String Id="StrAFSSDKDebugDesc">Debug symbols</String>
+ <String Id="StrAFSSDKLongDesc">Headers and libraries for developing applications for AFS</String>
+ <String Id="StrAFSSDKDebugLongDesc">Debugging symbols for the AFS Software Development Kit.</String>
+ <String Id="StrAFSDocDesc">AFS System Administration Documentation</String>
+ <String Id="StrAFSDocLongDesc">Information on using and administering AFS.</String>
+ <String Id="StrAFSOptLongDesc">Optional components</String>
+ <String Id="StrAFSOptDesc">Optional components</String>
+ <String Id="StrLoopbackDesc">Loopback adapter</String>
+ <String Id="StrLoopbackLongDesc">Loopback adapter for AFS. It is recommended that you install the loopback adapter if you are installing the client components.</String>
+
+ <String Id="StrShlExtDesc">AFS Context Menu Shell Extension</String>
+ <String Id="StrAfsCredsDesc">Authentication for AFS</String>
+ <String Id="StrHlpFileDesc">AFS Client Help</String>
+ <String Id="StrSvrMgrDesc">Server Manager</String>
+ <String Id="StrAcctMgrDesc">Account Manager</String>
+ <String Id="StrDocLnkDesc">AFS Documentation</String>
+ <String Id="StrCfgWzdDesc">Server Configuration Wizard</String>
+
+ <String Id="StrLaunchCond">OpenAFS for Windows is currently only packaged for Windows 2000,XP and 2003</String>
+
+ <String Id="ErrNPIFailed">Installation of Network Provider failed. System error [2]</String>
+ <String Id="ErrSCCFailed">Configuration of client service failed. System error [2]</String>
+ <String Id="ErrSCSFailed">Configuration of server service failed. System error [2]</String>
+ <String Id="ErrAbort">Installation aborted : [2]</String>
+ <String Id="ErrNsisFailed">Uninstallation of the NSIS installation of OpenAFS failed with code [2]</String>
+
+ <String Id="ActInstallLoopback">Installing loopback adapter</String>
+ <String Id="ActRemoveLoopback">Removing existing loopback adapter</String>
+ <String Id="ActInstallNetProvider">Installing the network provider</String>
+ <String Id="ActRemoveNetProvider">Removing the network provider</String>
+ <String Id="ActConfigureClient">Configuring the AFS client service</String>
+ <String Id="ActConfigureServer">Configuring the AFS server service</String>
+ <String Id="ActRemoveNsisInstallation">Removing existing installation of OpenAFS</String>
+
+ <String Id="StrNsisAbortReason">Installation of OpenAFS for Windows was prematurely terminated because OpenAFS [NSISVERSION] was already installed.</String>
+
+</WixLocalization>
--- /dev/null
+\feff<?xml version="1.0"?>
+<Include>
+ <UI>
+ <Property Id="DefaultUIFont">DlgFont8</Property>
+ <Property Id="ErrorDialog">ErrorDlg</Property>
+ <Property Id="BannerBitmap">bannrbmp</Property>
+ <Property Id="IAgree">no</Property>
+ <Property Id="RemoveIcon">removico</Property>
+ <Property Id="ButtonText_Back">< &Back</Property>
+ <Property Id="ButtonText_Browse">Br&owse</Property>
+ <Property Id="ButtonText_Cancel">Cancel</Property>
+ <Property Id="ButtonText_Exit">&Exit</Property>
+ <Property Id="ButtonText_Finish">&Finish</Property>
+ <Property Id="ButtonText_Ignore">&Ignore</Property>
+ <Property Id="ButtonText_Install">&Install</Property>
+ <Property Id="ButtonText_Next">&Next ></Property>
+ <Property Id="ButtonText_No">&no</Property>
+ <Property Id="ButtonText_OK">OK</Property>
+ <Property Id="ButtonText_Remove">&Remove</Property>
+ <Property Id="ButtonText_Repair">&Repair</Property>
+ <Property Id="ButtonText_Reset">&Reset</Property>
+ <Property Id="ButtonText_Resume">&Resume</Property>
+ <Property Id="ButtonText_Retry">&Retry</Property>
+ <Property Id="ButtonText_Return">&Return</Property>
+ <Property Id="ButtonText_Yes">&yes</Property>
+ <Property Id="CompleteSetupIcon">completi</Property>
+ <Property Id="CustomSetupIcon">custicon</Property>
+ <Property Id="DialogBitmap">dlgbmp</Property>
+ <Property Id="DlgTitleFont">{&DlgFontBold8}</Property>
+ <Property Id="ExclamationIcon">exclamic</Property>
+ <Property Id="InfoIcon">info</Property>
+ <Property Id="InstallerIcon">insticon</Property>
+ <Property Id="Progress1">Installing</Property>
+ <Property Id="Progress2">installs</Property>
+ <Property Id="PROMPTROLLBACKCOST">P</Property>
+ <Property Id="RepairIcon">repairic</Property>
+ <Property Id="Setup">Setup</Property>
+ <Property Id="ShowUserRegistrationDlg">0</Property>
+ <Property Id="Wizard">Setup Wizard</Property>
+
+ <Dialog Id="AdminBrowseDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="PathEdit" Type="PathEdit" X="84" Y="202" Width="261" Height="17" Property="TARGETDIR" />
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_OK]">
+ <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="240" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="Reset" Value="0">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="ComboLabel" Type="Text" X="25" Y="58" Width="44" Height="10" TabSkip="no" Text="&Look in:" />
+ <Control Id="DirectoryCombo" Type="DirectoryCombo" X="70" Y="55" Width="220" Height="80" Property="TARGETDIR" Removable="yes" Fixed="yes" Remote="yes">
+ <Subscribe Event="IgnoreChange" Attribute="IgnoreChange" />
+ </Control>
+ <Control Id="Up" Type="PushButton" X="298" Y="55" Width="19" Height="19" ToolTip="Up One Level" Icon="yes" FixedSize="yes" IconSize="16" Text="Up">
+ <Publish Event="DirectoryListUp" Value="0">1</Publish>
+ </Control>
+ <Control Id="NewFolder" Type="PushButton" X="325" Y="55" Width="19" Height="19" ToolTip="Create A New Folder" Icon="yes" FixedSize="yes" IconSize="16" Text="New">
+ <Publish Event="DirectoryListNew" Value="0">1</Publish>
+ </Control>
+ <Control Id="DirectoryList" Type="DirectoryList" X="25" Y="83" Width="320" Height="110" Property="TARGETDIR" Sunken="yes" TabSkip="no" />
+ <Control Id="PathLabel" Type="Text" X="25" Y="205" Width="59" Height="10" TabSkip="no" Text="&Folder name:" />
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Browse to the destination folder</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Change current destination folder</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="AdminInstallPointDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Text" Type="Text" X="25" Y="80" Width="320" Height="10" TabSkip="no">
+ <Text>&Enter a new network location or click Browse to browse to one.</Text>
+ </Control>
+ <Control Id="PathEdit" Type="PathEdit" X="25" Y="93" Width="320" Height="18" Property="TARGETDIR" />
+ <Control Id="Browse" Type="PushButton" X="289" Y="119" Width="56" Height="17" Text="[ButtonText_Browse]">
+ <Publish Event="SpawnDialog" Value="AdminBrowseDlg">1</Publish>
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="AdminRegistrationDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="25" Y="20" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Please specify a network location for the server image of [ProductName] product</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Network Location</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="AdminRegistrationDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="OrganizationLabel" Type="Text" X="45" Y="71" Width="285" Height="30" TabSkip="no">
+ <Text>&Please enter the name of your organization in the box below. This will be used as default company name for subsequent installations of [ProductName]:</Text>
+ </Control>
+ <Control Id="OrganizationEdit" Type="Edit" X="45" Y="105" Width="220" Height="18" Property="COMPANYNAME" Text="{80}" />
+ <Control Id="CDKeyLabel" Type="Text" X="45" Y="130" Width="50" Height="10" TabSkip="no">
+ <Text>CD &Key:</Text>
+ </Control>
+ <Control Id="CDKeyEdit" Type="MaskedEdit" X="45" Y="143" Width="250" Height="16" Property="PIDKEY" Text="[PIDTemplate]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Image="yes" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="AdminWelcomeDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="ValidateProductID" Value="0">0</Publish>
+ <Publish Event="NewDialog" Value="AdminInstallPointDlg">ProductID</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Please enter your company information</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Company Information</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="AdminWelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Property="InstallMode" Value="Server Image">1</Publish>
+ <Publish Event="NewDialog" Value="AdminRegistrationDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" FixedSize="yes" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] will create a server image of [ProductName], at a specified network location. Click Next to continue or Cancel to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+
+ <Dialog Id="BrowseDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="PathEdit" Type="PathEdit" X="84" Y="202" Width="261" Height="18" Property="_BrowseProperty" Indirect="yes" />
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_OK]">
+ <Publish Event="SetTargetPath" Value="[_BrowseProperty]">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="240" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="Reset" Value="0">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="ComboLabel" Type="Text" X="25" Y="58" Width="44" Height="10" TabSkip="no" Text="&Look in:" />
+ <Control Id="DirectoryCombo" Type="DirectoryCombo" X="70" Y="55" Width="220" Height="80" Property="_BrowseProperty" Indirect="yes" Fixed="yes" Remote="yes">
+ <Subscribe Event="IgnoreChange" Attribute="IgnoreChange" />
+ </Control>
+ <Control Id="Up" Type="PushButton" X="298" Y="55" Width="19" Height="19" ToolTip="Up One Level" Icon="yes" FixedSize="yes" IconSize="16" Text="Up">
+ <Publish Event="DirectoryListUp" Value="0">1</Publish>
+ </Control>
+ <Control Id="NewFolder" Type="PushButton" X="325" Y="55" Width="19" Height="19" ToolTip="Create A New Folder" Icon="yes" FixedSize="yes" IconSize="16" Text="New">
+ <Publish Event="DirectoryListNew" Value="0">1</Publish>
+ </Control>
+ <Control Id="DirectoryList" Type="DirectoryList" X="25" Y="83" Width="320" Height="110" Property="_BrowseProperty" Sunken="yes" Indirect="yes" TabSkip="no" />
+ <Control Id="PathLabel" Type="Text" X="25" Y="205" Width="59" Height="10" TabSkip="no" Text="&Folder name:" />
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Browse to the destination folder</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Change current destination folder</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="CancelDlg" Y="10" Width="260" Height="85" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="no" Type="PushButton" X="132" Y="57" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_No]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="yes" Type="PushButton" X="72" Y="57" Width="56" Height="17" Text="[ButtonText_Yes]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">
+ <Text>Are you sure you want to cancel [ProductName] installation?</Text>
+ </Control>
+ <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />
+ </Dialog>
+ <Dialog Id="ContinueDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" FixedSize="yes" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] will continue installation of [ProductName] on your computer. Click Next to continue or Cancel to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Welcome back to the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="CustomizeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">
+ <Control Id="Tree" Type="SelectionTree" X="25" Y="85" Width="175" Height="95" Property="_BrowseProperty" Sunken="yes" TabSkip="no" Text="Tree of selections" />
+ <Control Id="Browse" Type="PushButton" X="304" Y="200" Width="56" Height="17" Text="[ButtonText_Browse]">
+ <Publish Event="SelectionBrowse" Value="BrowseDlg">1</Publish>
+ <Condition Action="hide">Installed</Condition>
+ </Control>
+ <Control Id="Reset" Type="PushButton" X="42" Y="243" Width="56" Height="17" Text="[ButtonText_Reset]">
+ <Publish Event="Reset" Value="0">1</Publish>
+ <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+ </Control>
+ <Control Id="DiskCost" Type="PushButton" X="111" Y="243" Width="56" Height="17">
+ <Text>Disk &Usage</Text>
+ <Publish Event="SpawnDialog" Value="DiskCostDlg">1</Publish>
+ <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">InstallMode = "Change"</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">InstallMode = "Custom"</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="ConfigClientDlg">&feaClient = 3</Publish>
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">&feaClient <> 3</Publish>
+ <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Select the way you want features to be installed.</Text>
+ </Control>
+ <Control Id="Text" Type="Text" X="25" Y="55" Width="320" Height="20">
+ <Text>Click on the icons in the tree below to change the way features will be installed.</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Custom Setup</Text>
+ </Control>
+ <Control Id="Box" Type="GroupBox" X="210" Y="81" Width="140" Height="98" />
+ <Control Id="ItemDescription" Type="Text" X="215" Y="90" Width="131" Height="30">
+ <Text>Multiline description of the currently selected item.</Text>
+ <Subscribe Event="SelectionDescription" Attribute="Text" />
+ </Control>
+ <Control Id="ItemSize" Type="Text" X="215" Y="130" Width="131" Height="45">
+ <Text>The size of the currently selected item.</Text>
+ <Subscribe Event="SelectionSize" Attribute="Text" />
+ </Control>
+ <Control Id="Location" Type="Text" X="75" Y="200" Width="215" Height="20">
+ <Text><The selection's path></Text>
+ <Subscribe Event="SelectionPath" Attribute="Text" />
+ <Subscribe Event="SelectionPathOn" Attribute="Visible" />
+ <Condition Action="hide">Installed</Condition>
+ </Control>
+ <Control Id="LocationLabel" Type="Text" X="25" Y="200" Width="50" Height="10" Text="Location:">
+ <Subscribe Event="SelectionPathOn" Attribute="Visible" />
+ <Condition Action="hide">Installed</Condition>
+ </Control>
+ </Dialog>
+ <Dialog Id="DiskCostDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_OK]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="20" Y="20" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>The disk space required for the installation of the selected features.</Text>
+ </Control>
+ <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">
+ <Text>The highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Disk Space Requirements</Text>
+ </Control>
+ <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="100" Width="330" Height="120" Sunken="yes" Fixed="yes" Remote="yes">
+ <Text>{120}{70}{70}{70}{70}</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="ErrorDlg" Y="10" Width="270" Height="105" Title="Installer Information" ErrorDialog="yes" NoMinimize="yes">
+ <Control Id="ErrorText" Type="Text" X="48" Y="15" Width="205" Height="60" TabSkip="no" Text="Information text" />
+ <Control Id="Y" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Yes]">
+ <Publish Event="EndDialog" Value="ErrorYes">1</Publish>
+ </Control>
+ <Control Id="A" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="EndDialog" Value="ErrorAbort">1</Publish>
+ </Control>
+ <Control Id="C" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="EndDialog" Value="ErrorCancel">1</Publish>
+ </Control>
+ <Control Id="ErrorIcon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />
+ <Control Id="I" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Ignore]">
+ <Publish Event="EndDialog" Value="ErrorIgnore">1</Publish>
+ </Control>
+ <Control Id="N" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_No]">
+ <Publish Event="EndDialog" Value="ErrorNo">1</Publish>
+ </Control>
+ <Control Id="O" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_OK]">
+ <Publish Event="EndDialog" Value="ErrorOk">1</Publish>
+ </Control>
+ <Control Id="R" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Retry]">
+ <Publish Event="EndDialog" Value="ErrorRetry">1</Publish>
+ </Control>
+ </Dialog>
+ <Dialog Id="ExitDialog" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" FixedSize="yes" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Click the Finish button to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Completing the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="FatalError" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" FixedSize="yes" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}[ProductName] [Wizard] ended prematurely</Text>
+ </Control>
+ <Control Id="Description1" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes">
+ <Text>[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.</Text>
+ </Control>
+ <Control Id="Description2" Type="Text" X="135" Y="115" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Click the Finish button to exit the [Wizard].</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="FilesInUse" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" KeepModeless="yes">
+ <Control Id="Retry" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Retry]">
+ <Publish Event="EndDialog" Value="Retry">1</Publish>
+ </Control>
+ <Control Id="Ignore" Type="PushButton" X="235" Y="243" Width="56" Height="17" Text="[ButtonText_Ignore]">
+ <Publish Event="EndDialog" Value="Ignore">1</Publish>
+ </Control>
+ <Control Id="Exit" Type="PushButton" X="166" Y="243" Width="56" Height="17" Text="[ButtonText_Exit]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Some files that need to be updated are currently in use.</Text>
+ </Control>
+ <Control Id="Text" Type="Text" X="20" Y="55" Width="330" Height="30">
+ <Text>The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Files in Use</Text>
+ </Control>
+ <Control Id="List" Type="ListBox" X="20" Y="87" Width="330" Height="130" Property="FileInUseProcess" Sunken="yes" TabSkip="yes" />
+ </Dialog>
+ <Dialog Id="LicenseAgreementDlg" Width="370" Height="270" Title="[ProductName] License Agreement" NoMinimize="yes">
+ <Control Id="Buttons" Type="RadioButtonGroup" X="20" Y="187" Width="330" Height="40" Property="IAgree" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="UserRegistrationDlg">IAgree = "yes" AND ShowUserRegistrationDlg = 1</Publish>
+ <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
+ <Publish Event="NewDialog" Value="RemovePreviousDlg">IAgree = "yes" AND ShowUserRegistrationDlg <> 1 AND (IBMAFS_UPGRADE OR OPENAFS_UPGRADE OR NSISUNINSTALL <> "")</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">IAgree = "yes" AND ShowUserRegistrationDlg <> 1 AND NOT (IBMAFS_UPGRADE OR OPENAFS_UPGRADE OR NSISUNINSTALL <> "")</Publish>
+ <Condition Action="disable">IAgree <> "yes"</Condition>
+ <Condition Action="enable">IAgree = "yes"</Condition>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="AgreementText" Type="ScrollableText" X="20" Y="60" Width="330" Height="120" Sunken="yes" TabSkip="no">
+