Puede usar archivos .INF para tratar archivos y carpetas de varias formas. Las más importantes son:
Crear una carpeta en la carpeta Archivos de programa o crear vínculos en una carpeta es una operación que realiza el shell una vez que el componente se ha instalado. El programa de instalación busca en el archivo Setup.ini una sección [progman.groups] y, a continuación, la analiza para crear carpetas y vínculos en esas carpetas.
Si instala un componente que necesitará una carpeta o vínculos en la carpeta Archivos de programa, cree una sección UpdateInis para crear las entradas apropiadas en el archivo Setup.ini. El archivo Setup.ini emplea la siguiente sintaxis para crear carpetas y vínculos. Tenga en cuenta que las carpetas son relativas al menú Inicio.
[progman.groups]
carpeta_1=nombreCarpeta_1
carpeta_2=nombreCarpeta_2
:
carpeta_n=nombreCarpeta_n
[carpeta_1]
nombreVínculo, .nombreExe, nombreArchivoIcono, índiceIcono, perfil
Si el campo perfil tiene NULL a la izquierda, el vínculo siempre se agregará a la carpeta.
Notas
Ejemplo: Games
[Optional Components]
games
[games]
OptionDesc= %GAMES_DESC%
CopyFiles= wingames.files
UpdateInis= wingames.links
[wingames.files]
cards.dll
freecell.exe
freecell.hlp
mshearts.exe
mshearts.hlp
sol.exe
sol.hlp
winmine.exe
winmine.hlp
[wingames.links]
setup.ini, progman.groups,, "gamesfolder=%GAMES_DESC%" ;crea una carpeta
setup.ini, gamesfolder,, """Juego Solitario"",SOL.EXE,,," ;crea un vinculo
setup.ini, gamesfolder,, "Buscaminas,WINMINE.EXE,,," ;crea un vinculo
setup.ini, gamesfolder,, ""Juego de cartas Corazones"",MSHEARTS.EXE,,,";crea un vinculo
setup.ini, gamesfolder,, """Carta blanca"",FREECELL.EXE,,," ;crea un vinculo
Resultado: la entrada para "Games" aparecerá en el cuadro de diálogo Opcional Components en el programa lde instalación y, si se selecciona, se creará una carpeta Games en la carpeta Archivos de programa con vínculos a Solitario, Buscaminas, Corazones y Carta blanca.
La rama raíz del Registro para las operaciones de cambio de nombre es la siguiente:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RenameFiles
La rama raíz del Registro para las operaciones de eliminación es la siguiente:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DeleteFiles
Cada grupo de operaciones de cambio de nombre y eliminación se agrega a una subclave debajo de cada rama. Cada grupo de operaciones se limita a cambiar el nombre o eliminar los archivos de una única carpeta. Debe incluir, como mínimo, dos entradas en cada subclave para que surta efecto un cambio de nombre o una eliminación: la ruta de acceso de la carpeta de los archivos cuyo nombre se va a cambiar o se van a eliminar, y la operación de cambio de nombre o eliminación real.
La primera clave de cada grupo de operaciones es la entrada folder. Cada entrada para una operación de cambio de nombre en la carpeta relacionada es una entrada con el formato "nombreCortoAntiguo"="nombreLargoNuevo,[indicadorAtributo]".
El parámetro indicadorAtributo se usa para establecer atributos de archivo durante la operación de cambio de nombre. El indicador puede tener los valores siguientes.
1 | READONLY |
2 | HIDDEN |
3 | SYSTEM |
Para establecer varios atributos en un archivo o carpeta, los indicadores se suman; por ejemplo, para establecer los atributos READONLY y HIDDEN, indicadorAtributo debe ser 3.
El ejemplo siguiente es una sección AddReg que establece los atributos SYSTEM y HIDDEN para la carpeta \Windows\System\Sample:
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,,,%11%
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,SAMPLE,,"SAMPLE,6"
Nota
Cada entrada para una operación de eliminación en la carpeta relacionada tiene el formato "nombreClaveArbitrario"="nombreLargoQueEliminar".
El ejemplo siguiente es una sección AddReg que:
[MiAplCortoALargo]
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,nombrant.txt,,"Nombre Largo Nuevo.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,Mileame.txt,,"Leame De Mi Aplicacion.txt"
El ejemplo siguiente es una sección AddReg que:
[MiAplElimLargo]
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,nombreant.txt,,"Nombre Largo Nuevo.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,Mileame.txt,,"Leame De Mi Aplicacion.txt"
Tras procesar los cambios de nombre y eliminaciones, las entradas se quitan del Registro.
Nota
Para establecer los atributos de un archivo o carpeta, puede usar la misma convención que para crear nombres de archivo largos mediante un indicador opcional.
Para obtener más detalles, consulte la sección "Crear y eliminar nombres de archivo largos".
En el ejemplo siguiente se copian tres archivos a la carpeta Archivos de programa\Accesorios y se crean vínculos a uno de los archivos:
[WordPadInstall]
CopyFiles = WordPadCopyFiles
UpdateInis = WordPadInis
[DestinationDirs]
WordPadCopyFiles = 24,%PROGRAMF%\%ACCESSOR%
[WordPadCopyFiles]
mswd6_32.wpc
wordpad.exe
write32.wpc
[WordPadInis]
setup.ini, progman.groups,, "group4=%APPS_DESC%" ;crea la carpeta Accesorios (si no está ya)
setup.ini, group4,, """%WORDPAD_LINK%"", ""%24%\%PROGRAMF%\%ACCESSOR%\WORDPAD.EXE""" ;crea un vínculo en la carpeta Accesorios
[Strings]
APPS_DESC = "Accesorios"
WORDPAD_LINK = "WordPad"
; Nombres de carpeta, tenga en cuenta que las versiones de nombre corto deben coincidir con las truncadas
; nombres de 8 caracteres para las versiones de nombre largo, o si no habrá problemas.
PROGRAMF = "Archiv~1" ; primeros 6 caracteres de Archivos_de_programa, + "~1"
ACCESSOR = "Acceso~1" ; primeros 6 caracteres de Accesorios, + "~1"