Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение > Упаковщик файлов в один exe


Автор: lorents 15.1.2010, 15:50
Возможно ли сделать упаковщик файлов в один *.exe, но чтобы при запуске готового файла не было бы извлечения файлов во временную папку?

Автор: Akina 15.1.2010, 16:27
Цитата(lorents @  15.1.2010,  16:50 Найти цитируемый пост)
чтобы при запуске готового файла не было бы извлечения файлов во временную папку? 

А куда?

Автор: Akella 15.1.2010, 16:30
В память?

Автор: lorents 15.1.2010, 16:37
Цитата(Akina @  15.1.2010,  16:27 Найти цитируемый пост)
А куда? 

возможно ли сделать не как архив + SFX, а как бы целый exe

Цитата(Akella @  15.1.2010,  16:30 Найти цитируемый пост)
В память? 

по идеи выходит что в память, конечно я понимаю что много в него файлов из-за это не закинуть,

А вообще какие есть упаковщик файлов в один *.exe, если не считать (7-zip или WinRaR + SFX)?

Автор: Akina 15.1.2010, 16:52
Цитата(lorents @  15.1.2010,  17:37 Найти цитируемый пост)
какие есть упаковщик файлов в один *.exe

Практически любой архиватор

Цитата(lorents @  15.1.2010,  17:37 Найти цитируемый пост)
выходит что в память, конечно я понимаю что много в него файлов из-за это не закинуть

Вот именно

А что если озвучить ВСЮ задачу, а не маленький её кусочек? со всеми условиями и ограничениями... 

Автор: lorents 15.1.2010, 17:35
Цитата(Akina @  15.1.2010,  16:52 Найти цитируемый пост)
А что если озвучить ВСЮ задачу, а не маленький её кусочек? со всеми условиями и ограничениями...  

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

Цитата(Akina @  15.1.2010,  16:52 Найти цитируемый пост)
Практически любой архиватор

это я знаю, и все время так делаю smile 

Автор: Akina 15.1.2010, 17:39
Цитата(lorents @  15.1.2010,  18:35 Найти цитируемый пост)
как сделать в память?

Просто в память - не получится. Программа расчитывает на файловую структуру и обслуживание запросов к ней операционной системой. 
Так что придётся затолкать в исполняемый файл драйвер виртуального диска, при запуске инсталлить его, распаковывать на него файло и потом оттуда запускать.
Думаю, готовых решений найти не удастся.

Автор: lorents 15.1.2010, 17:57
Цитата(Akina @  15.1.2010,  17:39 Найти цитируемый пост)
Просто в память - не получится. Программа расчитывает на файловую структуру и обслуживание запросов к ней операционной системой. 
Так что придётся затолкать в исполняемый файл драйвер виртуального диска, при запуске инсталлить его, распаковывать на него файло и потом оттуда запускать.

 smile голова кругом этого пошла
Выход что можно сказать так сделать нельзя

Автор: lorents 21.1.2010, 15:36
Чтобы загружать в память можно воспользоваться программами для создания portable smile 

Автор: Akella 22.1.2010, 01:31
portable версия программы всё равно распаковывается на диск

Автор: lorents 22.1.2010, 09:35
Цитата(Akella @  22.1.2010,  01:31 Найти цитируемый пост)
portable версия программы всё равно распаковывается на диск 

а мне сказали, что он не распаковывается а сразу загружается в оперативную память

Автор: Akina 22.1.2010, 09:51
lorents, давай чётко различать portable программы, которые изначально были написаны как portable - они и вправду ничего никуда не распаковывают, и готовые non-portable программы, которые были сделаны portable при помощи специально предназначенных для этого инструментов - эти распаковывают, потому что иначе работать просто не умеют по причине, описанной мной выше.

Автор: lorents 22.1.2010, 15:47
Akina,  если они распаковывают файлы, то вопрос куда?
я просто спрашивал там где делают portable программы через спец. инструменты, там сказали что не распаковывают
цитирую:
Цитата
Thin-программы не распаковываются, а загружают в память деобходимые компоненты. 
В оперативную память грузятся толко нужные файлы. На жестком почти ничего не хранится.

Автор: Akina 22.1.2010, 16:48
Цитата(lorents @  22.1.2010,  16:47 Найти цитируемый пост)
если они распаковывают файлы, то вопрос куда?

Читай доки на КОНКРЕТНЫЙ запаковщик.

Автор: Akella 22.1.2010, 17:10
Цитата(lorents @  22.1.2010,  15:47 Найти цитируемый пост)
Akina,  если они распаковывают файлы, то вопрос куда?

Обычно в текущую папку, т.е. откуда запускается программа.

Добавлено через 40 секунд
Цитата(lorents @  22.1.2010,  15:47 Найти цитируемый пост)
На жестком почти ничего не хранится.

Да, очень точное слово "почти" в программировании smile 

Автор: lorents 22.1.2010, 17:12
Цитата(Akina @  22.1.2010,  16:48 Найти цитируемый пост)
Читай доки на КОНКРЕТНЫЙ запаковщик. 

мне это скзали на форуме VMware ThinApp на ru-board.com

Цитата(Akella @  22.1.2010,  17:10 Найти цитируемый пост)
Обычно в текущую папку, т.е. откуда запускается программа. 

их там нет smile 

Автор: Akella 25.1.2010, 23:28
Значит во временной папке винды.

Добавлено через 24 секунды
Или уже действительно распаковывается на виртуальный диск в памяти.

Автор: Onyma 28.1.2010, 21:10
Можно, так например делались в tp7 оверлей модули, которые могли пристыковываться к exe файлу и загружались в память.
Также можно хранить в виде ресурсов, потом распоковывать в "поток_память", вопрос как передать туда управление.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)