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.