Muchas gracias Ximorro

como siempre marcando la diferencia usted
Para el caso del escritorio puedes usar @DesktopCommonDir para el común y @DesktopDir para el de usuario (el que buscabas primero, que tiene el nombre de usuario), así que tu carpeta destino sería mejor:
@DesktopDir & "\lang\" o @DesktopCommonDir & "\lang\"
Yo lo puse como all user y lo probe en 3 pc y funciono, pero claro las 3 fueron xp gracias x aclararlo
Ojo que en FileInstall sólo puedes usar estas cosas en el directorio destino, para el primer argumento es necesario poner una cadena fija. Así que la primera cadena no la puedes simplificar con esto (aunque sí puedes poner path relativos), pero es ideal para lo que quieres de elegir la carpeta de instalación en el ordenador del usuario.
Gracias por el consejo igual ya me paso y me di cuenta ke solo hay ke modificar el destino
Respecto a la segunda pregunta... primero decirte que la carpeta temporar no es el mejor sitio para un ejecutable, a menos precisamente que sea un ejecutable temporal que luego vas a borrar, con lo que no tendría mucho sentido hacerle un acceso directo.
En cualquier caso, un acceso directo se hace con FileCreateShortcut, por ejemplo, para hacer un acceso directo de c:\temp\eje.exe en el escritorio con nombre "Mi ejecutable":
FileCreateShortcut("c:\temp\eje.exe",@DesktopDir & "\Mi ejecutable.lnk")
Exelente
y la idea de poner un exe en temporales es para crear un portable y ejecutarlo del escritorio con un acceso directo vamos a ver ke me sale.
Gracias por la ayuda !!
