summaryrefslogtreecommitdiff
path: root/WindowsInstaller/MakeInstaller.txt
blob: 6347ed43504c25b52f855b49770e4122c8ebda47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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.