ПрограммированиеФорумОбщее

Подскажите средство для запихивания ресурсов в exe, возможно архиватор

#0
14:46, 19 апр 2010


Задача немного необычна.
Итак, есть exe'шник. Есть к нему пара-тройка папок с файлами, которые он читает для работы своей.
Задача - запихнуть все файлы и папки в экзешник, чтобы был один он. При том, что чтение файлов из самого exe должно остаться прежним!

Я думаю, есть какие-то варианты, вроде архиватора, который из самораспаковывающегося архива раскрывает всё во временную папку и сам запускает распакованный exe'шник?
Кто знает? Нужны бесплатные варианты...

#1
15:55, 19 апр 2010

если бы у меня кто-то попытался так сделать, я бы, наверно, прибил сразу.

#2
16:34, 19 апр 2010

sb3d
>>Я думаю, есть какие-то варианты, вроде архиватора, который из самораспаковывающегося архива раскрывает всё во временную папку и сам запускает распакованный exe'шник?
Такое в ручную не сложно реализовать. Гугл выдаёт хорошие примеры на запрос "ресурсы в exe".

#3
16:36, 19 апр 2010

unsigned char file0_data[] = "погнали_данные_файла"
http://www.programmersheaven.com/download/16517/download.aspx and so on...

#4
16:40, 19 апр 2010

Вроде как стандартные ресурсы в exe подходят. Точных функций не скажу, но WinAPI должен находить их, как и файлы, по адресам res://[путь к ресурсу] по аналогии с обычными файлами file://. Наверное и обёртки под это дело есть.

#5
17:38, 19 апр 2010

Suslik
> если бы у меня кто-то попытался так сделать, я бы, наверно, прибил сразу.
Вообще да, мне часто отрезвляющего пинка не хватает. =))

Alexander K, keltar, Pahan, спасиб, буду в ту степь думать.

#6
19:47, 19 апр 2010

sb3d
Это вместо инсталятора?

#7
20:08, 19 апр 2010

GLoom
> Это вместо инсталятора?
В том числе и это. Хороший инсталлятор - это тот, про который пользователь не знает.
Во вторых - скринсэйвер.

#8
20:42, 19 апр 2010

keltar верно говорит, имхо, пихай в массив и потом из него читай.

#9
21:06, 19 апр 2010

Если не в ресурсы, то можно так: открываешь файл , который требуется запихать в exe в WinHex или FlexHex (редакторы поддерживают форматированое копирование в буфер обмена , по синтаксису языка программирования) ,  далее выделяешь всё,  потом "copy formated" и выбираешь там..  си, паскаль ..  . Далее вставляешь этот массив в свой исходник. 
  Желательно в другой сцециальный файл  .. Например  MyFileData.cpp  .    Если вставляешь массив в  локаль (в тело функции)  не забудь объывить его как static.

#10
21:44, 19 апр 2010

sb3d
> Я думаю, есть какие-то варианты, вроде архиватора, который из
> самораспаковывающегося архива раскрывает всё во временную папку и сам запускает
> распакованный exe'шник?
> Кто знает? Нужны бесплатные варианты...
Так это умеют стандартные исталяторы. Ты выбираешь (можешь и юзверя спросить) в какую папку копировать файлы. И много другое.
Пример программы CreateInstall

#11
23:54, 19 апр 2010

Ответ, думаю, получен. Вариант с WinHex и данными в код самый приемлимый.

Темку закрываю, всем большое спасибо!

ПрограммированиеФорумОбщее

Тема в архиве.

Тема закрыта.