titular

Tratar carpetas y archivos mediante la utilizaci≤n de archivos de informaci≤n para la instalaci≤n (.inf)

Puede usar archivos .inf para tratar archivos y carpetas de varias formas. Las mßs importantes son:

Crear carpetas y vφnculos en carpetas

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 requerirß 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 aplica 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=Nombre_Carpeta_n

[carpeta_1]
Nombre_Vφnculo, .nombre_exe, nombre_archivo_icono, φndice_icono, perfil

Si el campo perfil tiene NULL a la izquierda, el vφnculo siempre se agregarß a la carpeta.

Notas

Ejemplo: Juegos

[Opcional 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 carpeta
setup.ini, gamesfolder,, """Juego Solitario"",SOL.EXE,,," ;crea vφnculo
setup.ini, gamesfolder,, "Minesweeper,WINMINE.EXE,,," ;crea vφnculo
setup.ini, gamesfolder,, ""Juego de cartas Corazones"",MSHEARTS.EXE,,,";crea vφnculo
setup.ini, gamesfolder,, "FreeCell,FREECELL.EXE,,," ;crea vφnculo

Resultado: la entrada para "Games" aparece en el cuadro de dißlogo Opcional Components en el programa de instalaci≤n y, si se selecciona, se crea una carpeta Games en la carpeta Archivos de programa con vφnculos a Solitario, Buscaminas, Corazones y Carta blanca.

Crear y eliminar nombres de archivo largos

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\system32\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:

[MyAppShort2Long]
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:

[MyAppDelLong]
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,nombrant.txt,,"Nombre
Largo Nuevo.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,myreadme.txt,,"Leame de Mi Aplicacion.txt" 

Una vez se ha cambiado el nombre de estas entradas o se han eliminado y procesado, Θstas se quitan del Registro.

Nota

Establecer atributos para archivos y carpetas

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".

Copiar archivos a la carpeta Archivos de programa

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 carpeta Accesorios (si todavφa no existe)
setup.ini, group4,, """%WORDPAD_LINK%"", 
""%24%\%PROGRAMF%\%ACCESSOR%\WORDPAD.EXE""" ;crea vφnculo en carpeta Accesorios
[Strings]
APPS_DESC = "Accesorios"
WORDPAD_LINK = "WordPad"
; Nombres de carpetas - las versiones abreviadas deben coincidir con las truncadas
; nombre de 8 caracteres para las versiones largas, de no ser asφ surgirßn problemas.
PROGRAMF = "Archiv~1" ; primeros 6 caract de Archivos_de_programa, + "~1"
ACCESSOR = "Acceso~1" ; primeros 6 caracteres de Accesorios, + "~1" 

Limitaciones de los archivos .inf

Temas relacionados