Страница: 1 | 2 |
Вопрос: Не загружаются control'ы
Добавлено: 24.04.09 13:16
Автор вопроса: Page
Программа использует tabctl32.ocx и FM20.DLL. и всё работает если они лежат в "system32". Но при запуске этой программы на машине где не установлен Office (и устанавливать его там не нужно) который использует FM20.DLL, и нету Visual Basic tabctl32.ocx, выдает ошибку..мол дай их мне. Конечно можно это все выдернуть и поставить, но допустим нет прав админа, тогда эти файлы скопировать в system32 неудасться.
Вопрос как сделать так чтобы эти контролы хранились в корне с самой программой и при запуске она обращалась впервую очередь к ним, а не лезла в системную папку винды.
Ответы
Всего ответов: 24
Номер ответа: 1
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #1
Добавлено: 24.04.09 13:59
Переименуй их и регистрируй программно при установке или запуске
Номер ответа: 2
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #2
Добавлено: 24.04.09 15:12
а как регестрировать? можно подробнее...
Номер ответа: 3
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #3
Добавлено: 24.04.09 16:22
Подробности почитай тут
http://www.vbnet.ru/forum/show.aspx?id=12466
Регистрировать это правильно, но незнаю как это под гостем.
Я гдето видел другое решение, по-моему через лоадлибрэри или чтото созвучное.
Номер ответа: 4
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #4
Добавлено: 24.04.09 18:22
вот нарыл, мож кто поробует разобраться
Номер ответа: 5
Автор ответа:
VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #5
Добавлено: 25.04.09 13:35
Регистрировать их можно в любой папке. Но только не под админом вряд-ли что из этого выйдет... Команда регистрации (можно Shell'om):
Команда разрегистрации (можно Shell'om):
можно еще "/s" добавить и тогда никаких сообщений не будет.
Можно еще сделать LoadLibrary на файл, найти там функцию DllRegisterServer и сделать CreateThread на ее адрес... В общем, способов куча...
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 25.04.09 15:52
>Asc(Right$(path, 1)) = Asc("\")
хе) а почему не Right$(path, 1) = "\"
>complite
это по-другому пишется
>FileCopy fil.path, <...>
думаю лучше регистрировать прямо там где они лежат, а не переписывать в систем32.
И вообще лучше уж написать bat-скрипт
Номер ответа: 7
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #7
Добавлено: 25.04.09 20:03
так я и не хочу их перписывать в system32.
Я просто хочу что было так.
(папка с программой): programm.exe FM20.DLL tabctl32.ocx
И все! Чтобы programm.exe использовала FM20.DLL и tabctl32.ocx с каталога где сама лежит.
как это сделать?
Номер ответа: 8
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #8
Добавлено: 25.04.09 23:52
положить в папку с программой reg.bat
regsvr /s FM20.DLL
regsvr /s tabctl32.ocx
ну и unreg.bat
regsvr /s /u FM20.DLL
regsvr /s /u tabctl32.ocx
Запустил 1 раз reg, и потом пользуйся программой своей
Номер ответа: 9
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #9
Добавлено: 26.04.09 00:09
низдраво как-то))) bat запускать потом программу. А если она запускается с CD-ROM например autorun.inf
И че написать туда
[autorun]
open=reg.bat
Каждый раз когда пользователь вставляет компашку у него будет выполняться
regsvr /s FM20.DLL
regsvr /s tabctl32.ocx
вот на .NET эта проблема решена. там если добовляешь сторониий контрол при компиляции он его прописывает там же где и EXE.
Неужели на vb6.0 все так беспантово?
Номер ответа: 10
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #10
Добавлено: 26.04.09 01:19
Не так все плохо, просто нужно уметь.
Иногда приходилось таскать ocx/dll на случай если их нет в системе.
Я их паковал в ресурсы экзешника, прога грузилась в Sub Mаin, там я проверял наличие админских прав и осх-ов в системе.
Если были права сливал ресурсы в сис32 и при загрузке формы они автоматом регались, а если прав нет, то юзер посылался к админу
Номер ответа: 11
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #11
Добавлено: 26.04.09 01:23
Это чтоб не заморачиваться, а вообще под гостем можно слить ресурсы в темп и уже оттуда лоадлибрэри и мир-труд-май
Номер ответа: 12
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #12
Добавлено: 26.04.09 01:27
Это чтоб не заморачиваться, а вообще под гостем можно слить ресурсы в темп и уже оттуда лоадлибрэри и мир-труд-май
у меня впринципе уже такая идея была, тока неполучилось осуществить до конца (опыта мало).
Если можешь, опиши как это сделать
Номер ответа: 13
Автор ответа:
Page
Вопросов: 5
Ответов: 20
Профиль | | #13
Добавлено: 26.04.09 01:29
...всмысле лоадлибрэри из темпа
Если можешь, опиши как это сделать
Номер ответа: 14
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #14
Добавлено: 26.04.09 01:42
По вопросам опыта лучше всего обращаться к господину sne.
Поищи тут на сайте VbPhanton,
там все с комментами.
Номер ответа: 15
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #15
Добавлено: 26.04.09 01:56
Приведу кусок оттуда