Following the joint meeting they held today, the Methods & Tools Special Interest Group and the Interoperability Special Interest Group are releasing the following common advisory notice.

Considering that Process Modelling Environments (PMEs) are currently not all offered with a 64-bit architecture, all Process Modelling Components (PMCs) must be offered as either:

  • Both a 32-bit and a 64-bit version
    • that can be installed simultaneously.
  • Or either a 32-bit or a 64-bit version, with a suitable surrogate for the non-offered architecture
    • Using a surrogate will affect performance, especially when many thermodynamic calls are made.
    • COM Surrogate may work in some cases.
    • Component needs to be registered so it can be activated in the context of a DLL surrogate. For example:

[HKEY_CLASSES_ROOT\CLSID\{XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB}]
“AppID”=”{PPPPPPPP-QQQQ-RRRR-SSSS-TTTTTTTTTTTT}”

[HKEY_CLASSES_ROOT\AppID\{PPPPPPPP-QQQQ-RRRR-SSSS-TTTTTTTTTTTT}]
“DllSurrogate”=””

Here, PPPPPPPP-QQQQ-RRRR-SSSS-TTTTTTTTTTTT is the AppID of your COM server. The COM registration needs to identify what the App ID is. Note that the AppID key is reflected – it is shared between the 32-bit and 64-bit registry keys.

Each class in your COM server, that needs to be accessed through a surrogate, needs to point to the AppID, as shown here for class with ID XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.

  • Further information:
    • “Inside COM+ Base Services” by Guy Eddon and Henry Eddon and especially chapter 12 on surrogates.

Long term recommendation:

  • All PMEs and PMCs should provide at least a 64-bit version.