Как Вы сказали, Вы не можете действительно сделать этого из-за стирания типа. Можно отсортировать, делают это с помощью отражения, но требуются много кода и партия обработки ошибок.
Это можно сделать из служб компонентов. Начиная с Vista, Microsoft использует этот инструмент. Если Службы компонентов недоступны в меню «Администрирование», выберите «Пуск»> «Выполнить» и введите « dcomcnfg
».
Затем вам нужно перемещаться по иерархии следующим образом: «Компьютеры»> «Мой компьютер»> «Распределенная транзакция». Координатор> Локальный код неисправности
Затем щелкните правой кнопкой мыши Локальный код неисправности , выберите Свойства ... и затем выберите вкладку Безопасность . На этой вкладке вы сможете включить сетевой DTC.
Вам также может потребоваться добавить исключение для DTC в брандмауэр Windows.
Дополнительные сведения (включая рекомендуемые настройки и тиддлинг брандмауэра) см. В Microsoft на Technet за этой ссылкой ... Включение доступа к сети DTC (Vista / 2008)
Насколько я помню, вы переходите в «Службы компонентов»> «Компьютеры»> «Мой компьютер»> «Свойства»> «Вкладка MSDTC»> «Кнопка настройки безопасности», а затем проверяете там необходимые разрешения.
Но это тоже 2003 год. .
Я нашел хороший общий обзор проблем MSDTC . Надеюсь, это поможет.