Unter Windows könnte man z.B Nutzdaten als Ressourcen einbinden und im Programm mit
LoadResource holen/schreiben. Ich denke das:
http://www.vbforums.com/showthread.php?t=290165 (ist C++

)
oder das:
http://www.codeproject.com/cpp/GetHTML.asp
wären einige Beispiele.
Bei einem Setup-Builder:
geht es im Prinzip, einer Exe Dateien hinzuzufügen und diese dann die Dateien entpacken zu lassen.
Dazu gibt es natürlich viele Möglichkeiten, die (imho) simpelste:
Man schreibt zuerst eine "Template Exe", die eine Funktion kennt: sie öffnet sich selbst,geht zu ihrem "Ende" und liest die Daten ab diesem Punkt aus/ schreibt diese wo anders hin. Aus dieser "Template Exe" können später die Setups generiert werden.
Dann schreibt man das zweite Programm - den "Builder/Setupmaker". Dieses Programm nimmt die "Template Exe" und hängt die gewünschte Datei einfach dran -> fertig ist ein Setup. Dieses Verfahren sollte zwar nur ab Win NT laufen (sicher bin ich mir nur bei win2k,XP,2k3), wäre aber erstmal ein Ansatz.
Jetzt muss man noch das Problem lösen, wie die "Template Exe" feststellt, wo das "Ende" ist (da durch die angehängte Datei sie selbst auch größer wird

).
Dazu: entweder gibt man die Größe fix an (wenn das Programm also fertig ist und ein Platzhalter für die Größe eingetragen wurde -> compilieren und die Größe nachschauen, dann den Platzhalter ersetzten). Das könnte allerdings etwas fummelig werden.
Oder man "vereinbart" folgendes: die letzten 4 Bytes, die an die "Template Exe" angehangen werden, geben die Startadresse der angehangenen Datei an. Die "Template Exe" macht also:
1.sich selbst öffnen
2.eigene Größe ermitteln
3.Vier Bytes am Ende auslesen
4.zu dieser Adresse gehen und bis Ende-4 alles auslesen
Spontan fallen würde ich die File-pointer Operationen empfehlen (fseek oder C++ Äquivalenzen).
Dieses Verfahren kann man noch verkomplizieren, in dem man z.b eine eigene Datenstruktur definiert, in der beschrieben wird, welche Daten (größe, Name usw) angehangen wurden und wie man sie herauslesen sollte. Zuerst wird diese Struktur vom Setup-Builder erstellt und angehangen und dann die ganzen Daten hinten dran.
Die "Template-Exe" liest die Struktur ein und wertet sie aus.
Um auch Win9.x anzusprechen, wird man aber die Datei entweder als Ressource einbinden müssen oder zumindest die Executable ein wenig korrigieren. Der Hintergrund: Afaik (schon sehr sehr lange her

) kann eine laufende Exe unter Win 9.x auch nicht zum Lesen geöffnet werden.
Das ganze Rumgewurschtele fällt allerdings nur an, wenn man einen "Setupbuilder" machen möchte - für die eigenen Exen braucht man nur zu wissen:
1) wie man Ressourcen einbindet (compilerspezifisch)
2)wie man diese Ressourcen wieder ausliest.