directory or on-line at http://www.openafs.org/dl/license10.html
The document now provides a step by step procedure that takes the user
-from a basic Windows 2000/XP workstation to an OpenAFS development
+from a basic Windows 2000/XP/2003 workstation to an OpenAFS development
environment. Details are provided so that a 'beginning' windows
developer can build an OpenAFS installable package for Windows 2000/XP/2003.
-NOTE:
+NOTE 1:
As of the OpenAFS 1.3 release series, Windows platforms released
-prior to Windows 2000 are not being supported. The InstallShield
-installer is still in the source tree but is no longer supported.
-A new open source installer based on NSIS 2.0 replaces it.
+prior to Windows 2000 are no longer supported. As of the OpenAFS 1.5
+series, the Windows 9x components are being removed from the source tree.
+
+NOTE 2:
+In this release, in addition to the production quality CIFS-AFS
+gateway based client service there also exists an experimental
+implementation of an Installable File System (IFS). To build the IFS
+version, follow the directions below, but note that only the NSIS
+installer script has been updated to support it. Also, the IFS kernel
+module must be built separately, using the IFS/DDK build environment.
+The IFS implementation does not contain a Network Provider interface
+to register an AFS service name.
*********** Windows 2000/XP/2003 Build Process ****************
Building OpenAFS for Windows requires configuring a Windows
development system by installing compilation tools and header files.
-Open AFS Software development can be done on Windows 2000 or XP. The
-target system, where OpenAFS will be installed, should be either
-Windows 2000, Windows XP, or Windows 2003. The building process is
-controlled by a nmake file that generates the necessary binaries and
-binds them into an install package.
+Open AFS Software development can be done on Windows 2000, XP, 2003,
+or Vista. The target system, where OpenAFS will be installed, can be
+one of:
+
+ * Windows 2000
+ * Windows XP
+ * Windows XP SP2
+ * Windows 2003
+ * Windows 2003 SP1
+ * Windows XP 64
+ * Windows 2003 64
+ * Windows 2003 R2 (32 or 64)
+ * Windows Vista (32 or 64)
+
+The build process is controlled by a nmake file that generates the
+necessary binaries and binds them into an install package.
The following steps describe how to configure Windows 2000/XP:
C. Install SDK header files
D. Configure NTBUILD.BAT
E. Set program version Level
- F. Build Win2000 binaries
- G. Install NSIS 2.0
+ F. Build the binaries
+ G. Install NSIS 2.18
H. Build NSIS Install Package
- I. Install Wix 2.0
+ I. Install Wix 2.0.4310
J. Build Wix MSI Install Package
K. Final Results
L. Optional Items
of storage depending on which compilers are selected. The following
versions are supported:
- Microsoft Visual .NET
+ Microsoft Visual Studio .NET
available via a MSDN subscription
- Microsoft Visual .NET 2003 (recommended)
+ Microsoft Visual Studio .NET 2003
available via a MSDN subscription
- Microsoft Visual C++ Toolkit 2003 (same as .NET 2003)
- http://msdn.microsoft.com/visualc/vctoolkit2003/
+ Microsoft Visual Studio .NET 2005 (required for AMD64 builds)
+ available via a MSDN subscription
+ (recommended - required for 64-bit builds)
The following Microsoft SDK is required:
- Microsoft Platform SDK for Windows XP SP2 [Core, Data Access and Installer SDKs are required]
+ Microsoft Platform SDK for Windows XP SP2 or Server 2003 SP1 or Vista
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/downlevel.htm [IE required]
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
The following Microsoft DDK is required:
- Microsoft Windows Server 2003 DDK
+ Microsoft Windows Server 2003 SP1 DDK
available via a MSDN subscription or via free CD
http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx
+The Microsoft HTML Help Workshop is required:
+
+ http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en
+
The NSIS installer requires about 14 MB of storage. The following
version is supported:
- Nullsoft Scriptable Installation System 2.0
+ Nullsoft Scriptable Installation System 2.18
http://nsis.sourceforge.net/home/
The WiX installer requires about 18 MB of storage. The following
version is supported:
- Wix 2.0.2217.0
- http://prdownloads.sourceforge.net/wix/sources-2.0.2217.0.zip
+ Wix 2.0.4310.0
+ http://prdownloads.sourceforge.net/wix/sources-2.0.4310.0.zip
The InstallShield scripts (although not supported) require version 5.5
of InstallShiled. Version 6.0 or higher of InstallShield are not
copy src\ntbuild.bat .
-The AFS base directory should look something like the following:
+The OpenAFS base directory should look something like the following:
c:\OpenAFS\OpenAFS-1.3.74\
NTMakefile
STEP B. Install compiler and development tools.
-Install a copy of Microsoft Visual .NET, Visual .NET 2003, Visual C++
-Toolkit 2003. The "Typical" install setting is sufficient.
+Install a copy of Microsoft Visual Studio .NET, Visual Studio .NET 2003,
+or Visual Studio .NET 2005. The "Typical" install setting is sufficient.
(1) You can reduce the installation size by selecting "Custom" install
and remove all but the following Options:
STEP C. Install SDK header files.
-Files from Microsoft's Platform SDK for Windows XP SP2 is required to
-complete a build on Windows 2000/XP/2003. You can install the "Core, Data
-Access and Installer SDKs" from
+Files from Microsoft's Platform SDK for Windows XP SP2 or Server 2003 are
+required to complete a build on Windows 2000/XP/2003. You can install
+the "Core, Data Access and Installer SDKs" from
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
-The header files that are required are found from a Microsoft SDK are:
+The header files that are required from a Microsoft SDK/DDK are:
npapi.h (Windows 2000,XP,2003 builds)
netcfgx.h (NSIS Loopback Adapter installer - Windows 2000,XP,2003 builds)
netcfgn.h, netcfgx.h:
Windows XP/2003 DDK - inc/wxp/
+If you are interested in experimenting with the IFS you must purchase from
+Microsoft a copy of the Windows 2003 SP1 IFS Kit.
+
+ http://www.microsoft.com/whdc/devtools/ifskit/default.mspx
+
STEP D. Configure NTBUILD.BAT.
must be defined to match your configuration:
AFSVER_CL: Set to 1200 if using MS Visual C++ 6.0
- Set to 1300 if using MS Visual .NET
- Set to 1310 if using MS Visual .NET 2003
- Set to 1400 if using MS Visual .NET 2005
+ Set to 1300 if using MS Visual Studio .NET
+ Set to 1310 if using MS Visual Studio .NET 2003
+ Set to 1400 if using MS Visual Studio .NET 2005
MSVCDIR: Set to the short name version of the directory into which
the visual C++ compiler was installed regardless of version
+ MSVCDIR64: On AMD64 systems, set to the 64-bit visual C++ compiler
+
MSSDKDIR: Set to the short name of the directory into which
the Platform SDK was installed
- NTDDKDIR: Set the short name of the directory containing the npapi.h file
+ NTDDKDIR: Set to the short name of the INC\WNET DDK directory
+
+ NTDDKDIR2: Set to the short name of the INC\CRT DDK directory
- AFSROOT: Set to the short name of the OpenAFS Base directory
+ AFSROOT: Set to the short name of the OpenAFS Base directory. This
+ cannot be set to a UNC path.
+
+ SYS_NAME: One of "i386_w2k" or "amd64_w2k"
+
+ APPVER: 0x500 for Windows 2000 and above; 0x502 for AMD64 systems
+
+ _WIN32_IE: Must match APPVER
+
+ MSVCVer: Set to 8.0 if using Visual Studio 8
STEP E. Set version and installation options (optional)
http://grand.central.org/dl/cellservdb/CellServDB
then copy it to %AFSROOT%\src\WINNT\install\NSIS and name it afsdcell.ini
-Edit file %AFSROOT%\src\config\NTMakefile.i386_nt40
+Edit file %AFSROOT%\src\config\NTMakefile.i386_w2k
AFSPRODUCT_VER_MAJOR - Version Major Number
AFSPRODUCT_VER_MINOR - Version Minor Number
AFSPRODUCT_VER_PATCH - Version Patch Number
(3) Configure the environment variables:
- For a release build:
+ For a release build (SMB version):
(a) Execute the VCVARS32.BAT or VSVARS32.BAT file which part of the
Visual Studio environment you installed.
(c) Execute the NTBUILD.BAT file with the parameter "free"
- For a debug build:
+ For a release build (IFS version):
+
+ (a) Execute the VCVARS32.BAT or VSVARS32.BAT file which part of the
+ Visual Studio environment you installed.
+
+ (b) Execute the SETENV.BAT file with the parameters "/2000 /RETAIL"
+
+ (c) Execute the NTBUILD.BAT file with the parameter "free ifs"
+
+ For a debug build (SMB version):
(a) Execute the VCVARS32.BAT or VSVARS32.BAT file which part of the
Visual Studio environment you installed.
(c) Execute the NTBUILD.BAT file with the parameter "checked"
+ For a debug build (IFS version):
+
+ (a) Execute the VCVARS32.BAT or VSVARS32.BAT file which part of the
+ Visual Studio environment you installed.
+
+ (b) Execute the SETENV.BAT file with the parameters "/2000 /DEBUG"
+
+ (c) Execute the NTBUILD.BAT file with the parameter "checked ifs"
+
(4) Clean the work area:
nmake /f NTMakefile clean
-(5) Build the complete Windows NT/2000 development environment.
+(5) Build the complete Windows 2000/XP/2003 development environment.
nmake /f NTMakefile install
process doesn't terminate with an error ("nmake.exe return code 0x2")
and it displays 'Build Finished Successfully'.
+(6) [IFS only] Open a DDK/IFS Build Environment command window, change
+ to the src\WINNT\afsrdr directory, and execute the "build" command.
+
-STEP G. Install NSIS 2.0 (optional).
+STEP G. Install NSIS 2.07 (optional).
-Download the Nullsoft Scriptable Installation System (NSIS) 2.0 from
+Download the Nullsoft Scriptable Installation System (NSIS) 2.07 from
http://nsis.sourceforge.net/home/