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

Unified Diff: installer/src/documentation/source_code.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/source_code.dox
===================================================================
new file mode 100644
--- /dev/null
+++ b/installer/src/documentation/source_code.dox
@@ -0,0 +1,108 @@
+/*!
+
+\page source_code Source Code
+
+## Localization Source ##
+
+See \subpage localization for all the relevant MSI data structures.
+
+\par WiX `.loc` localization files
+
+- WiX
+ [WixLocalization Element] (http://wixtoolset.org/documentation/manual/v3/xsd/wixloc/wixlocalization.html)
+
+\par WiX sources for SIS strings
+
+The WiX documentation isn't always very explicit about how it maps WiX elements and attributes to MSI values.
+Most of them are in the WiX elements `Product` and `Package`.
+The documentation for `Package` elements states that it is "properties about the package to be placed in the Summary Information Stream."
+That, however, is misleading, since it's not the only source of such properties.
+ nor does quite every attribute in the element appear in the SIS.
+
+- MSDN
+ [Summary Property Descriptions] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa372049%28v=vs.85%29.aspx)
+- WiX
+ [Product Element] (http://wixtoolset.org/documentation/manual/v3/xsd/wix/product.html)
+- WiX
+ [Package Element] (http://wixtoolset.org/documentation/manual/v3/xsd/wix/package.html)
+
+This section enumerates the properties in the SIS and shows where they originate in the source code.
+They are listed in order of their property index numbers, the same order used by the `msiinfo`.
+The properties in the SIS appear in the Control Panel tool _Programs and Features_.
+
+- **Codepage**.
+ In the attribute `Package/@SummaryCodepage`.
+ This is the code page used to display strings in the Summary Information.
+- **Title**.
+ The fixed string "Installation Database".
+- **Subject**.
+ In the attribute `Package/@Description`.
+ Appears as the "Name" field in the tabular listing in Programs and Features.
+- **Author**.
+ In the attribute `Package/@Manufacturer`.
+ If omitted, (apparently) defaults to `Product/@Manufacturer`.
+ Appears as the "Publisher" field in the tabular listing in Programs and Features.
+ Related to this, there's a property "Manufacturer" in the installer database.
+- **Keywords**.
+ In the attribute `Package/@Keywords`.
+ Appears at the bottom of Programs and Features when the package is selected. (?)
+- **Comments**.
+ In the attribute `Package/@Comments`.
+ Appears at the bottom of Programs and Features when the package is selected.
+- **Template**.
+ This single SIS property is the concatenation of two fields.
+ The first is the value of the `-arch` command line option of the compiler `candle`.
+ If that's not specified, it's in `Package/@Platform` or `Package/@Platforms`.
+ The second is in `Package/@Languages`.
+- **Revision**.
+ Used to store the package GUID
+ In attribute `Package/@Id`, but is automatically generated if absent,
+ which is the recommended usage.
+- **Last Printed**.
+ Used for administrative images.
+ Not a concern for us, but set by a tool.
+- **Create Time/Date**.
+ The linker sets this value.
+ So does the embedding tool, which is arguably a defect in the Automation interface.
+- **Last Saved Time/Date**.
+ The linker sets this value, as do the other tools that modify the MSI.
+- **Page Count**.
+ Used to store the minimum installer version required to install.
+ In the attribute `Package/@InstallerVersion`.
+- **Word Count**.
+ A bit field in attributes `Package/@ShortNames`, `Package/@Compressed`, `Package/@AdminImage`, and `Package/@InstallPrivileges`.
+- **Creating Application**.
+ Set by the linker to "Windows Installer XML" and a version number.
+- **Security**.
+ A bit field in attribute `Package/@ReadOnly`.
+
+\par Localization of the WiX UI extension.
+
+We are using the WiX UI extension for the installer.
+It already has localizations for many languages,
+ including most of the ones that we already support in the plugin.
+There are a few, however, that do not have localizations, yet, and we'll have to provide them.
+The source code location for these WiX localizations is `src/ext/UIExtension/wixlib`
+ with files named `WixUI_<language-code>.wxl`.
+These lists were checked against both WiX 3.7 and WiX 3.8.
+
+The WiX UI extension DOES NOT support the following languages that we do.
+
+- fil-PH. Filipino - Phillipines.
+- kn-IN. Kanada - India.
+- mr-IN. Maratha - India.
+- ms. Malaysian - generic.
+- nn-NO. Nynorsk - Norway.
+- ur-PK. Urdu - Pakistan.
+
+The WiX UI extension supports the following languages that we do not yet support.
+
+- kk-KZ. Kazakh - Kazakhstan.
+- ko-KR. Korean - Korea.
+- lt-LT. Lithuanian - Lithuania.
+- lv-LV. Latvian - Latvia.
+- sl-SI. Slovenian - Slovenia.
+- sr-Latn-CS. Serbian, Latin alphabet - Serbia and Montenegro.
+- zh-HK. China - Hong Kong
+
+*/

Powered by Google App Engine
This is Rietveld