INFO: About Keyman for Windows Setup
The Keyman installation bootstrapper is a self-extracting executable file that optionally contains a Windows Installer technology MSI file, and keyboard packages.
The bootstrapper uses a number of techniques to streamline installation for end users. A standard download from the keyman.com website will include just the bootstrap installer.
Setup will check for packages to install from:
- command line parameters
- its own filename pattern
- the local directory it is in
- An embedded zip file
1. Command Line Parameters
||Continue setup after Windows restarts (this parameter is used internally)|
||Run offline. For offline setup, all packages specified must be available as a part of the self-extracting archive or in the same folder as the setup executable.|
||Extract files from the self-extracting archive and exit.|
||Download package matching
||Download and install the corresponding tier of Keyman for Windows from keyman.com. If not specified, the installer will use the tier that it was built with (this can be viewed in the Setup Options dialog).|
2. keyman-setup filename patterns
The filename of the executable can be used to determine the packages to download and install from keyman.com. If the filename matches the following pattern, then the package identifiers and tier are extracted from the filename and used in the same way as the
-t parameters respectively.
You can append multiple package and BCP 47 identifiers, as implied by the
The keyman.com website uses this technique to provide a setup bootstrap that will then know which files to download, without requiring separate versions of each file.
3. Checking for packages in local directory
By default, Setup will not install packages from the same folder as the installer, unless a file setup.inf is present. This is because a typical download scenario for Keyman is to download into a common Downloads folder, which may well contain packages as well. It doesn't make sense to default to installing other files from the Downloads folder unless it is specifically requested.
4. Embedded zip file
If a zip file is appended to the setup executable (e.g. with
copy /b setup.exe+file.zip setup-file.exe), then Setup will extract the contents of the zip file to a temporary folder and install the included components. This also requires a setup.inf file.
The zip file should include:
- any desired package files (e.g. sil_ipa.kmp)
setup.inf is a Windows INI format file. It can have three sections. All sections are optional.
[Setup]: Global setup preferences
[Packages]: A list of packages to install
[Strings]: A list of user interface strings
MSIFileName: This should be
keymandesktop.msiif you are including the Windows Installer file in the install. It must be present in the same location as setup.inf. If you do not include this, then the local .msi file will be ignored, even if it is present.
StartWithConfiguration: If set to
1, open Configuration on first run (default
StartDisabled: If set to
1, install the packages but don't add language associations (default
Include the filename of each package, and optionally append an
=description to the entry; however, the description is ignored by Setup in version 14.0, as the details are read directly from the package. These files must be in the same location as setup.inf.
If present, these strings provide a user interface translation. The identifiers for these strings and their default values can be viewed in the .kps file format reference.
[Setup] MSIFileName=keymandesktop.msi [Packages] khmer_angkor.kmp=Khmer Angkor 1.0 sil_ipa.kmp
- Keyman for Windows 14.0
- Keyman for Windows 14.0 adds the
-tparameters and also parses the installer filename; earlier versions required all content to be included in the self-extracting archive.