Как создать исполняемую папку программы?
Есть ли способ создания самоэкзетрактора по уже созданной программе?
Я нашел отличный метод изготовления самоэкстрактора
Добавление и извлечение двоичных ресурсов[^]
но он помещает файлы в файл. exe только при компиляции, в то время как мне нужно, чтобы это была функция, которая будет выполняться несколько раз, и каждый раз она будет выполняться с новыми файлами.
Мне нужна функция программы, которая помещала бы / сохраняла / записывала некоторые файлы в другую программу .exe, из которой я мог бы извлечь эти файлы позже, выполнив ее. Я забочусь о том, чтобы поместить эти файлы в один самоэкстрактор больше, чем сжатие.
Итак, коротко: Как создать программу, которая создает программы с некоторыми файлами и с некоторым исполняемым кодом в ней?
Что я уже пробовал:
Я полагаю, что это требует некоторого опыта в создании самих инструментов разработки, так что, может быть, есть способ заимствовать что-то, скажем, из MS Visual C++?
Может быть, это возможно с библиотекой zlib (так как ее программы делают ту часть, где вы помещаете файлы в один файл, но опять же, я хочу, чтобы эти файлы были в exe.)?
Mohibur Rashid
Попробуйте лучшую архитектуру
Sergey Alexandrovich Kryukov
Золотые слова. Следующий комментарий энхзфлеп тоже очень хорош, пожалуйста, смотрите.
—СА
Brackets
Если бы я знал о лучшей архитектуре, меня бы здесь не было, чтобы задать этот вопрос, спасибо.
enhzflep
Для меня это очень похоже на проблему X/Y.
Проблема X/Y возникает, когда вам нужно выполнить задачу, X. вы воображаете, что лучший способ решить эту проблему-сделать Y. Итак, затем вы выходите в интернет, чтобы получить помощь и задать вопросы о достижении Y.
К сожалению, если бы люди знали, что вы пытаетесь достичь X вместо Y, они дали бы вам совершенно другой совет.
Итак, со всем сказанным - чего вы в конечном счете пытаетесь достичь? Помните, сжатие-это инструмент, который вы считаете необходимым, а не само назначение.
Sergey Alexandrovich Kryukov
Вы очень точно описали весь синдром. Очень жаль, что так много исследователей не понимают этого; и это довольно трудно объяснить таким людям; и они не только новички. Это очень важно: определить проблему, которая не должна быть решена, вместо того, чтобы решить ее.
Одна проблема заключается в том, что иногда это даже не X/Y, а A/.../X/Y, и, возможно, даже X не следует решать. Я всегда стараюсь спросить спрашивающего: что такое А, но они редко отвечают.
—СА
Mohibur Rashid
+5
Вы очень хорошо все объяснили.