Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / WindowsInstaller / MakeInstaller.txt
1 How to make an InstallShield in 357 frustrating steps
2 -----------------------------------------------------
3
4 The recipe below is correct in theory, but unfortunately some bits
5 don't work in practice. These are noted below.
6
7 0. Build a stage 1 tree.
8 1. Set "XMLDocWays=html pdf" in stage 2's build.mk.
9 2. Build stage 2.
10 3. Convert ANNOUNCE and LICENSE (if it has changed) to RTF (use Word),
11 and put them in the WindowsInstaller directory.
12 4. Iff the layout of the directory tree has changed since last time
13 (the addition or removal of files in existing directories doesn't
14 matter):
15
16   a. Set Project->Path Variables->Project->SourceFiles to point to
17   the installed tree.
18   b. Make sure GHCBITS (in the same place) points to the tree
19   containing gcc, perl &c.
20   c. Delete all the DLS_TopLevelFiles_x components.
21   d. Add the entire install tree to TopLevelFiles as a dynamic link.
22   e. Re-add the Start menu shortcuts for
23       i. GHCi
24      ii. PDF manual
25     iii. HTML User's Guide
26      iv. HTML Libraries Guide
27
28      For each one, find the right DLS_TopLevelFiles_xx directory, go
29      to Shortcuts, add a folder Program Files->Glasgow Haskell
30      Compiler, and preferably copy the exact name for the file from an
31      installed compiler. Add the file name, which is relative to the
32      *installed* tree (i.e. <InstallDir>).
33   f. Re-add the registry keys (under Registry Data for the
34      TopLevelFiles component): HKEY_LOCAL_MACHINE->SOFTWARE->Glasgow
35      Haskell Compiler->x.yy->{Path,Version}, where Path is set to
36      <INSTALLDIR> and Version to the current version.
37
38 5. Build the InstallShield.
39 7-356. Deal with the awkward points mentioned below.
40 357. Freeze & sell.
41
42
43 Documentation
44 -------------
45
46   jadetex
47   -------
48
49 I couldn't work out how to set the config parameters of MikTeX 2.1 to
50 make jadetex compile the user guide and libraries book without falling
51 over owing to running out of hash_size.
52
53 Since MikTeX 1.2 seemed to work fine, the suggested workaround is to
54 use that.
55
56 Hopefully at some point Cygwin's tetex package will come with jadetex,
57 and there won't be any need to install MikTeX.
58
59   ghostscript
60   -----------
61
62 I couldn't get Cygwin's ps2pdf to work; hopefully it will in the
63 future (or even more likely, I was just being useless). I have used
64 AFPL's Ghostscript 6.50 for Windows happily; note that whatever
65 version is used should be at least 6.50; earlier versions put
66 low-quality bitmap fonts in PDFs.
67
68
69 Tweaking the UI
70 ---------------
71
72 The only dialog that has so far been changed is SetupCompleteSuccess
73 (under User Interface). Note that this dialog is used for both install
74 (string IDS__IsExitDialog_5) and uninstall (string
75 IDS__IsExitDialog_6).
76
77
78 Version number and other strings
79 --------------------------------
80
81 Most of the useful string resources are under the top-most entries in
82 the tree on the Project View.