You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pc...@hyperreal.org on 1998/05/30 17:26:32 UTC
cvs commit: apache-devsite how-to-release-win32.html
pcs 98/05/30 08:26:31
Modified: . how-to-release-win32.html
Log:
Add some more detail on how to release on Windows, in the light of
experience building IS2 configurations. Be more explicit about where
the files come from (i.e. a tagged released), line ending conversion,
re-committing the IS2 configuration, registry keys, and building
binaries in a different directory.
Revision Changes Path
1.6 +71 -30 apache-devsite/how-to-release-win32.html
Index: how-to-release-win32.html
===================================================================
RCS file: /export/home/cvs/apache-devsite/how-to-release-win32.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- how-to-release-win32.html 1998/05/04 08:43:43 1.5
+++ how-to-release-win32.html 1998/05/30 15:26:30 1.6
@@ -69,12 +69,18 @@
<P>
-Now create the install directory. Copy the Apache distribution to this
-directory (make sure that the files have the correct DOS line endings
-first). Some of the directories and files are not needed on Windows,
-so now delete:
+Now create the install directory, and extract Apache into it. The
+Apache files will normally come either direct from CVS at a given tag
+value, or from an existing Unix source distribution. If the
+distribution has Unix line endings, convert the line endings of all
+files apart from <SAMP>htdocs/*.gif</SAMP> and
+<SAMP>icons/*.gif</SAMP>.
+
<P>
+The following directories are not needed on Windows because they
+are not part of the installer:
+
<UL>
<LI><SAMP>conf\*.conf-dist</SAMP> (but leave the <SAMP>*.conf-dist-win</SAMP>)
<LI><SAMP>src\os\{emx,bs2000,unix}</SAMP>
@@ -83,24 +89,39 @@
<LI><SAMP>src\modules\test</SAMP>
</UL>
+<P>
+
(Note: the InstallShield configuration file lists only the files which
-are to be build into the installer, so it is no necessary to remove
+are to be build into the installer, so it is not necessary to remove
these files and directories unless you are planning to update the IS
configuration by dragging-and-dropping directories).
<P>
+You will also need to build the executables and DLLs. This should
+<STRONG>not</STRONG> be done in the same directory where you are
+building the installer. Instead, copy your install directory to a
+temporary directory name (this can be any directory, but the examples
+below will assume that it is <SAMP>C:\BUILD</SAMP>).
+
+<P>
+
Copy the <SAMP>MSVCRT.DLL</SAMP> file into the install directory. This
file can be found on the MSVC++ 5.0 CD (it is a redistributable file),
or in the <SAMP>\WINDOWS\SYSTEM</SAMP> (Win95) or
<SAMP>\WINNT\SYSTEM32</SAMP> (WinNT) directories.
+<PRE>
+ COPY \WINDOWS\SYSTEM\MSVCRT.DLL \Apache <I>(Windows 95)</I>
+ COPY \WINNT\SYSTEM32\MSVCRT.DLL \Apache <I>(Windows NT)</I>
+</PRE>
+
<P>
<LI><STRONG>Configure the InstallShield Configuration File</STRONG><P>
-Apache for Windows is packaged using InstallShield 2. This requires an
-InstallShield configuration file
+Apache for Windows is packaged using InstallShield 2. This use the
+configuration file
<SAMP>os/win32/installer/apache.iwz</SAMP>. Unfortunately
InstallShield's configuration file contains hard-coded absolute paths
to the individual files. If your install directory (step 1) is
@@ -117,35 +138,55 @@
<P>
+Start InstallShield 2, then load the
+<SAMP>os/win32/installer/apache.iwz</SAMP> file from the build
+directory (e.g. <SAMP>\BUILD</SAMP>). Inside InstallShield, perform
+the following actions:
+
+<P>
+
<UL>
+ <LI>Check that <STRONG>all</STRONG> the components contain the correct
+ list of files. This is a case of manually comparing the list of
+ files in each component with the corresponding directory under
+ your install directory (this is a repeatative and boring process,
+ but InstallShield cannot handle betters ways of specific multiple
+ files or directories to include in a single step). You will need to
+ add or remove any files added or removed since the last time the
+ configuration file was updated (NB: certain Unix only files
+ may not need to be added, if they are not needed by Windows
+ end users).
+ </LI>
<LI>Set the Visual Design, Application Information, Version. This
- should contain the full version number, eg. 1.3 or 1.3b5.
+ should contain the full version number, eg. 1.3.0 or 1.3b5.
</LI>
<LI>Set the Visual Design, Main Window, Main Title. As above.
</LI>
- <LI>Make Registry Changes, Registry Keys. The key
+ <LI>Ensure that the correct registry key will be used.
+ Go to Make Registry Changes, Registry Keys. The key
HKLM\SOFTWARE\Apache Group\Apache should contain a subkey
containing the version number which does not change across beta
- release. For example, "1.3" (for a full release) or "1.3 beta"
+ release. For example, "1.3.0" (for a full release) or "1.3 beta"
(on all 1.3 betas). The name of this key must match the
definition of <SAMP>VERSION</SAMP> in
<SAMP>os/win32/registry.c</SAMP> of the version of Apache being
- packaged.
+ packaged (which should have been updated by the Release Manager
+ when they tagged the source tree).
</LI>
- <LI>Make Registry Changes, Registry Values. Under the key created in
+ <LI>Go to Make Registry Changes, Registry Values. Under the key created in
the previous step, add a REG_SZ (String) value with name
- "ServerRoot" and value "<INSTALLDIR>" (IS2 will replace this with
- the real install directory).
+ "ServerRoot" and value "<INSTALLDIR>" (IS2 will replace
+ this with the real install directory).
</LI>
</UL>
<P>
-If any of these are wrong the <SAMP>apache.iwz</SAMP> file will need
-updating. Do not forget to replace references to your install
-directory with <SAMP>C:\Apache</SAMP> in the file before committing
-it.
+After making the changes above you will have to commit the updated
+<SAMP>apache.iwz</SAMP> file back to the CVS tree. Do not forget to
+change references to your install directory back to
+<SAMP>C:\Apache</SAMP> if you used a different directory.
</P>
@@ -153,9 +194,9 @@
The installer DLL is called by the installation process to configure
the sample configuration files. It is built by running <SAMP>nmake -f
-Makefile.nt installdll</SAMP> in the <SAMP>src</SAMP> directory (is
-it not built by the normal <SAMP>_apacheX</SAMP> or
-<SAMP>installX</SAMP> targets). The code for the installer is in
+Makefile.nt installdll</SAMP> in the build directory (it is not built
+by the normal <SAMP>_apacheX</SAMP> or <SAMP>installX</SAMP>
+targets). The code for the installer is in
<SAMP>os/win32/installer/installdll</SAMP>, and after doing the build
above the DLL file will be in
<SAMP>os/win32/installer/installdll/Release/install.dll</SAMP>. Copy
@@ -166,12 +207,12 @@
<LI><STRONG>Build and Install Apache</STRONG><P>
Now build Apache in the normal way, with <SAMP>nmake /f Makefile.nt
-_apacher</SAMP>. After it is built, install it with <SAMP>nmake /f
-Makefile.nt installr</SAMP>. If you are using <CODE>C:\Apache</CODE>
-then this will install the binaries into your install tree. Otherwise
-you will need to copy the installed <SAMP>.EXE</SAMP> and
-<SAMP>.DLL</SAMP> files to your install tree, as well as the
-<SAMP>modules</SAMP> directory.
+_apacher</SAMP> in your build directory. After it is built, install it
+with <SAMP>nmake /f Makefile.nt installr</SAMP>. If you are using
+<CODE>C:\Apache</CODE> then this will install the binaries into your
+install tree. Otherwise you will need to copy the installed
+<SAMP>.EXE</SAMP> and <SAMP>.DLL</SAMP> files to your install tree, as
+well as the <SAMP>modules</SAMP> directory.
<P>
@@ -257,9 +298,9 @@
<LI><STRONG>Build the Installer</STRONG><P>
Now run InstallShield 2. Load the configured <SAMP>apache.iwz</SAMP>
-file. Go to the "Set Visual Design" option and make sure that the version
-number is set correctly in both the "Application Information" and
-"Main Window" panes.
+file from your build directory. Go to the "Set Visual Design" option
+and make sure that the version number is set correctly in both the
+"Application Information" and "Main Window" panes.
<P>