Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание автономного exe'шника 
:(
    Опции темы
Zyxel
Дата 26.8.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.4.2011

Репутация: нет
Всего: нет



Есть проект, поддерживющий работу с большим количеством устройств. В папке с exe'шником проекта находятся dll'ки - драйвера 
устройств. Помимо того, что это просто неудобно, при переносе на др. компы возникают еще и проблемы со студийными библиотеками типа msvcr*.dll
Работаю c VC++ 2005.
Подскажите,  как сделать, чтобы exe файл проекта был автономен и не требовал наличия  dll в своем каталоге?

ну...что-то типа этого... 
http://fallengamer.livejournal.com/69536.html
 вроде то, что нужно, но ничего не понятно

Это сообщение отредактировал(а) Zyxel - 26.8.2011, 21:04
PM MAIL   Вверх
kiler4747
Дата 26.8.2011, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 28.2.2011

Репутация: нет
Всего: нет



Создай инсталлер. В студии при выборе типа проекта выбрать Другой тип проекта, а там установка. (VC++2010)
PM MAIL Skype   Вверх
Zyxel
Дата 26.8.2011, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.4.2011

Репутация: нет
Всего: нет



Если правильно понимаю, инсталлер просто установит exe-файл и необходимые для его работы dll. Это и так скопировать можно.
Вопрос в том, как все это интегрировать в один исполнимый файл? 
Руководство именно так поставило задачу.
Я еще сама не разобралась насколько это целесообразно ... инфа по этому вопросу какая-то обрывочная(
PM MAIL   Вверх
volatile
Дата 26.8.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 4
Всего: 85



Цитата(Zyxel @  26.8.2011,  22:05 Найти цитируемый пост)
Вопрос в том, как все это интегрировать в один исполнимый файл?

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

Если исходников dll нет, ничего не выдет.
Хотя видел где-то трюки с объединением dll с исполнимым файлом в один екзешник, но это хак., и в серьезном проекте такое делать не рекомендую. Полюбому, ничего путевого не выдет из этого ... И к С++ это никокого отношения не имеет.
PM MAIL   Вверх
Zyxel
Дата 27.8.2011, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.4.2011

Репутация: нет
Всего: нет



Цитата

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

обычно так и делаю, но в данном случае большинства исходников dll нет...
Таскать за собой либы совершенно нормальный подход, 
тем не менее если нельзя все объединить в один ехе-шник, мне нужно аргументированно 
объяснить руководителю почему. Он уверен в обратном. 
В нете эта тема широко не обсуждается, тем не менее то, что нашла крутится вокруг платформы .NET:
сборки, РЕ-файлы (portable executable)...

цитирую статью(ссылка на статью в первом посте)
 "...В статье рассказывается, как создавать такие автономные программы из одного файла. Разобран пример как со сжатием зашить библиотеку AutoMapper в программу и как ее потом достать и использовать... 
...Итак, у нас есть работающий проект, использующий сторонние библиотеки. Хочется, чтобы exe файл проекта был автономен и не требовал наличия зависимых dll в своем каталоге.Полученную ранее архивированную сборку добавляем в ресурсы проекта через Project Properties-Resources-Files. Студия при добавлении ресурса генерирует код, который позволяет использовать добавленный ресурс через Resources класс...
...Включение зависимых сборок в ресурсы самой программы позволяет ей работать автономно. Для запуска требуется один лишь exe файл. Это важно для служебных утилит, сразу готовых к использованию.
Фактически такие автономные программы не требуют установки и их удобно передавать по сети или хранить на флешке..."

Т.е. получается DLL каким то образом помещаем в сборку и  как ресурс добавляем в проект???


"

Это сообщение отредактировал(а) Zyxel - 27.8.2011, 00:50
PM MAIL   Вверх
volatile
Дата 27.8.2011, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 4
Всего: 85



Zyxel, ну есть еще программки (типа "thisinstall"), которые делают портабельный софт из непортабельного.
Они вообще все что угодно в один екзешник могут запихнуть. smile

PM MAIL   Вверх
kiler4747
Дата 27.8.2011, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 28.2.2011

Репутация: нет
Всего: нет



думаю это поможет
http://www.3dnews.ru/software-news/616082

Добавлено через 4 минуты и 45 секунд
если нужно ипользовать библиотеки .NET то вроде ничего не получится, т.к. при установке .NET Fraemwork 4 подстраивается под систему и железо.
PM MAIL Skype   Вверх
Zyxel
Дата 27.8.2011, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.4.2011

Репутация: нет
Всего: нет



Спасибо, MoleBox скачала, на работе установлю, посмотрю что за штука.

Этот вопрос сейчас двигаю по двум направлениям
1. упаковка в автономный ехе-шник с помощью сторонней утилиты, типа MoleBox. 
Здесь все понятно, только есть  сомнение в "солидности" этого способа. 
2. создание автономного ехе на уровне компоновки проекта. Здесь начинается чем дальше в лес, тем ну его на фиг)
много тем и никакой конкретики(

Что думаете относительно "коректности" первого способа и реальности второго?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0674 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.