Eso era lo que yo te decia que te pasaria.
Y esta es basicamente la solucion que te daba.
Código vb:
Ver originalPrivate Sub Command1_Click()
Static Respuesta As String ' creamos una variable que no se pierde
If Respuesta = "" Then
If Dir("C:\RutaApp.txt", vbArchive) <> vbNullString Then
Open "C:\RutaApp.txt" For Input As #1
Line Input #1, Respuesta
Close #1
Else
Respuesta = "C:\Program Files\KONAMI\Pro Evolution Soccer 6\PES6.exe"
End If
End If
If Dir(Respuesta, vbArchive) = vbNullString Then
CommonDialog1.Filter = "Archivos Ejecutables (*.exe)|*.exe"
CommonDialog1.ShowOpen
'si el usuario selecciona cancelar que salga del sub
If CommonDialog1.FileName = "" Then Exit Sub
Respuesta = CommonDialog1.FileName
Open "C:\RutaApp.txt" For Output As #1
Print #1, CommonDialog1.FileName
Close #1
'Si selecciona un ejecutable que lo abra
Shell CommonDialog1.FileName, vbNormalFocus
Else
'En caso de que en la comprobación si exista el ejecutable que lo abra.
Shell Respuesta, vbNormalFocus
End If
Me.WindowState = 1
End Sub
Se puede hacer de muchas formas y esta no es la mejor, pero tendras que aprender equivocandote como todos.