lunes, 7 de febrero de 2011

AUTORUN.INF - Juan Salvador Llopis

AUTORUN.INF

Prácticamente todos los CD-ROM que vemos hoy en día tienen la posibilidad de autoarrancar una aplicación al insertar el CD en la unidad. Desde Windows 95, Microsoft incluyó esta posibilidad en sus sistemas operativos. Para ello, el CD-ROM debe tener en su directorio raíz un fichero de texto con el nombre Autorun.inf en el que se incluye una serie de parámetros que indican al sistema operativo qué programa debe arrancar al insertar el CD en la unidad, el icono que debe mostrar, etc.
Igualmente, las grabadoras de CD se están convirtiendo en un elemento muy común, lo que está motivando que muchos equipos nuevos las incluyan en sus configuraciones. Sus posibilidades son muy diversas: copias de seguridad de CD-ROM, backup de discos duros o también, por qué no, para grabar nuestras fotografías favoritas junto con esa aplicación que hemos hecho para verlas, por ejemplo. Es entonces cuando nos acordamos de esos miles de CD-ROM que tenemos archivados y que se ejecutan automáticamente cuando los introducimos en la unidad. ¿Qué tengo que hacer para que mi CD funcione igual?
Consideraciones previas
Lo primero es que el fichero de autoarranque se debe llamar Autorun.inf y debe estar situado en el directorio raíz del CD. Este fichero siempre empieza igual, con una línea en la que sólo pone [Autorun].
Debajo de esta cabecera se sitúan las opciones de autoarranque, una en cada línea. Si está haciendo pruebas y desea inhabilitar alguna de las líneas que le describiremos a continuación, ponga un punto y coma (;) como primer carácter de la línea. Esto hará que esa línea no sea tenida en cuenta (como si fuera un comentario).
Icon
Especifica el icono que se mostrará para la unidad.
La sintaxis es Icon=Fichero_de_icono[,número]
También puede indicar un fichero que no sea de icono, como un ejecutable o una dll (seguro que alguna vez lo ha visto). De hecho, es bastante habitual indicar el mismo ejecutable que se especifica en la opción Open (ver siguiente paso). En este caso, se tomará como icono el del fichero que especifique. Si tuviera más de uno, se tomará el primero. Para tomar algún otro se usa un índice, que es [,número] (los corchetes indican que es opcional, pero no debe incluirlos). Es un índice con un rango de 0 a x (número total de iconos), de forma que el primer icono será el 0, el segundo el 1, etc. Tenga cuidado de no salirse del rango. No indique un número mayor que el número de iconos que tenga el ejecutable. Si no sabe cuántos tiene, mejor no ponga ningún número. La duda que le puede surgir si lleva muchos iconos es si la ordenación es vertical u horizontal (para indicar el índice). Es vertical. El primer icono de la primera columna es el 0, el de debajo el 1, el siguiente el 2 y el último de la primera columna el 3. El 4 sería el primero de la segunda columna y así sucesivamente.
Open
Especifica la aplicación que se lanzará al introducir el CD en la unidad (o la que se ejecutará si pulsa Reproducción automática del menú contextual). La sintaxis es Open=Fichero_ejecutable
Es posible que le pueda interesar lanzar alguna aplicación que no sea ejecutable, como una página web que tenga en el CD o algún fichero de texto. Si está pensando en poner Open=Mi_página.htm no lo intente. No funcionará. La opción Open sólo lanza aplicaciones, no documentos, aunque estén asociados a alguna aplicación. Sin embargo, si modificamos un poco esta opción es posible hacerlo de la siguiente forma: Open=Start fichero_no_ejecutable.
Si por ejemplo, escribe una línea semejante a Open=Start Mi_pagina.htm, se abrirá su navegador con la página que ha indicado. El comando Start intentará abrir el fichero que especifique, aunque no sea una aplicación. Eso sí, si el fichero que indique no tiene ninguna aplicación asociada en el sistema operativo, no la abrirá. Con el comando Start puede por tanto hacer que se abra una página web, un fichero de texto, de imagen, etc., sin necesidad de conocer la aplicación con la que se tiene que abrir.
Si se da el caso de que el fichero que quiere abrir con Start tiene espacios en blanco en el nombre deberá entonces ponerlo entre comillas: Open=Start “Mi página web.htm”. Y aunque no tuviera espacios también puede usar las comillas, funciona igual.
ShellExecute
ShellExecute está pensada para abrir ficheros que no son aplicaciones ejecutables y por lo tanto no se pueden ejecutar directamente. La sintaxis es ShellExecute=Fichero_no_ejecutable
Sin embargo, hace uso de una biblioteca del sistema operativo, shell32.dll en su versión 5.0 o posterior, que sólo está presente en Windows 2000 y Millennium. Si incluye esta opción en su Autorun.inf y ejecuta el CD en algún ordenador que no tenga estos sistemas operativos, no funcionará, por lo que es mejor no usarla. Y como hemos visto podemos hacer lo mismo utilizando Start.
También puede indicar un fichero ejecutable, funcionando en este caso como Open.
Shell\...
Las opciones Shell\... (van por parejas) sirven para añadir opciones al menú contextual que aparece al hacer clic con el botón derecho del ratón sobre la unidad. La primera línea de la pareja es opcional, la segunda obligatoria. La sintaxis es:
Shell\Identificador=Texto_a_mostrar
Shell\Identificador\Command=Aplicación
Por ejemplo, para añadir la calculadora al menú añadiremos las siguientes líneas:
Shell\Calculadora=Abrir la &Calculadora
Shell\Calculadora\Command=calc.exe
La línea Shell\Identificador=Texto_a_mostrar añade el texto que indique al menú contextual. Lo que va desde el = hasta el final de línea es el texto que aparecerá en el menú. Identificador sirve para unir como pareja las dos shell, de modo que el texto de una se asocie con el comando de la otra, y no puede tener espacios en blanco. Esta línea se puede omitir, en cuyo caso el texto que aparecerá en el menú contextual será el Identificador de la segunda línea shell. Si desea indicar alguna de las letras como atajo, coloque antes de la misma el carácter &.
La línea Shell\Identificador\command=Aplicación especifica la aplicación que se ejecutará al seleccionar esta opción del menú contextual. Su funcionamiento es igual que Open. No admite ficheros no ejecutables pero se puede usar Start.
Otro tipo de unidades
Aunque el autoarranque está pensado para unidades de CD-ROM, puede funcionar con cualquier unidad de disco (discos duros, disquetes, zip). La idea es la misma, un fichero Autorun.inf en el directorio raíz de la unidad. Si está, Windows lo leerá y ejecutará sus parámetros. El inconveniente es que por defecto esta opción está desactivada para unidades que no sean CD-ROM y para cambiarlo es necesario modificar el registro de Windows, lo que excede las intenciones de este artículo; pero sepa que existe esta posibilidad.
Consideraciones finales
Como hemos visto, las opciones Icon y Open son las más básicas y las que suelen llevar la mayoría de CD-ROM, suficientes para lograr el propósito del autoarranque. El resto son opcionales pero pueden interesarle para algún propósito específico.
Si el fichero Autorun.inf no lleva ni Open ni ShellExecute evidentemente no se producirá ningún autoarranque (aunque si sólo lleva Icon sí se mostrará el icono), pero además ni aparecerá la opción Reproducción automática en el menú contextual ni se ejecutará ninguna aplicación al hacer doble clic sobre la unidad (simplemente se mostrará su contenido).
Aunque el fichero Autorun.inf es obligatorio que esté en el directorio raíz del CD, no es necesario que los ficheros a los que hace referencia en él estén también en el raíz. Puede incluir rutas para indicar dónde se encuentran los ficheros en el CD:
[Autorun]
Icon=Carpeta\Fichero_icono [,número]
Open=Carpeta\Fichero_ejecutable

Juan Salvador Llopis
MS MVP Windows Server Networking
2001

No hay comentarios:

Publicar un comentario

Correo Vaishnava

Archivo del blog