быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
1

Где взять dll с классом (для дальнейшей регистрации этого класса)?

22.04.2013, 20:46. Показов 7080. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть программка на C#, при работе с файлом *.xlsx выдаётся такая ошибка:

---------------------------
Ошибка при считывании excel файла
---------------------------
Ошибка: Не удалось получить фабрику класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
---------------------------
ОК
---------------------------
Пришлось штутдировать Добрынина и Роджерсона. В них есть всё, кроме: а где, собсно брать эти классы, вернее, какой стандартный алгоритм поиска? Ну то есть мне щас нужно найти dll где был бы реализован компонент с указанным CLSID; предполагаю, что там будет и его фабрика. То ли я запрос в гугл не умею составить, то ли нужная мне dll ищется как-то хитро, то ли ещё что.

Не по теме:

...В принципе я не использовал способ, который наверное сработает- поставить на машину, программу, которая работает с такими документами, наверное она называется Microsoft Office; предполагаю, что её инсталятор регистрирует в том числе и этот класс. Но неохота ради одной dll-ки, ставить программу, тем более, что вроде как она особо и не нужна- файлы *.xlsx на раз открываются другой программой- OpenOffice.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2013, 20:46
Ответы с готовыми решениями:

Затупил, скажите где взять libmysqld.dll, libmysqld50.dll, libmysqld51.dll
Вечер добрый, ставлю ZEOS на Delphi 7, и для нормальной работы нужны файлы libmysqld.dll,...

Где взять Dll для работы с шлагбаумами или автоматическими воротами
Подскажите пожалуйста есть ли библиотека для работы с шлагбаумами? Поиск по интернету ни чего не...

Переключите элементы strong с классом some в состояние без этого класса
Переключите элементы strong с классом some в состояние без этого класса, а тем элементам (strong),...

Где взять библиотеки JSCore.dll и WebKitCore.dll
Доброго времени суток. Скачал ExpressoBrowser-master, пытаюсь запустить через SharpDevelop 4.4,...

16
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
22.04.2013, 22:12 2
kravam,
такая же ошибка была, когда пытался работать с MS Word через C#.
На компе был установлен Microsoft Office Starter
Пришлось установить полный пакет Microsoft Office .Тогда заработало .
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
22.04.2013, 22:17  [ТС] 3
Ну так вот надо с этим разобраться, я конечно интереса ради могу поэксперементировать- поставить Microsoft Office, попробовать изменить изменения раздела реестра HKEY_CLASSES_ROOT\CLSID... Нет, я конечно рад поковыряться, но сейчас не тот случай. Может, этот велосипед давно усовершенствован.
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
22.04.2013, 22:48 4
Цитата Сообщение от kravam Посмотреть сообщение
нужно найти dll
Да, не сказал,
для работы с MS Excel, проект должен ссылаться на Interop.Microsoft.Office.Interop.Excel.dll

kravam, наверно о ней речь ?
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
23.04.2013, 14:14 5
Цитата Сообщение от kravam Посмотреть сообщение
а где, собсно брать эти классы, вернее, какой стандартный алгоритм поиска
эти классы должны быть на вашей машине. искать их будет система. если система их не находит вы видите это сообщение. побороть это можно установив нужные программе компоненты на компьютер. вырезание из офиса потрохов вроде MSO.DLL ни к чему хорошему не приведет ни в плане легальности таких фокусов ни в плане мук сопровождающих процесс запуска усеченного набора потрахов.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
23.04.2013, 15:59  [ТС] 6
Цитата Сообщение от vxg Посмотреть сообщение
побороть это можно установив нужные программе компоненты на компьютер
Я это и сам знаю, так их прежде надо где-то взять, а где?
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
23.04.2013, 16:04 7
очевидно, их нужно взять там куда указывает документация к программному обеспечению которое у вас не работает. я так понимаю, что там написано что-то вроде: требуется установка MSO
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
23.04.2013, 17:50  [ТС] 8
А документации и нет никакой. Есть просто исходники и всё.
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
23.04.2013, 17:58 9
Цитата Сообщение от kravam Посмотреть сообщение
А документации и нет никакой. Есть просто исходники и всё.
не смешно.
в этой ситуации надо принимать цианид. представьте перед вами проект в котором создается COM-объект с
ProgID=akKJHKLJHkljHKJlk
классно, правда? нет вообще никакой надежды что вы поймете что же это за дряной компонент и откуда его можно скачать. тут у вас хотя бы есть зацепка - кулибины написавшие исходник явно обращались к офису - значит нужный вам компонент лежит в офисе. если его нет в обрезанном офисе поставьте полный (или для начала сходите в другую комнату где есть полный офис и запустите программу там).
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
23.04.2013, 19:23  [ТС] 10
Так я и сам знаю, что есть офис и что нужная мне херь есть в офисе. Я спрашиваю, как мне её получить МИНУЯ установку офиса?

Блин, если мне нужна dll-ка X, я не справляюсь, какая программа использует эту dll-ку и уж тем более не устанавливаю эту программу в надежде на то, что к ней паровозом идёт эта dll-ка. Я набираю в гугле
dllka.dll скачать
Ну и качаю. Недавно так сделал
Тут же поступило предложение скачать офис.
vxg, если больше предложений нет, то давайте послушаем, что скажут другие ребята.

Добавлено через 46 минут
ProgID=akKJHKLJHkljHKJlk
ЭТо -то как раз и не страшно. ВСе dll-Ки имеют страшные имена. Но дело-то не в имени, оно может быть сколь угодно осмысленным/неосмысленным (хотя первое, конечно, лучше). Важно, чтобы оно было УНИКАЛЬНЫМ. И вот эта-то уникальность и присутствует в CLSIDE, напомню
00024500-0000-0000-C000-000000000046
Следовательно, если и искать по какому идентификатору, то именно по CLSIDу, а не по ProgID, что я и собираюсь сделать. Вы же мне в укор ставите поиск по ProgID; на каком основании, позвольте спросить?
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
24.04.2013, 08:58 11
Цитата Сообщение от kravam Посмотреть сообщение
как мне её получить МИНУЯ установку офиса
Цитата Сообщение от kravam Посмотреть сообщение
набираю в гугле
Цитата Сообщение от kravam Посмотреть сообщение
и качаю
фокус в том, что эта dll-ка скорее всего зависит от неслабого количества других dll-ок, а те в свою очередь от ужасающего количества третьих + все это хозяйство использует различного рода файлы с конфигурациями, плагины, ветки реестра, настройки пользователя и прочие потроха являясь в сумме тем, что вам сказали - MSO.
Цитата Сообщение от kravam Посмотреть сообщение
Вы же мне в укор ставите поиск по ProgID
тут видимо у нас недопонимание. я привел пример когда мы имеем исходники в которых производится создание COM-объекта с неизвестным в природе ProgID или CLSID и сам этот компонент не распространяется с исходниками и не фигурирует в документации. вот тогда, если ProgID не вызывает у нас никаких ассоциаций, а CLSID не может найти google мы в большой беде ибо нет абсолютно никакого способа дознаться что это за компонент.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
24.04.2013, 09:09  [ТС] 12
У меня раньше была ситуация, что я скачал программу и не был зарегистрирован класс, вообще не к чему было привязаться было, кроме CLSIDа. Я не знаю, как вы догадались, что мне нужен MSO (очень может быть), наверное из-за этого
Цитата Сообщение от kravam Посмотреть сообщение
*.xlsx выдаётся такая ошибка:
,

И всё. И я вынужден повторить свой вопрос, который в первом посту прозвучал- как мне найти класс с CLSID-ом таким-то, если к документации к проге ничё не прописано, да и самой документации нет. Как щас помню программа была чекер дедиков.

Добавлено через 1 минуту
Цитата Сообщение от vxg Посмотреть сообщение
а CLSID не может найти google
Так он может быть и может, но может есть архив какой-то этих CLSID-ов, может я просто искать не умею.
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
24.04.2013, 09:35 13
Цитата Сообщение от kravam Посмотреть сообщение
как мне найти класс с CLSID-ом таким-то, если к документации к проге ничё не прописано, да и самой документации нет
это невозможно. во всяком случае стандартной процедуры не существует. нет никакого всемирного реестра объектов.
Цитата Сообщение от kravam Посмотреть сообщение
есть архив
нет такого.
=======
на моей машине в реестре под CLSID=00024500-0000-0000-C000-000000000046 живет Microsoft Excel Application, ProgID = Excel.Application.14, LocalServer=C:\PROGRA~1\MICROS~4\Office14\EXCEL.EXE /automation
чудес не бывает - ваша прога требует MSO (MicroSoft Office)
2
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
24.04.2013, 09:42  [ТС] 14
Даже неинтересно стало. MSO и дурак поставит. Ты попробуй разобраться, как искать компонент, о котором известен только CLSID!
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
24.04.2013, 09:56 15
Цитата Сообщение от kravam Посмотреть сообщение
попробуй разобраться, как искать компонент, о котором известен только CLSID
очевидно, в поисковой машине. ввод вашего CLSID в google приводит к выдаче страницы первый же результат на которой http://support.microsoft.com/kb/292491/ru ведет нас к ответу на вопрос что это за объект
Цитата Сообщение от kravam Посмотреть сообщение
попробуй разобраться, как искать компонент, о котором известен только CLSID
как уже сказано - если не в документах (те кто пишут ПО должны знать что за компоненты они используют), то только в поисковой машине - глобального реестра объектов не существует. относительно "плохого" решения о частичной установке продукта с целью попытаться поселить в свою систему нужный объект сказано выше.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
24.04.2013, 10:18  [ТС] 16
Цитата Сообщение от vxg Посмотреть сообщение
очевидно, в поисковой машине. ввод вашего CLSID в google приводит к выдаче страницы первый же результат на которой http://support.microsoft.com/kb/292491/ru ведет нас к ответу на вопрос что это за объект
Да я уж понял, что если я поставлю MSO, то всё будет круто. Вопрос в том, ОБЯЗАТЕЛЬНО ЛИ ставить MSO, чтобы всё было круто? Хотя вы сказали, что обязательно. Непонятно только почему.

Вот если бы по той ссыли было сказано- "компонент 00024500-0000-0000-C000-000000000046 сделан НАМИ", вопрос можно было бы считать чуть продвинутым. Ага, если кто-то отмечает своё авторство компонента, то, может отмечают и все остальные?

Пока же читаю, что 00024500-0000-0000-C000-000000000046 просто необходим для MSO, даже, строго говоря, я не могу с уверенностью утверждать, что MSO устанавливает этот компонент, пока не попробую.
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
24.04.2013, 10:33 17
Цитата Сообщение от kravam Посмотреть сообщение
ОБЯЗАТЕЛЬНО ЛИ ставить MSO, чтобы всё было круто
как я понял вы человек правильный, все хотите делать так как нужно, поэтому для вас - строго обязательно. причина: распространение частей офиса незаконно, получение работоспособного комплекса из частей офиса сопряжено с определенными сложностями.
Цитата Сообщение от kravam Посмотреть сообщение
я не могу с уверенностью утверждать, что MSO устанавливает этот компонент
этот компонент и есть MSO. точнее это Excel. еще точнее - сборка Excel с автоматизацией.
0
24.04.2013, 10:33
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.04.2013, 10:33
Помогаю со студенческими работами здесь

Народ! А кто знает где взять Help по InfoZip библиотекам UnZip32.dll & Zip32.dll?
Народ! А кто знает где взять Help по InfoZip библиотекам UnZip32.dll & Zip32.dll?

Взять текст из текстового файла и поместить его в массив для дальнейшей обработки массива
добрый день уважаемые форумчане! Подскажите новичку в программировании, как можно взять текст из...

Где размещать объявления класса, чтобы объекты этого класса можно объявлять в нескольких Form
Вопрос тупой. Так получилось, что надо написать прогу в Visual C# вместо билдера. Где размещать...

Где взять GD .dll?(+)
Есть у кого библиотека под винду GD? Желательно старую, с поддержкой gif, хотя это в принципе не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. ) Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru