Hola amigos !!
tengo una pequeña duda con Fileinstall
como puedo hacer para ke resuelva el nombre de la pc x si solo ?
por ejemplo kiero instalar un archivo y no todos tiene el mismo nombre en su pc
FileInstall("C:\Documents and Settings\Administrador\Escritorio\yo\lang\Spanish.txt", "C:\Documents and Settings\ ACA VA EL NOMBRE DE LA PC ?¿ \Escritorio\lang\", 1)
la carpeta lang la creo previamente pero supongo ke tambien nesecito ke resuelva el nombre del ke lo use
desde ya gracias espero ke se entienda lo ke nesecito , saludoss
Acceder a los directorios del sistema con nombres fijos es un tema delicado, piensa por ejemplo que en este caso el escritorio puede estar en diferente camino según se trate de un Windows XP o un Windows 7.
Lo mejor en estos casos es mirar en el momento dónde está la carpeta buscada. Para ello lo primero es buscar en las macros de AutoIT, donde están las más importantes (si no está ahí supongo que habrá que buscar en el registro del sistema)
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\"
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.
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")
Hay más parámetros opcionales para poner descripción, icono, etc, vaya, para rellenar las cajitas que tienes cuando lo haces a mano.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
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 !!