httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From p..@hyperreal.org
Subject cvs commit: apache-devsite how-to-release-win32.html
Date Sun, 10 Jan 1999 15:54:00 GMT
pcs         99/01/10 07:53:59

  Modified:    .        how-to-release-win32.html
  Log:
  Update notes on building the Apache for Windows installer.
  
  Move the notes about configuring InstallShield to after we have
  build the install tree including binaries. Add more details of Unix
  files which are not installed. Add some more cut-and-pastable
  commands to save time. Add some hints about better ways of
  updating the file groups in the IS configuration file to reflect the
  real filenames. Note that "dev" can be used in the registry key of
  development versions.
  
  Revision  Changes    Path
  1.9       +132 -83   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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- how-to-release-win32.html	1998/07/19 15:18:14	1.8
  +++ how-to-release-win32.html	1999/01/10 15:53:59	1.9
  @@ -40,9 +40,9 @@
   <UL>
    <LI>Create an install directory to hold the files used when
       building the installer
  - <LI>Configure the InstallShield Express 2.0 configuration file
  - <LI>Build the installer DLL and copy it to the install directory
    <LI>Build Apache and install it to the install directory
  + <LI>Build the installer DLL and copy it to the install directory
  + <LI>Update the InstallShield Express 2.0 configuration file
    <LI>Use InstallShield to build the files from the install directory
       into the single .EXE installer
   </UL>
  @@ -81,37 +81,41 @@
   
   You will need to decide on a directory where you are going to place
   the install files. These are the files used by InstallShield to build
  -the installer program. A typical directory would be C:\Apache (this is
  -good since the typical "nmake installr" command will build most of to
  -this directory). If this is the case you do will not need to edit the
  -<SAMP>apache.iwz</SAMP> in step 2. The rest of this file will assume
  -you are using <SAMP>C:\Apache</SAMP>.
  +the installer program. The examples in this document will use the
  +directory <SAMP>C:\Apache</SAMP> which is also the default
  +installation directory of the "nmake installr" command. If you use
  +this directory you will not need to edit the <SAMP>apache.iwz</SAMP>
  +InstallShield configuration file before using it.
   
   <P>
   
   Now create the install directory, and extract the Apache Unix release
   archive into it. 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>
  -
  -Copy the whole of the install directory to the build directory.
  +<SAMP>icons/*.gif</SAMP> and <SAMP>icons/small/*.gif</SAMP>.
   
   <P>
   
  -The following directories are not needed in the install directory on
  -Windows because they are not part of the installer:
  +The following files and directories are used or installed on Windows
  +systems:
   
   <P>
   
   <UL>
    <LI><SAMP>conf\*.conf-dist</SAMP> (but leave the
        <SAMP>*.conf-dist-win</SAMP> files)
  - <LI><SAMP>src\os\{emx,bs2000,unix}</SAMP>
  + <LI><SAMP>src\os\{emx,bs2000,unix,tpf}</SAMP>
    <LI><SAMP>src\helpers</SAMP>
  - <LI><SAMP>src\test</SAMP> (not normally part of the Unix release)
  - <LI><SAMP>src\modules\test</SAMP> (not normally part of the Unix release)
  + <LI><SAMP>src\test</SAMP> (not part of the Unix release)
  + <LI><SAMP>src\modules\test</SAMP> (not part of the Unix release)
  + <LI>All <SAMP>CVS</SAMP> directories (not part of the Unix release)
  + <LI>All <SAMP>.indent.pro</SAMP> directories
  + <LI>The files <SAMP>config.layout</SAMP>, <SAMP>configure</SAMP>,

  +     <SAMP>INSTALL</SAMP>, <SAMP>README.configure</SAMP>, 
  +     <SAMP>src/Configuration.tmpl</SAMP>, <SAMP>src/Configuration</SAMP>
  +     (this last file is only in a Unix release, not in CVS)
  + <LI>The files <SAMP>STATUS</SAMP>, <SAMP>RULES.CVS</SAMP>,
  +     <SAMP>src/INDENT</SAMP> (not part of the Unix release)
   </UL>
   
   <P>
  @@ -124,8 +128,13 @@
   <P>
   
   Rename the file <SAMP>README.NT</SAMP> in the install directory to
  -<SAMP>README-NT.TXT</SAMP>.
  +<SAMP>README-NT.TXT</SAMP>:
   
  +<PRE>
  +  CD C:\Apache
  +  RENAME README.NT README-NT.TXT
  +</PRE>
  +
   <P>
   
   Copy the <SAMP>MSVCRT.DLL</SAMP> file into the install directory. This
  @@ -134,30 +143,78 @@
   <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>
  +  COPY \WINDOWS\SYSTEM\MSVCRT.DLL C:\Apache  <I>(Windows 95)</I>
  +  COPY \WINNT\SYSTEM32\MSVCRT.DLL C:\Apache  <I>(Windows NT)</I>
   </PRE>
   
   <P>
  +
  +<LI><STRONG>Build and Install Apache</STRONG><P>
  +
  +Create the build directory by copying the <SAMP>src</SAMP> directory
  +of the install directory to the new location. The examples in this
  +document will use <SAMP>C:\Build</SAMP>.
  +
  +<P>
  +
  +Now build Apache in the normal way and install it into your install directory:
   
  -<LI><STRONG>Configure the InstallShield Configuration File</STRONG><P>
  +<PRE>
  +  cd C:\Build
  +  nmake /f Makefile.nt _apacher
  +  nmake /f Makefile.nt installr INSTDIR=C:\Apache
  +</PRE>
   
  -Apache for Windows is packaged using InstallShield Express 2. This uses 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
  -<SAMP>C:\Apache</SAMP> then you do not need to update the
  -<SAMP>apache.iwz</SAMP> file. If you use another directory, search and
  -replace <SAMP>C:\Apache</SAMP> with your directory in
  -<SAMP>apache.iwz</SAMP>.
  +This will add the compiled <SAMP>APACHE.EXE</SAMP>, core DLL files and
  +module DLL files into the install directory.
   
   <P>
   
  +<LI><STRONG>Building the Installer DLL</STRONG><P>
  +
  +The installer DLL is called during the user install process to
  +configure the Apache configuration files. Build it and copy it into
  +the install directory:
  +
  +<PRE>
  +  CD C:\Build
  +  nmake -f Makefile.nt installdll
  +  COPY os\win32\installer\installdll\Release\install.dll C:\Apache
  +</PRE>
  +
  +<P>
  + 
  +<LI><STRONG>Update the InstallShield Configuration File</STRONG><P>
  +
  +Now the install directory contains all the files which are going to be
  +used in the install process. The InstallShield configuration file
  +specifies all the files to be used, and where they will be installed
  +on the end user's machine. The configuration file is in
  +<SAMP>os/win32/installer/apache.iwz</SAMP>.
  +
  +<P>
  +
  +There are two things to do to update the InstallShield configuration
  +file. Firstly, update the configuration to reflect any new, removed or
  +renamed files in the Apache distribution. Secondly, update the version
  +information if necessary.
  +     
  +<P>
  +
  +<B>Note</B>: Unfortunately InstallShield's configuration file format
  +contains hard-coded absolute paths to the individual files. If your
  +install directory (step 1) is not <SAMP>C:\Apache</SAMP> then must
  +search and replace all instances of <SAMP>C:\Apache</SAMP> with your
  +install directory in <SAMP>apache.iwz</SAMP> before using it. If you
  +want to commit the changed version back to the repository, remember to
  +search and replace from you install directory with
  +<SAMP>C:\Apache</SAMP> before committing.
  +
  +<P>
  +
   Start InstallShield Express 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:
  +directory (e.g. <SAMP>C:\Build</SAMP>). 
   
   <P>
   
  @@ -168,11 +225,16 @@
        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). 
  +     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). One way of speeding this process is to try doing a
  +     "build": InstallShield will tell you about any missing files, but
  +     it will not tell you about new files, so to find new files,
  +     create an installer, install it, then do a recursive diff between
  +     the directory where you just installed Apache and your install
  +     directory.
    </LI>
    <LI>Set the Visual Design, Application Information, Version. This
        should contain the full version number, eg. 1.3.0 or 1.3b5.
  @@ -182,18 +244,20 @@
    <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.0" (for a full release) or "1.3 beta"
  -     (on all 1.3 betas). The name of this key must match the
  +     containing the version number which does not change across
  +     consequetive beta releases. For example, "1.3.0" (for a full
  +     release), "1.3 beta" (on all 1.3 betas) or "1.3.4 dev" (for
  +     development versions). 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 (which should have been updated by the Release Manager
        when they tagged the source tree).
    </LI>
  - <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 "&lt;INSTALLDIR&gt;" (IS2 will replace
  -     this with the real install directory).
  + <LI>Go to Make Registry Changes, Registry Values. Make sure that the key 
  +     updated in the previous step contains a REG_SZ (String) value
  +     with name "ServerRoot" and value "&lt;INSTALLDIR&gt;"
  +     (InstallShield will replace this with the real install
  +     directory).
    </LI>
   </UL>
   
  @@ -202,37 +266,25 @@
   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>
  +<SAMP>C:\Apache</SAMP> if you used a different directory. Also
  +remember to copy the updated <SAMP>apache.iwz</SAMP> file over the
  +older version in the install directory so that the end user will have
  +the correct version:
   
  -<LI><STRONG>Building the Installer DLL</STRONG><P>
  +<PRE>
  +  CD C:\Build
  +  COPY os\win32\installer\apache.iwz C:\Apache\src\os\win32\installer
  +</PRE>
   
  -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 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
  -it into your install directory.
   
  -<P>
  - 
  -<LI><STRONG>Build and Install Apache</STRONG><P>
  +</P>
   
  -Now build Apache in the normal way, with <SAMP>nmake /f Makefile.nt
  -_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.
  +<LI><STRONG>Build the Installer</STRONG><P>
   
   <P>
   
  -The install tree is now complete, and should look like this:
  +The install directory tree and InstallShield configuration are now
  +complete. The install directory tree will look like this:
   
   <PRE>
     C:\Apache
  @@ -286,21 +338,21 @@
   </PRE>
   <P>
   
  -The installed tree on the user's machine will be almost exactly the
  -same, except:
  +After it has been installed on the user's machine it will look mostly
  +the same, except that:
   
   <P>
   
   <UL>
    <LI><SAMP>MSVCRT.DLL</SAMP> will be installed to their Window's system

  -   directory (but
  -   only if it is newer than any copy they have already got)
  - <LI><SAMP>src</SAMP> will not be installed in a typical or compact install
  +   directory (but only if it is newer than any copy they have already got)
  + <LI><SAMP>src</SAMP> will not be installed in a "typical" or "compact"

  +     install
    <LI><SAMP>icons</SAMP> and <SAMP>htdocs</SAMP> will not
be installed on a 
  -   compact install
  +     "compact" install
    <LI>the <SAMP>*.conf-dist-win</SAMP> files in conf will be expanded
to
  -   <SAMP>*.conf</SAMP>, with the <SAMP>@@ServerRoot@@</SAMP> sequence

  -   replaced with the install directory path.
  +     <SAMP>*.conf</SAMP>, with the <SAMP>@@ServerRoot@@</SAMP>
sequence 
  +     replaced with the install directory path.
   </UL>
   
   <P>
  @@ -310,13 +362,10 @@
   is the file <SAMP>README.NT</SAMP> in CVS).
   
   <P>
  -
  -<LI><STRONG>Build the Installer</STRONG><P>
   
  -Now run InstallShield Express 2. Load the configured <SAMP>apache.iwz</SAMP>
  -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.
  +So finally build the single-file installer. Run InstallShield Express
  +2. Load the configured <SAMP>apache.iwz</SAMP> file from your build
  +directory.
   
   <P>
   
  @@ -329,7 +378,7 @@
   
   The single file installer is now built and ready to run. It will be
   called <SAMP>SETUPEX.EXE</SAMP>. Rename this to an appropriate name
  -for Windows, such as <SAMP>APACHE_1_3B6.EXE</SAMP> (there must only be
  +for Windows, such as <SAMP>APACHE_1_3_4.EXE</SAMP> (there must only be
   one period in the name).
   
   </OL>
  
  
  

Mime
View raw message