Использование Windows 2003 Server или 2000, создание прокси приложения COM + для использования в другой системе, включает компоненты .NET Enterprise Services в пакете MSI, созданном во время экспорта. Компоненты .NET также зарегистрированы в GAC, и regsvcs запускается автоматически во время установки прокси приложения.
Однако мы обнаружили, что Windows Server 2008 не включает сборку. Он будет включать .tlb, но не .dll, ни устанавливать его в GAC, и, конечно, все взрывается, когда приложение не может найти сборку.
Кто-нибудь знает, что нужно сделать, чтобы поведение работало так же, как в 2000-2003 годах?
ОБНОВЛЕНИЕ Мы можем сгенерировать прокси, используя только сборку .NET, и она отлично работает, но если мы попытаемся добавить другие сборки или устаревшие библиотеки VB6 COM + в тот же пакет, в котором говорится, что они созданы другой процессор.
ОБНОВЛЕНИЕ Я понимаю, что если вы соберете режим Любой ЦП (для которого настроены все проекты), то при регистрации путем перетаскивания сборок в приложение Службы компонентов он будет использовать 64-разрядную версию, если существующее 64-битное приложение. Однако это 32-битное приложение. В приложении COM + зарегистрированы dll VB6, которые являются 32-битными. Так что это должно использовать 32-битный реестр и т. Д., И сделать приложение 32-битным. Поэтому, когда после .NET любая сборка ЦП добавляется, она должна быть 32-разрядной ... однако при экспорте приложения сборка .NET не добавляется в создаваемый MSI-файл.
ОБНОВЛЕНИЕ Мы нашли http://support.microsoft.com/kb/924729, в котором обсуждается ошибка, из-за которой 32-разрядные компоненты обслуживания не могут быть экспортированы ... есть исправление, но оно есть для Windows Server 2003. Мы сузили проблема устранена, и только 32-разрядные обслуживаемые компоненты не экспортируются должным образом.