Есть ли минус в размещении зависимых от VB6 файлов в каталоге приложения? - PullRequest
1 голос
/ 07 ноября 2008

Если предположить, что каталог приложения доступен для записи, а пространство на жестком диске не является проблемой, есть ли недостатки в размещении файлов зависимостей VB6 (msvbvm60.dll и т. Д.) В каталоге .EXE?

У меня есть самые последние файлы зависимостей, и я предполагаю, что MS не выпускает никаких новых версий, поэтому я считаю, что безопаснее всего (с точки зрения DLL Hell и т. Д.) Просто сохранять эти файлы в каталоге моего приложения, где они не будут изменены, и (IFAIK) они будут первыми файлами, использованными приложением (до их использования в каталоге System32 и т. д.

Ответы [ 4 ]

2 голосов
/ 07 ноября 2008

По моему опыту, такие файлы, как msvbvm60.dll, различные OCX, имеют тонкие зависимости, которые портят работу при попытке установки в каталог собственного приложения. Нашим решением было отследить все зависимости и убедиться, что они были частью установки и обрабатывались правильно в соответствии с правилами Microsoft.

За 8 лет, прошедших с тех пор, как MS прекратила разработку VB6, мы мало что испытали на пути к DLL Hell. (около полдюжины инцидентов в более чем 500 с лишним инсталляциях), и это было результатом того, что клиент перебирал Windows XP до того, как мы туда попали.

Короче говоря, любой пользовательский или сторонний материал помещается в каталог вашего приложения. Остальное гарантирует, что все включено, и позволяет установить его в системную папку в соответствии с рекомендациями MS.

2 голосов
/ 15 апреля 2009

Более подробное обсуждение в этом вопросе : обсуждаются различные методы, которые вынуждают VB6 загружать зависимые файлы из другого места, такие как файлы .local, reg-free COM и DirectCOM.

1 голос
/ 07 ноября 2008

Это должно быть хорошо, мне приходилось делать это в прошлом для сторонней библиотеки DLL, которую я использовал в проекте VB6 много лет назад (мы полагались на причудливую реализацию компонента, чтобы сделать что-то, а позже - исправили msgstr "установлена ​​версия с популярным программным обеспечением). Хотя, если его COM, установка библиотеки regsvr32 может разрушить ваш план, чтобы избежать ада DLL.

0 голосов
/ 28 ноября 2011

На самом деле нет никакого смысла. Просто используйте качественный установщик на основе MSI, который имеет самоизлечение. Таким образом, каждый раз, когда ваше приложение запускается, оно будет проверять и при необходимости устанавливать и регистрировать любые необходимые библиотеки DLL или другие компоненты. Затем вы защищены от всех, кто возится с файлами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...