Reorganisation of the source tree
[ghc-hetmet.git] / WindowsInstaller / MakeInstaller.txt
diff --git a/WindowsInstaller/MakeInstaller.txt b/WindowsInstaller/MakeInstaller.txt
new file mode 100644 (file)
index 0000000..6347ed4
--- /dev/null
@@ -0,0 +1,82 @@
+How to make an InstallShield in 357 frustrating steps
+-----------------------------------------------------
+
+The recipe below is correct in theory, but unfortunately some bits
+don't work in practice. These are noted below.
+
+0. Build a stage 1 tree.
+1. Set "XMLDocWays=html pdf" in stage 2's build.mk.
+2. Build stage 2.
+3. Convert ANNOUNCE and LICENSE (if it has changed) to RTF (use Word),
+and put them in the WindowsInstaller directory.
+4. Iff the layout of the directory tree has changed since last time
+(the addition or removal of files in existing directories doesn't
+matter):
+
+  a. Set Project->Path Variables->Project->SourceFiles to point to
+  the installed tree.
+  b. Make sure GHCBITS (in the same place) points to the tree
+  containing gcc, perl &c.
+  c. Delete all the DLS_TopLevelFiles_x components.
+  d. Add the entire install tree to TopLevelFiles as a dynamic link.
+  e. Re-add the Start menu shortcuts for
+      i. GHCi
+     ii. PDF manual
+    iii. HTML User's Guide
+     iv. HTML Libraries Guide
+
+     For each one, find the right DLS_TopLevelFiles_xx directory, go
+     to Shortcuts, add a folder Program Files->Glasgow Haskell
+     Compiler, and preferably copy the exact name for the file from an
+     installed compiler. Add the file name, which is relative to the
+     *installed* tree (i.e. <InstallDir>).
+  f. Re-add the registry keys (under Registry Data for the
+     TopLevelFiles component): HKEY_LOCAL_MACHINE->SOFTWARE->Glasgow
+     Haskell Compiler->x.yy->{Path,Version}, where Path is set to
+     <INSTALLDIR> and Version to the current version.
+
+5. Build the InstallShield.
+7-356. Deal with the awkward points mentioned below.
+357. Freeze & sell.
+
+
+Documentation
+-------------
+
+  jadetex
+  -------
+
+I couldn't work out how to set the config parameters of MikTeX 2.1 to
+make jadetex compile the user guide and libraries book without falling
+over owing to running out of hash_size.
+
+Since MikTeX 1.2 seemed to work fine, the suggested workaround is to
+use that.
+
+Hopefully at some point Cygwin's tetex package will come with jadetex,
+and there won't be any need to install MikTeX.
+
+  ghostscript
+  -----------
+
+I couldn't get Cygwin's ps2pdf to work; hopefully it will in the
+future (or even more likely, I was just being useless). I have used
+AFPL's Ghostscript 6.50 for Windows happily; note that whatever
+version is used should be at least 6.50; earlier versions put
+low-quality bitmap fonts in PDFs.
+
+
+Tweaking the UI
+---------------
+
+The only dialog that has so far been changed is SetupCompleteSuccess
+(under User Interface). Note that this dialog is used for both install
+(string IDS__IsExitDialog_5) and uninstall (string
+IDS__IsExitDialog_6).
+
+
+Version number and other strings
+--------------------------------
+
+Most of the useful string resources are under the top-most entries in
+the tree on the Project View.
\ No newline at end of file