Как засунуть DLL себе во внутрь ЕХЕ мы уже разбирали. А вот как засунуть себе в ЕХЕ, допустим архив RAR, чтобы потом его извлечь (используя unrar.dll). Т.е. нужен самораспаковывающийся архив + который выполняет ещё потом действия с файлами, реестром и т.д. и т.п. -- можно конечно сделать стандартный и впихать в него свой ЕХЕ, который будет выполнять действия с файлами после распаковки, но это не катит, т.к. любой может архив вскрыть и достать содержимое, да и к тому же иногда нужно залесть в реестр перед установкой и проверить есть ли на компе та или иная игра, а потом уже предложить пользователю изменить\указать путь к ней и т.д. и т.п., т.е. в идеале на выходе нужно получить ЕХЕ, внутри у которой unrar.dll (проблем вроде нет с этим) и запароленный RAR архив (не более 20 Мб) и извлекать из него прямо из ЕХЕ, без выдирания его во временную папку... самараспаковывающиеся RAR архивы как-то же спокойно открываются как обычный RAR...
Если UNRAR.DLL не поддерживает распаковку из памяти (типа потоков Streams и т.д.) - то, видимо, без создания временного файла - никак. Во всяком случае у меня идей нет.
Да, unrar.dll работает только с файлами.
Есть три решения:
Вообще unrar.dll должен воспринимать любой правильный exe с дописанным к нему в конец rar'ом как архив.