Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301

Можно ли скомпилировать со сторонней dll, без установки

21.10.2020, 13:56. Показов 1090. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть проект, где я подгружаю стороннюю COM (dll), библиотеку.

Есть ли какая-нибудь, техническая возможность, скомпилировать всё в один ".exe" шник, без предварительной установки?
Почитал в интернете, наткнулся на программы типа "IMerge", "NETZ", но вот никак не пойму, они могут это сделать или нет?
Почему спрашиваю, так как прочитал на одном форуме, ответ, что:
«Если вы подгружаете сторонние библиотеки, то уже никак в один exe, ваш проект не собрать!»
.
Верно ли это утверждение?

И если нет, то как использовать "IMerge", "NETZ", краткий инструктаж (пример)... если можно... я сразу допру


P.S. Спасибо большое, за любой совет!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2020, 13:56
Ответы с готовыми решениями:

Скомпилировать проект в один файл без установки
Доброго времени суток. Столкнулся с проблемой, на рабочие компьютеры нельзя устанавливать ничего в системные папки, а созданная...

Можно ли скомпилировать 64-битную dll с помощью g++
Для использования через JNI, создал Dll в g++ (g++ -Wl,--kill-at -shared -IC:\java\jdk1.8.0_11\include...

Подключение сторонней DLL. Нужно, чтобы программа могла работать с разными версиями dll
Есть dll с неким драйвером для фискального регистратора. Требуется прицепить ее к программе на C#. Проблема в том, что эти драйвера...

18
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
21.10.2020, 15:06
Цитата Сообщение от Schumacher57 Посмотреть сообщение
Есть ли какая-нибудь, техническая возможность, скомпилировать всё в один ".exe"
Только в том случае, если у вас есть исходник этой библиотеки, вы можете перенести нужные функции в свою программу. Иначе увы. А чем вам так не нравится использование библиотеки?
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
21.10.2020, 15:22  [ТС]
Kyra90,
А чем вам так не нравится использование библиотеки?
Эта библиотека устанавливается из набора инструментов (National Instruments). В принципе ничего такого, но тогда вопрос, если я просто, вычленю эту библиотеку (этот dll, наз. VisaComLib) запихну библиотеку допустим в папку, и подключу как сторонний dll, который не прописан в реестре, тогда заведётся?
(Спрашиваю, т.к. уже не могу проверить до завтра).
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
21.10.2020, 15:24
В ресурсы нельзя ее запихать и при необходимости выгружать для использования ?

Добавлено через 1 минуту
Цитата Сообщение от Schumacher57 Посмотреть сообщение
В принципе ничего такого, но тогда вопрос, если я просто, вычленю эту библиотеку (этот dll, наз. VisaComLib) запихну библиотеку допустим в папку, и подключу ка сторонний dll, который не прописан в реестре, тогда заведётся?
А точки входа в библиотеку знаете ? Документация есть по библиотеки есть ?
0
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
21.10.2020, 15:32
Если вы знаете как работать с этой библиотекой - то конечно, подключите ее к проекту и пользуйтесь
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
21.10.2020, 15:48  [ТС]
Почтальон,
В ресурсы нельзя ее запихать и при необходимости выгружать для использования ?
Я только начал юзать VisualStudio. Быстренько почитал про ресурсы. Можно в красе описать этот момент?
Предположительно так: Если я правильно понимаю, я запихиваю эту dll’ку в ресурсы, а затем она (dll’ка) появляется рядом с exe’шником и подгружаю её функции, а по завершению она (если нужно) исчезает, так примерно? (Возможно глупость написал, но я только первые шашки в этом делаю).

А точки входа в библиотеку знаете ? Документация есть по библиотеки есть ?
Документация скорее все есть, какая-нибудь точно. А что там найти нужно?) точки входа это для чего? (Я более менее понимаю, что такое точка входа, но что это даст?)

Добавлено через 7 минут
Kyra90,
Если вы знаете как работать с этой библиотекой - то конечно, подключите ее к проекту и пользуйтесь
Ну да, конечно я документацию изучил по ней, и юзаю её API) И подключил её в reference’ах. Но, тут в чём трабл, если она, а именно установочный пакет (она (dll’ка) лежит в нём) National Instrument, не установлена на каком-нибудь другом ПК, то я ловлю исключение о отсутствии этой библиотеки.
С учётом ответа, предыдущего автора, может её, надо тогда как-то по-другому подключить? (Не в referents).


P.S. Спасибо за уже такую информацию, есть куда покавырять, надеюсь нарою/изучу что-нибудь полезное!
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
21.10.2020, 15:53
Цитата Сообщение от Schumacher57 Посмотреть сообщение
я запихиваю эту dll’ку в ресурсы, а затем она (dll’ка) появляется рядом с exe’шником и подгружаю её функции, а по завершению она (если нужно) исчезает, так примерно?
Примерно да, что-то типа того. Но это лишнее, когда можно тупо положить библу рядом с прогой и спокойно ее юзать. Не понятно зачем такое извращение с библиотекой.
0
Эксперт .NET
 Аватар для Rius
13123 / 7684 / 1675
Регистрация: 25.05.2015
Сообщений: 23,454
Записей в блоге: 14
21.10.2020, 15:55
Schumacher57, вы таки предполагаете, что достаточно скопировать одну библиотеку из сотен мегабайт пакета NI и всё будет работать на ПК без установки оного? Проверяли?

Добавлено через 31 секунду
Для упаковки применяют инсталляторы.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
21.10.2020, 15:55
Цитата Сообщение от Schumacher57 Посмотреть сообщение
не установлена на каком-нибудь другом ПК, то я ловлю исключение о отсутствии этой библиотеки.
Если пользователь обладает правами для регистрации dll, то нужно регать. Если нет - значит нет
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
21.10.2020, 15:59  [ТС]
Почтальон,
Но это лишнее, когда можно тупо положить библу рядом с прогой и спокойно ее юзать.
Ок, завтра так попробую сделать. Спасибо большое!)
Т.е. подключить её как стороннюю не зарегистрированную в системе библиотеку... и подключать я её буду программного, всё верно?)

Не понятно зачем такое извращение с библиотекой.
Да я согласен на это)
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
21.10.2020, 16:05
Цитата Сообщение от Schumacher57 Посмотреть сообщение
Т.е. подключить её как стороннюю не зарегистрированную в системе библиотеку... и подключать я её буду программного, всё верно?)
Не могу сказать, ни разу так не делал
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
21.10.2020, 16:06  [ТС]
Rius,
Schumacher57, вы таки предполагаете, что достаточно скопировать одну библиотеку из сотен мегабайт пакета NI и всё будет работать на ПК без установки оного? Проверяли?
Ну посмотрим, как карта ляжет завтра гляну)
Для упаковки применяют инсталляторы.
А это как? (Вкратце, примерно что это? Я пойму как-нибудь)
0
Эксперт .NET
 Аватар для Rius
13123 / 7684 / 1675
Регистрация: 25.05.2015
Сообщений: 23,454
Записей в блоге: 14
21.10.2020, 16:26
Schumacher57, а это так, как большинство нормальных программ распространяются. Вы не могли не видеть. Запустил, клик, клик и готово. Всё скачалось и установилось.
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
21.10.2020, 16:33  [ТС]
Rius, ааааа
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
22.10.2020, 09:37  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Не могу сказать, ни разу так не делал
Цитата Сообщение от Rius Посмотреть сообщение
вы таки предполагаете, что достаточно скопировать одну библиотеку из сотен мегабайт пакета NI и всё будет работать на ПК без установки оного? Проверяли?
Цитата Сообщение от Kyra90 Посмотреть сообщение
Если вы знаете как работать с этой библиотекой - то конечно, подключите ее к проекту и пользуйтесь

Ай короче, байда какая-то непонятная... Вычленил я эту библу из установщика (наз. «Ivi.Visa.Interop.dll»), подключил как сторонний файл (а не как зарегистрированную COM библиотеку в системе). Собрал решение. Всё равно ругается на то, что не хватает ей этой библиотеки, при обращении (класса) к ней. Пробовал эту библу положить рядом с "exe шником" нифига... Может единственное, что когда добавлял её, надо что бы она уже лежала рядом с exe в папке «Release», но думаю это не то...

В общем, странно... может конечно, эта библиотека динамически использует ещё какие-нибудь библиотеки...
Корочки непонятки. Буду ставить весь пакет из National Instruments, кому надо...

P.S. Спасибо за ответы!
0
Эксперт .NET
 Аватар для Rius
13123 / 7684 / 1675
Регистрация: 25.05.2015
Сообщений: 23,454
Записей в блоге: 14
22.10.2020, 09:45
А я в итоге отказался от этой визы и продолжил работать по rs232 с самописной реализацией документированного протокола обмена.
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
22.10.2020, 12:52  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
А я в итоге отказался от этой визы и продолжил работать по rs232 с самописной реализацией документированного протокола обмена.
Уууф...
Ну да, когда ты силён в программировании, то задачка то, может и не сложная) Обидно, что программка (верней было бы назвать утилитка), то по функционалу на три копейки (но код в 500 строк +-). Просто получить данные с Анализатора спектра в таблицу DataGridView (с сохранением в файл, ну и ещё небольшими прибамбасами)...

А я обмениваюсь по TCP/IP... Сейчас, глянул быстренько, в C#, есть класс: Socket... покурю в принципе.
Эмм... так-то чего такого: строку (текст) отправить на определённый порт и IP адрес и прослушать ответ... в принципе, вроде звучит не сложно, хотя хз сколько там будет подводных камней... (уже смущает, один параметр в Vise, который я должен выставить VisaComLib.FormattedIO488.IO.TerminationCharacterEnabled = True - ХЗ что это вообще такое)).

Такой вопрос, наверное,
Цитата Сообщение от Rius Посмотреть сообщение
по rs232 с самописной реализацией
Если честно, пришлось попотеть?)

И если там, не слишком громоздкий блок кода, то можно какой-нибудь отрывок — именно процесса соединения и передачи... ?
0
Эксперт .NET
 Аватар для Rius
13123 / 7684 / 1675
Регистрация: 25.05.2015
Сообщений: 23,454
Записей в блоге: 14
22.10.2020, 12:54
Нет, всё протоколы, работающие поверх rs232 - довольно простые.
1
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
22.10.2020, 13:06  [ТС]
А, о прикольно, нашёл уже ваш раздел на форуме Передача по rs232 (текстовые команды)
Так и что правда получается отправил строку, и прослушал ответ?
А это:
VisaComLib.FormattedIO488.IO.TerminationCharacterEnabled = True
Символ конца строки?
Короче, как и сказал, Уфф...

Добавлено через 3 минуты
Rius,

Ладно, не мучаю! Мои головняки!

Спасибо! За ответы!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.10.2020, 13:06
Помогаю со студенческими работами здесь

Скомпилировать лисп-код. Вызвать из сторонней программы
Нужно скомпилировать лисп-код. И вызвать из другой программы (Delphi), незаметно для пользователя. При вызове лисп-кода ему передаются...

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

Я написал расширение VS10, позволяющее скомпилировать проект так, чтобы его можно было запустить без NetFramework
Принцип действия, если кратко: импортирует в .exe те классы, которые используются. Компиляция дольше процентов на 10, исполняемый файл...

Как можно проверить исправность процессора без установки?
я получил по почте хорошо упакованный б/у процессор как можно проверить его исправность без установки ?

Как можно работать с MySQL через phpMyAdmin без установки apache?
Всем привет. На компьютере установлен mysql. Как можно работать с ним через phpMyAdmin без установки apache? Если он мне нужен не для...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru