Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: installer/src/documentation/build_process.dox

Issue 6202981292703744: Whole installer (Closed)
Patch Set: Created June 24, 2014, 7:27 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*!
2
3 \page build_process Build Process
4
5 ## Tools
6
7 \par WiX
8
9 - WiX
10 [WiX Toolset] (http://wixtoolset.org/)
11 Home page.
12 - Wix
13 [WiX Toolset Manual Table of Contents] (http://wixtoolset.org/documentation/ma nual/v3/)
14 Where you usually need to go first.
15 - WiX
16 [Compiler] (http://wixtoolset.org/documentation/manual/v3/overview/candle.html )
17 A scandalously defective page about the compiler, called `candle`.
18 You'll need to run `candle.exe -h` to see anything about its command line opti ons.
19 - WiX
20 [Linker (light)] (http://wixtoolset.org/documentation/manual/v3/overview/light .html)
21
22
23 \par Windows Installer Development Tools
24
25 The Windows Installer Development Tools are a set of tools for manipulating MSI and other Windows Installer files.
26 Microsoft has delivered these tools in different ways in past.
27 Now they're included in the Microsoft Windows SDK, which the plugin already uses for ATL.
28
29 We require the tool `Msitran.exe` for the build.
30 The tool `Msiinfo.exe` displays the Summary Information of an installer file,
31 which is useful for auditing the build process.
32 It can also be used to set properties in the Summary Information,
33 but we're not using that feature.
34
35 - MSDN
36 [Windows Installer Development Tools] (http://msdn.microsoft.com/en-us/library /windows/desktop/aa372834%28v=vs.85%29.aspx)
37 - MSDN
38 [Windows SDK Components for Windows Installer Developers] (http://msdn.microso ft.com/en-us/library/windows/desktop/aa370834%28v=vs.85%29.aspx)
39
40
41 \par Windows Installer Examples
42
43 The MSDN pages for the Windows Installer include a section of scripting examples .
44 We're using the script `emb.vbs` from this section to embed transforms.
45
46 - MSDN
47 [Windows Installer Examples] (http://msdn.microsoft.com/en-us/library/windows/ desktop/aa372837%28v=vs.85%29.aspx)
48
49
50 ## Building the Base Installer
51
52 _To write_
53
54 ## Building the Localized Installer
55
56 Understanding \ref localization is necessary for this section to make sense.
57
58
59
60 - installsite.org
61 [Multi-Language MSI Packages without Setup.exe Launcher] (http://www.installsi te.org/pages/en/msi/articles/embeddedlang/)
62 The original page that documents the automatic application of embedded languag e transforms.
63 First written by Andreas Kerl at Microsoft Germany and then translated into En glish.
64 - GeekTieGuy
65 [Create a multi-lingual / multi-language MSI using WiX and custom build script s] (http://www.geektieguy.com/2010/03/13/create-a-multi-lingual-multi-language-m si-using-wix-and-custom-build-scripts/)
66 Someone else's build process using the same information.
67
68 \par Generating a Language Transform
69
70 The only way of generating a language transform is to use the moral equivalent o f a `diff` tool.
71 This requires two complete MSI files.
72 One of them is the default-language MSI; the other is a single-language MSI.
73 For reliability, we generate a transform based on the full MSI, including all th e payloads,
74 which means the single-language MSI needs all the payloads as well.
75 This is a lot of I/O for the build, but there's no way of cutting corners here,
76 at least not without writing a fully custom tool to generate transforms direct ly.
77
78 The `Msitran.exe` tool is used to generate the transform.
79 There's an equivalent WiX tool, but it has a defect that makes it unsuitable for us;
80 it omits some elements in the generated transform.
81
82 - MSDN
83 [Msitran.exe] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa37049 5%28v=vs.85%29.aspx)
84
85
86 \par Embedding Language Transforms
87
88 Once we have an MST file, we need to embed it into an MSI file.
89 The tool we're using is a Visual Basic script `emb.vbs`, provided by Microsoft.
90 Its arguments are an MSI file, an MST file, and the name of the substorage (dire ctory).
91 It's a short script that utilizes the Automation interface of Windows Installer.
92
93 The tool `Msidb.exe` might have been used for this purpose,
94 but it lacks a command line option to specify the name of the substorage.
95
96 Another script `WiSubStg.vbs` was used to embed transforms in the original insta llsite.org page.
97 It accomplishes the same result as `emb.vbs`, though it's longer and does more.
98 The name of this other script, though, makes a useful search term.
99
100 - MSDN
101 [Embedding Customization Transforms as Substorage] (http://msdn.microsoft.com/ en-us/library/windows/desktop/aa368351%28v=vs.85%29.aspx)
102 Source code listing for `emb.vbs`.
103 - MSDN
104 [Msidb.exe] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370083% 28v=vs.85%29.aspx)
105 - MSDN Windows Installer Scripting Examples
106 [Manage Substorages] (http://msdn.microsoft.com/en-us/library/windows/desktop/ aa369793%28v=vs.85%29.aspx)
107 Documentation on the script `WiSubStg.vbs`.
108
109
110 */
OLDNEW

Powered by Google App Engine
This is Rietveld