How to verify a ModelMaker installation?

This document explains how to verify your ModelMaker 11 Pascal installation and how to solve installation problems.
For an MM6.x - MM 10.x installation read 6.x - 10.x instead of 11.x where applicable.

Directories and files

The ModelMaker Pascal and deprecated C# editions share some files and should be installed in the same directory. The Pascal Edition main executable is mm11.exe, the deprecated C# Edition main executable is mmcs11.exe

You should have these directories (actual path names depending on your actual install dir / drive)

  • C:\program files\ModelMakerTools
    The ModelMaker Tools root directory, does not contain files
  • C:\program files\ModelMakerTools\ModelMaker\11.0
    The ModelMaker root directory (depending on version). Contains readme.txt and similar files
  • C:\program files\ModelMakerTools\ModelMaker\11.0\bin
    The binary root directory Contains main application and Delphi IDE integration files related files such as mm11.exe and/ or mmcs11.exe, mmbds7expt.dll, the user manual etc.
  • C:\Documents and Settings\[USER NAME]\Application Data\ModelMakerTools\Shared
    The user data directory containing files shared with other ModelMaker Tools products. No files required in this directory, but it can contain auto-created files like SharedSettings.ini.
  • C:\Documents and Settings\[USER NAME]\Application Data\ModelMakerTools\Shared\Templates
    This directory should contain the predefined templates and other templates you added. For example ArrayProp_List.pas.
  • If any of these directories or files is missing you need to run the installer again.

    Registry settings: HKEY_LOCAL_MACHINE

    You should have these keys:

    • HKLM\Software\ModelMaker\ModelMaker\11.0
      containing at least a string value named InstallDir pointing to the actual install path. For example: "C:\program files\ModelMakerTools\ModelMaker\11.00" (omit quotes).
    • HKLM\Software\ModelMaker\Shared
      containing at least has a string value named RootDir pointing to the Shared directory - a user app data sub driectory. For example: "C:\Documents and Settings\[USER NAME]\Application Data\ModelMakerTools\Shared" (omit quotes).
    • HKLM\Software\ModelMaker\Shared\Templates
      containing at least has a string value named RootDir pointing to the Templates directory. For example: "C:\Documents and Settings\[USER NAME]\Application Data\ModelMakerTools\Shared\Templates" (omit quotes).
    • If any of these keys / values is missing, you may either run the installer again or manually add them. Make sure you enter the correct directory names.

      Registry settings: HKEY_CURRENT_USER

      You should have these keys:

      • HKCU\Software\ModelMaker\Shared
        containing at least has a string value named RootDir pointing to the Shared directory - a user app data sub driectory. For example: "C:\Documents and Settings\[USER NAME]\Application Data\ModelMakerTools\Shared" (omit quotes). This is the same value as stored in HKLM
      • HKCU\Software\ModelMaker\Shared\Templates
        containing values that are the registered templates. For example:
        value name=Simple Singleton
        value string data="C:\Documents and Settings\[USER NAME]\Application Data\ModelMakerTools\Shared\Templates\Singleton.cs",Wizards

      This key and it's values is non-essential for ModelMaker. Registering a new code template will auto create whatever is missing.

      You do not need any keys or values in HKCU\Software\ModelMaker\ModelMaker\11.0 or any of its sub keys. Here all sub keys and values are auto created.

      Delphi IDE Integration

      Delphi IDE integration is controlled inside ModelMaker with the Environment Options | IDE Integration tab. Checkboxes allow enabling and disabling integration with specific versions of Delphi. Changes require a restart of the Delphi IDE.

      Technically Delphi IDE integration is done by registering an IDE integration expert for each IDE through a string value in HKEY_CURRENT_USER.

      HKCU\Software\Borland\Delphi\5.0\Experts - for Delphi 5
      HKCU\Software\Borland\Delphi\6.0\Experts - for Delphi 6
      HKCU\Software\Borland\Delphi\7.0\Experts - for Delphi 7
      HKCU\Software\Borland\BDS\5.0\Experts - for Delphi 2007
      HKCU\Software\CodeGear\BDS\6.0\Experts - for Delphi 2009
      HKCU\Software\CodeGear\BDS\7.0\Experts - for Delphi 2010
      HKCU\Software\Embarcadero\BDS\8.0\Experts - for Delphi XE
      HKCU\Software\Embarcadero\BDS\9.0\Experts - for Delphi XE2
      HKCU\Software\Embarcadero\BDS\10.0\Experts - for Delphi XE3
      HKCU\Software\Embarcadero\BDS\11.0\Experts - for Delphi XE4
      HKCU\Software\Embarcadero\BDS\12.0\Experts - for Delphi XE5
      HKCU\Software\Embarcadero\BDS\14.0\Experts - for Delphi XE6
      HKCU\Software\Embarcadero\BDS\15.0\Experts - for Delphi XE7
      HKCU\Software\Embarcadero\BDS\16.0\Experts - for Delphi XE8
      HKCU\Software\Embarcadero\BDS\17.0\Experts - for Delphi 10 Seattle
      HKCU\Software\Embarcadero\BDS\18.0\Experts - for Delphi 10.1 Berlin

      For each Delphi version installed you should find a string value named ModelMakerExpert Correct spelling is essential to avoid problems with future installs!!. The string data should point to the actual IDE integration dll as found in the [MMInstall]\bin directory. For example (Delphi 5)
      value name =ModelMakerExpert
      value string data =C:\program files\ModelMakerTools\ModelMaker\11.00\bin\MMD5Expt.dll

      The dll names for the other Delphi IDEs are: MMD6Expt.dll, MMD7Expt.dll, MM_BDS5_Expt.dll - MM_BDS12_Expt.dll

      If the ModelMaker IDE integration expert is not loaded by Delphi - no ModelMaker menu visible in the IDE Main menu - , this is caused by a missing ModelMakerExpert value for that IDE. You can manually add the value. Make sure you define the correct dll for that IDE.