Du hast noch Glück gehabt 
Hallo Dan,
also ich würde denken, Du hast noch Glück gehabt, daß es nur die eine Datei war. Es hätten durchaus mehr sein können, und in solchen Fällen kriegt man oft nur kleckerweise raus, was alles fehlt.
Hintergrund ist der, daß Du zwar eine EXE gebaut hast, die aber längst nicht den gesamten Code enthält, der zur Ausführung notwendig ist. Ich stelle es mir so vor, daß nur das von Dir selbst getippte Zeug in complilierter Form da drin steckt, mit bissl Administration drumherum natürlich.
Und dieses „bissl Drumherum“ sorgt dafür, daß zur Laufzeit all jene Komponenten, die Du nicht selbst geschrieben hast - angefangen beim einfachen Button über Rich-Text-Felder bis hin zu Media-Playern und so weiter - mit eingebunden werden. Und die müssen auf dem System installiert sein.
Wenn Du nur Standard-Komponenten benutzt, hast Du bei einem normal installierten Windows-System kein Problem. Die stecken nämlich in diversen DLLs, die fast jede Windows-Anwendung benötigt. Dazu gehören die Buttons, Textfelder, Labels, … Alles andere kann zufällig auf dem Zielrechner installiert sein, muß aber nicht. Und von letzterem muß man leider immer ausgehen.
Eine Lösung bietet der Verpackungs- und Weitergabe-Assistent. Der guckt, was so alles benutzt wird von Deinem Programm und schnürt alles zu einem Setup zusammen. Sicherste Variante.
Es gibt auch andere Setup-Assistenten, auch Shareware, aber ich habe keine Ahnung, wie die arbeiten.
Alternativ würde ich gucken, was ich an Komponenten eingebunden habe: In der Werkzeugleiste und unter „Verweise“ im Menü. Da kann man ja sehen, welche DLLs oder OCXes dahinter stecken. Die können dann beigelegt werden (ggf. Copyright beachten!), müssen auf dem Zielrechner dann aber manuell registriert werden, falls sie dort fehlen.
Das sollte als Hintergrund genügen. Ich bitte darum, mich ggf. zu korrigieren bzw. zu ergänzen!
Kristian
PS: Übrigens ist die Grundvoraussetzung für einen erfolgreichen Programmstart, daß die VB-Runtime-Bibliothek installiert ist. Das ist aber in der Regel gegeben. Wenn die nicht wäre, hätten die VB-EXE-Dateien sicher einen deutlich größeren Umfang, weil sie das ganze Zeug dann selbst intus haben müßten.