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.
- View the knowledge base article at Tavultesoft KB article KMKB0060 and decide which settings you want to implement
- 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)
- 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.
- 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″ />
- Create a batch file with the following commands, tweaked as per your product name and choice of folders, and then run it:
“program filesTavultesoftKeyman Developer 7.0WiXcandle.exe” myproduct.wxs
“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.
- 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.