Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 4

Регистрация DLL не работает в win64

30.05.2017, 11:19. Показов 2299. Ответов 6

Студворк — интернет-сервис помощи студентам
Задача следующая. Написал библиотеку, реализующую простой OLE интерфейс.
Сделал через ATL.
Среда Visual Studio 2015 pro.
Операционка Windows 7 32 бита.

Проблема в следующем - не могу зарегистрировать библиотеку ни в какой другой 64х битной системе.
Пробовал в разных. Win7, 8, 10.
regsvr32 говорит, что библиотека не найдена.
Простые решения типа запустить из-под администратора, указать путь в кавычках, положить в system32|syswow64 не предлагать. По моему все уже перепробовал. Тут что-то хитрее.

Отладить на целевой машине не могу. На моей машине, все, естественно, работает корректно. Регистрация/удаление и собственно сам функционал библиотеки.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2017, 11:19
Ответы с готовыми решениями:

Как перекомпилить Win32 dll -> Win64
Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64

GlfwSwapBuffers работает неадекватно медленно. (win64, glew, glfw3)
glfwSwapBuffers работает 15ms, что явно какой-то бред. Весть рендер занимает 5ms, а смена буферов 15? Что не так? На скрине видно время...

Где взять bass.dll bass.lib for win64
Приветствую. Тут много тем было на эти вопросы , но ответа не нашел. Где можно и вообще есть ли bass.dll,bass.lib для Windows 8.1 64...

6
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
30.05.2017, 11:47
А может быть, у твоей dll зависимость от других dll, которых нет на целевых системах?
В любом случае, все это - гадание на кофейной гуще. Без самой dll или кода регистрации
вряд ли можно что-то сказать наверняка. И да, запускать надо от имени администратора и
путь указывать в кавычках (если он содержит пробелы)
0
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 4
30.05.2017, 11:56  [ТС]
На других машинах пока не дошли руки проверить зависимости. С другой стороны там нет ничего сверхестественного.
Самое страшное там это CRYPT32.
Код регистрации стандартный от ATL без изменений.

C++
1
2
3
4
5
6
7
8
9
10
11
STDAPI DllRegisterServer(void)
{
    // регистрирует объект, библиотеку типов и все интерфейсы в библиотеке типов
    HRESULT hr = _AtlModule.DllRegisterServer();
    #ifdef _MERGE_PROXYSTUB
    if (FAILED(hr))
        return hr;
    hr = PrxDllRegisterServer();
#endif
        return hr;
}
А что, при ошибке зависимости regsvr32 будет выдавать такую же ошибку, как при отсутствии файла?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
30.05.2017, 12:12
Цитата Сообщение от Cyrick Посмотреть сообщение
На других машинах пока не дошли руки проверить зависимости. С другой стороны там нет ничего сверхестественного.
Ну как вариант - vcruntime140.dll. По дефолту все проекты C/C++ в VS2015
ставят в зависимости эту dll. Но она не на всех компьютерах есть...

Цитата Сообщение от Cyrick Посмотреть сообщение
А что, при ошибке зависимости regsvr32 будет выдавать такую же ошибку, как при отсутствии файла?
Не знаю, если честно...
0
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 4
30.05.2017, 14:25  [ТС]
А есть какая-то возможность избавится от этой гадости?
Не сказать, что я силен в сях, просто необходимость подтолкнула, а нюансов не знаю.

Добавлено через 1 час 38 минут
Спасибо, нашел. Да, по зависимостям вылезла эта новая "оптимизированная" vcruntime140.dll.
А все из-за того, что студия 2015 только у меня...
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
30.05.2017, 14:39
При создании проекта ATL надо указывать в мастере "Use ATL as static library".
Тогда зависимостей от vcruntime dll не будет.
0
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 4
30.05.2017, 14:54  [ТС]
У меня такого нет в мастере. Ну или совсем не знаю, куда смотреть.
Это можно как-то опциями разрулить?

Добавлено через 6 минут
Нашел. Библиотеку MFC Нужно статически собирать. Указывается отдельно в настройках проекта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2017, 14:54
Помогаю со студенческими работами здесь

У кого-нибудь еще работает Canon i320 под Win64?
У кого-нибудь работает Canon i320 под Win64? Нигде не могу найти драйвера. Может, кто поделится, или подскажет что делать?

Регистрация Dll
Всем привет. Расскажу по порядку - может добрый человек поможет... Есть программа А. На нее приобрели в инете новые кнопки (графические) -...

Регистрация dll
Здравствуйте. Есть такая библиотека NiApi.dll (http://www.netinvestor.ru/niapi.aspx). Так вот, в руководстве написано, что перед...

Регистрация DLL
Такая проблема: Есть парк компов в разных городах, не объединенных в ЛВС. На разных компах может быть разные пароли от локального админа....

Регистрация dll
Доброго времени суток. Хочу зарегистрировать dll командой: C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru