COM Interface Compatible

We are writing a simple .NET C # COM applicator for Photoshop that is designed to work on all versions from CS2 to CS5 and everything in between. The same application also exists in the form of JavaScript and works with all the above versions, since we avoided implementing version-specific functionality.

The problem we encountered is related to the COM interface. For example, if our application is compiled using the Interop.Photoshop library from Photoshop CSx, it does not run on Photoshop CSy. This is probably due to the fact that the CLSID of the registry is specific for each version of Photoshop, forcing our application to not find the correct COM interface DLL if it is running on a system with a different version of Photoshop than what we compiled (with provided that both applications are 32 bits).

If this is really a problem, we are wondering if it is possible to re-register Photoshop's CSx version of CSx with CSS CLSID, ignoring the fact that functionality may vary between versions.

More detailed information:

Our main PhotoshopSpplication CLSID is located here in the registry: HKEY_CLASSES_ROOT \ Photoshop.Application \ CLSID This CLSID must correspond to the CLSID for which our application was created. For example, this identifier is different between CS5 and CS5.1.

Our only solution today is to create specific versions of our application for certain versions of Photoshop, and this is only possible if we have this specific version of the application installed.

, , - 0x80040154, " COM- factory CLSID {116EE066-135E-4F63-8D0E-78F62705FBFC} ". CS5.1, CS5.04, COM . CLSID CS5.1. COM-, CLSID CS5.04, . ?

, , .

+3
1

GUID COM , DLL-. , : Hell. , , . , .

, , Javascript: . interop. #, 4, . VB.NET # 4. KB #, . dynamic , , . - , , .

+2

All Articles