Самый простой подход, используемый многими модулями sfx архиваторов, состоит в том, чтобы предварительно скомпилировать заглушку, а затем добавить созданную информацию в эту заглушку (в вашем случае скомпилированная электронная книга). Затем, когда исполняется exe, определяется начало информационного блока (например, с некоторой предварительно определенной последовательностью байтов) и извлекается информация для воспроизведения.
Вы даже можете вставлять внешние ссылки в ваш exe-файл, например, некоторые инструменты, включая файлы DLL в качестве ресурсов, которые извлекаются при запуске в папку temp и затем загружаются оттуда.
Конечно, есть более сложные способы встраивания информации в существующий исполняемый файл, например, BeginUpdateResource - UpdateResource - последовательность EndUpdateResource в WinNT - это еще один способ встроить вашу информацию в исполняемый файл (как ресурс).