Может ли кто-нибудь сказать мне, как преобразовать устаревшее приложение, которое является vb6 (COM dll, ocx и exes), для использования Regfree COM.
Я попытался открыть библиотеки DLL в Visual Studio и создал файл манифеста, но некоторые из них выдают ошибку.
Есть ли какие-нибудь инструменты, которые помогут мне в этом процессе?
Я попробовал инструмент из codeproject, который называется regsvr42, который не создает полностью манифест.
Я использовал такие инструменты, как PE explorer, где я получаю всю информацию библиотеки типов, но преобразовать их в файлы манифеста слишком сложно.
Мы начали переносить это на .NET, в течение нескольких месяцев мы должны его развернуть, будет проще, если это будет развертывание на основе xcopy.
Для создания файлов манифеста вы можете попробовать использовать Make My Manifest from http://mmm4vb6.atom5.com/.
РЕДАКТИРОВАТЬ Сайт МММ не работает. Я вижу здесь, что у автора возникли проблемы с их хостингом, и он предоставил другое место для получения Make My Manifest - скачать здесь.
Если вы можете контролировать создание объектов, вы можете использовать DirectCOM из http://www.thecommon.net/10.html
Имейте в виду, что если одна из используемых DLL или OCX динамически создает другие COM-объекты с помощью вызовов CreateObject, эта ссылка не будет сохранена в файле проекта vbp, и вы не получите полный файл манифеста. Возможно, вам придется отслеживать создание объектов во время работы приложения. Приложение Depends.exe может профилировать запущенное приложение и сообщать обо всех используемых dll. Я не знаю, есть ли инструмент, который может найти дополнительную информацию, связанную с COM.
Make My Manifest может поддерживать как позднюю, так и раннюю привязку. Вам просто нужно добавить ссылки на зависимости с поздним связыванием вручную, по местоположению файла или по ProgId.
Вы можете посмотреть http://mmm4vb6.atom5.com/mmm-demo-1248.html за дополнительной помощью в использовании утилиты.
В этой статье на MSDN есть отличное пошаговое руководство: Активация COM-компонентов без регистрации: пошаговое руководство.
MakeMyManifest хорошо известен как автоматический инструмент для создания манифестов для проектов VB6, сам не пробовал. У DirectCOM тоже есть поклонники, опять же не пробовал.
РЕДАКТИРОВАТЬ Сайт MMM не работает. Я вижу здесь, что у автора возникли проблемы с их хостингом, и он предоставил другое место для получения Make My Manifest - скачать здесь.
Есть полуавтоматическая техника. Вы можете создавать манифесты с помощью Visual Studio 2008 (вы можете использовать бесплатную версию, например Visual Basic Express Edition). Затем сделайте пару правок вручную, чтобы манифесты были пригодны для использования из VB6. Пошаговые инструкции см. В разделе эта секция этой статьи MSDN - игнорируйте остальную часть статьи, посвященную ClickOnce.