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