Бесплатная регистрация COM: исполняемый файл VB6, ссылающийся на VB6 DLL

Итак, у меня есть единственный исполняемый файл VB6, который ссылается на несколько VB6 COM DLL. Могу ли я на лету сгенерировать манифест для исполняемого файла, а также манифест для каждой из упомянутых библиотек DLL? Если да, то как?

Я хотел бы выполнить эту операцию как часть нашего процесса сборки без необходимости регистрировать COM-библиотеки DLL как часть процесса.

ПРИМЕЧАНИЕ. Все примеры COM без reg-free, которые я нашел до сих пор, связаны с взаимодействием с .NET, что не является обязательным требованием для того, что я делаю.

[РЕДАКТИРОВАТЬ]

Проведя предварительное тестирование с помощью Unattended Make My Manifest, я обнаружил, что это не так удобно, как хотелось бы. И, поскольку для документации есть только файл Sample.ini, мне было довольно сложно понять, что следует поместить в этот файл, по сравнению с тем, что не нужно помещать в этот файл. В любом случае, я решил создавать манифесты, используя свой собственный инструмент. Надеюсь, я получу разрешение от своих работодателей на выпуск кода с открытым исходным кодом.

* На данный момент, если вы находитесь в том же положении, что и я, и хотели бы создать среду сборки и производства, в которой используются параллельные / без регистрации COM-взаимодействия, просто знайте, что это возможно. Я бы порекомендовал создать их вручную с помощью простой библиотеки DLL и пользовательского приложения, а затем постепенно наращивать их, пока они не будут соответствовать вашим конкретным потребностям. **


person bitcycle    schedule 26.07.2010    source источник


Ответы (2)


Мы используем Unattended Make My Manifest в ежедневных сборках для создания переносимых версий. Он создает единый манифест, который можно встроить в исполняемый файл с помощью mt.exe.

person wqw    schedule 27.07.2010
comment
Я не нашел никакой документации по инструменту UMMM. В образце не ясно, что требуется, а что нет. Могу ли я проконсультироваться с вами по электронной почте для обсуждения? - person bitcycle; 28.07.2010
comment
ZIP-архив с двоичными файлами содержит sample.ini, в котором объясняются все поддерживаемые команды. Обычно вам нужна одна команда Identity и несколько команд File. Подготовьте файл ini (сохраните его в VCS), скопируйте все двоичные файлы в папку, затем создайте компилятор ummm.exe с одним параметром ini для создания манифеста. При необходимости создайте mt.exe, чтобы встроить манифест в основной исполняемый файл. Это довольно очевидно (вы также можете проверить источник), но если у вас возникнут проблемы, напишите мне по электронной почте. - person wqw; 29.07.2010
comment
Я тоже использовал это с успехом. Это, безусловно, соответствует запросу OP - мы запускаем его как часть автоматизированного процесса сборки. Он используется для реализации наших собственных DLL (C # с COM и VB6), а также сторонних. - person StayOnTarget; 08.03.2018
comment
См. Также: stackoverflow.com/questions/465882/ - person StayOnTarget; 08.03.2018

Вы можете попробовать Сделать мой манифест, который представляет собой инструмент для создания манифеста для программы VB6. Я не знаю, может ли он запускаться автоматически как часть процесса сборки.

person MarkJ    schedule 27.07.2010