Возможно взаимодействие с 64-битным COM-сервером (Photoshop) из .NET?

Я пытался написать код для взаимодействия с Photoshop, как путем добавления ссылки на COM, так и путем позднего связывания . Мне потребовалось некоторое время, чтобы понять, что код действительно работает, но не в 64-битной версии Photoshop.

Исключение, которое я получаю с 64-битной версией Photoshop, выглядит следующим образом:

COMException не обрабатывается

Получение фабрика COM-классов для компонент с CLSID {D9389EDE-AEF8-4092-9377-075E94B7CB9A} не удалось из-за следующей ошибки: 80080005 Ошибка выполнения сервера (Исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

Может ли мое приложение взаимодействовать с 64-разрядной версией Photoshop? Или это ограничивается только взаимодействием с 32-разрядной версией?

Я наткнулся на это в одной из своих многочисленных попыток найти решение, но я не понимаю, как я могу поставить флаг CLSCTX_ACTIVATE_64_BIT_SERVER для использования либо со ссылкой COM, либо с поздним связыванием, ну, предположим, что это решение.

Здесь возникает исключение:

Type photoshopType = Type.GetTypeFromProgID("Photoshop.Application");
if (photoshopType != null)
{
    object photoshop = Activator.CreateInstance(photoshopType);

11
задан unrelativity 14 June 2013 в 10:21
поделиться