2015-07-12 3 views
0

У меня есть несколько исполняемых файлов. Я хочу написать программу с использованием cpp, которая будет извлекать их в определенном месте. Как распаковка zip-архива, но я хочу, чтобы он был исполняемым и работал в любой чистой установке окон. (перспектива или позже) Есть ли способ сделать это?Как упаковать несколько исполняемых файлов в один?

Редактировать: Я знаю, как сделать самораспаковывающийся zip-файл, я хочу узнать, как я могу это сделать сам.

+5

Вы смотрите на НЕ записывание собственного кода и использование самораспаковывающегося zip-файла? –

+0

«Я хочу узнать, как я могу это сделать сам», - я продолжил свой ответ. –

+0

То, что вы просите, называется установщиком. Существует множество способов создания инсталляторов, как коммерческих, так и с открытым исходным кодом. Не пишите свои собственные. Пользователи будут очень * недовольны, если не предоставят надлежащего установщика. –

ответ

-1

Большинство архиваторов имеют возможность создавать исполняемые файлы. Вам не нужно писать собственную программу.

EDIT: Если вы действительно хотите, чтобы сделать все это по себе, вы должны использовать windows resource files. (Использование их описывается в another question.) Я вижу два возможных способа сделать это.

  1. Добавить каждый файл в свою программу в качестве ресурса. Программа должна помнить имя каждого файла и сохранять их в каталог один за другим.
  2. Упакуйте все файлы в один. (Вы должны написать вторую программу для того чтобы упаковать файлы.) Образцовый формат пакета может быть следующим:

    | 4-bytes - length of 1st filename | 1st filename | 4-bytes size of 1st file | 1st file | 4-bytes - length of 2nd filename | ...

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

+0

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – Wtower

+0

@Wtower Я отремонтировал его. –

+0

Я уверен, что самораспаковывающиеся zip-файлы или инсталляторы делают * не * использование файлов ресурсов Windows. Файлы ресурсов для этого не предназначены. Переплетение нескольких двоичных файлов в один ресурс, хотя это просто плохая идея, которая ничего не предлагает –

Смежные вопросы