OLD | NEW |
(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 */ |
OLD | NEW |