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

Unified Diff: installer/src/documentation/build_process.dox

Issue 6202981292703744: Whole installer (Closed)
Patch Set: Created June 24, 2014, 7:27 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: installer/src/documentation/build_process.dox
===================================================================
new file mode 100644
--- /dev/null
+++ b/installer/src/documentation/build_process.dox
@@ -0,0 +1,110 @@
+/*!
+
+\page build_process Build Process
+
+## Tools
+
+\par WiX
+
+- WiX
+ [WiX Toolset] (http://wixtoolset.org/)
+ Home page.
+- Wix
+ [WiX Toolset Manual Table of Contents] (http://wixtoolset.org/documentation/manual/v3/)
+ Where you usually need to go first.
+- WiX
+ [Compiler] (http://wixtoolset.org/documentation/manual/v3/overview/candle.html)
+ A scandalously defective page about the compiler, called `candle`.
+ You'll need to run `candle.exe -h` to see anything about its command line options.
+- WiX
+ [Linker (light)] (http://wixtoolset.org/documentation/manual/v3/overview/light.html)
+
+
+\par Windows Installer Development Tools
+
+The Windows Installer Development Tools are a set of tools for manipulating MSI and other Windows Installer files.
+Microsoft has delivered these tools in different ways in past.
+Now they're included in the Microsoft Windows SDK, which the plugin already uses for ATL.
+
+We require the tool `Msitran.exe` for the build.
+The tool `Msiinfo.exe` displays the Summary Information of an installer file,
+ which is useful for auditing the build process.
+It can also be used to set properties in the Summary Information,
+ but we're not using that feature.
+
+- MSDN
+ [Windows Installer Development Tools] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa372834%28v=vs.85%29.aspx)
+- MSDN
+ [Windows SDK Components for Windows Installer Developers] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370834%28v=vs.85%29.aspx)
+
+
+\par Windows Installer Examples
+
+The MSDN pages for the Windows Installer include a section of scripting examples.
+We're using the script `emb.vbs` from this section to embed transforms.
+
+- MSDN
+ [Windows Installer Examples] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa372837%28v=vs.85%29.aspx)
+
+
+## Building the Base Installer
+
+_To write_
+
+## Building the Localized Installer
+
+Understanding \ref localization is necessary for this section to make sense.
+
+
+
+- installsite.org
+ [Multi-Language MSI Packages without Setup.exe Launcher] (http://www.installsite.org/pages/en/msi/articles/embeddedlang/)
+ The original page that documents the automatic application of embedded language transforms.
+ First written by Andreas Kerl at Microsoft Germany and then translated into English.
+- GeekTieGuy
+ [Create a multi-lingual / multi-language MSI using WiX and custom build scripts] (http://www.geektieguy.com/2010/03/13/create-a-multi-lingual-multi-language-msi-using-wix-and-custom-build-scripts/)
+ Someone else's build process using the same information.
+
+\par Generating a Language Transform
+
+The only way of generating a language transform is to use the moral equivalent of a `diff` tool.
+This requires two complete MSI files.
+One of them is the default-language MSI; the other is a single-language MSI.
+For reliability, we generate a transform based on the full MSI, including all the payloads,
+ which means the single-language MSI needs all the payloads as well.
+This is a lot of I/O for the build, but there's no way of cutting corners here,
+ at least not without writing a fully custom tool to generate transforms directly.
+
+The `Msitran.exe` tool is used to generate the transform.
+There's an equivalent WiX tool, but it has a defect that makes it unsuitable for us;
+ it omits some elements in the generated transform.
+
+- MSDN
+ [Msitran.exe] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370495%28v=vs.85%29.aspx)
+
+
+\par Embedding Language Transforms
+
+Once we have an MST file, we need to embed it into an MSI file.
+The tool we're using is a Visual Basic script `emb.vbs`, provided by Microsoft.
+Its arguments are an MSI file, an MST file, and the name of the substorage (directory).
+It's a short script that utilizes the Automation interface of Windows Installer.
+
+The tool `Msidb.exe` might have been used for this purpose,
+ but it lacks a command line option to specify the name of the substorage.
+
+Another script `WiSubStg.vbs` was used to embed transforms in the original installsite.org page.
+It accomplishes the same result as `emb.vbs`, though it's longer and does more.
+The name of this other script, though, makes a useful search term.
+
+- MSDN
+ [Embedding Customization Transforms as Substorage] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa368351%28v=vs.85%29.aspx)
+ Source code listing for `emb.vbs`.
+- MSDN
+ [Msidb.exe] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370083%28v=vs.85%29.aspx)
+- MSDN Windows Installer Scripting Examples
+ [Manage Substorages] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa369793%28v=vs.85%29.aspx)
+ Documentation on the script `WiSubStg.vbs`.
+
+
+*/

Powered by Google App Engine
This is Rietveld