Teoricamente dovresti compilare l'eseguibile e aggiungerlo come risorsa binaria del progetto; quindi a runtime estrarlo con le funzioni standard di manipolazione delle risorse incorporate. Il problema però è un altro: come fai a far incorporare sé stesso all'eseguibile? Infatti dovresti effettuare una prima compilazione senza file di risorse (per il semplice fatto che hai bisogno dell'eseguibile da includere), e quindi devi incorporarlo nel progetto. Tuttavia l'eseguibile vero e proprio e l'eseguibile incorporato saranno diversi: l'eseguibile vero e proprio incorpora l'eseguibile senza risorse, ma l'eseguibile senza risorse non incorpora un bel niente, per cui la "ricreazione" dell'eseguibile è possibile solo con l'eseguibile che hai compilato direttamente da VB.
La soluzione migliore sarebbe ancora quella di eseguire una copia del file, non mi risulta che quando lanci un eseguibile Windows ne blocchi la lettura.