Note: this blog is intended for Keyman Developer Branding Pack Users.  It is not applicable for Keyman Desktop or KeymanWeb.

The default settings for Keyman Engine may not be what you want for your product.  It is possible to change the default options by adding the values to the .wxs intermediate file created by the Product Editor.  The .wxs file will then be used to compile the product installer.

  1. View the knowledge base article at Tavultesoft KB article KMKB0060 and decide which settings you want to implement
  2. Open the Product Editor for myproduct.kpp and click “Export to WiX” in the Compile tab.  Export the files to c:myproduct (or replace this with your own path)
  3. Load the myproduct.wxs file generated in the C:myproductbuild folder in an XML editor.  An XML editor is recommended because otherwise it is hard to read, but can use any Unicode-compliant text editor if you prefer.
  4. In the section <Component Id=”component_CurrentUser”, add Registry values as per the following example for “auto open osk” (available types are ‘integer’ or ‘string’):
    <Registry Root=”HKCU” Key=”SoftwareTavultesoftKeyman Engine7.0″ Type=”integer” Name=”auto open osk” Value=”0″ />
  5. Create a batch file with the following commands, tweaked as per your product name and choice of folders, and then run it:
    cd myproductbuild
    “program filesTavultesoftKeyman Developer 7.0WiXcandle.exe” myproduct.wxs
    cd myproduct
    “program filesTavultesoftKeyman Developer 7.0WiXlight.exe” -out myproduct.msi buildmyproduct.wixobj “Program FilesTavultesoftKeyman Developer 7.0WiXwixui.wixlib” -loc “program filesTavultesoft Keyman Developer 7.0WiXWixUI_en-us.wxl” -b “Program FilesTavultesoftKeyman Developer 7.0RedistDesktop”

    EDIT 11/11/09: Fixed incorrect directory for light.exe command — thanks Amaryllis for pointing this out.

  6. This will generate a myproduct.msi file with the options preset as you desire.

If you want to make a new version of the installer, I recommend that you start from Step 2 again as Keyman Developer will manage the upgrade of the .wxs file, which needs a number of changes to make it work correctly for an upgrade.  So make sure you save a copy of the <Registry> XML tags that you add, so you can paste them into the updated .wxs file in this situation.

We plan to add a RegistryKeys section to the .kpp file in a future update of Keyman Developer to reduce the complexity of this process.

Categories: Developing Keyman

0 thoughts on “Specifying default options for Keyman Engine at install time”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts

Developing Keyman

Keyman Update for 25 October 2024

This blog reports on significant Keyman product and keyboard development updates over the period from 14 October 2024 — 25 October 2024. As always, you can follow all of our development online at github.com/keymanapp/keyman, and Read more…

Developing Keyman

Keyman Update for 27 September 2024

This blog reports on significant Keyman product and keyboard development updates over the period from 16 September 2024 — 27 September 2024. As always, you can follow all of our development online at github.com/keymanapp/keyman, and Read more…

Developing Keyman

Keyman Update for 13 September 2024

This blog reports on significant Keyman product and keyboard development updates over the period from 02 September 2024 — 13 September 2024. As always, you can follow all of our development online at github.com/keymanapp/keyman, and Read more…