Formato

El tipo de datos “Formatted” es una cadena de texto que se procesa para resolver nombres de propiedad incrustados, claves de tabla, referencias de variables de entorno y otras subcadenas especiales. Se reconocen las siguientes convenciones para resolver la cadena:

  • Los corchetes ([ ]) o llaves ({ }) sin par coincidente se dejan en el texto.

  • Si se encuentra una subcadena de la forma [propertyname] se reemplaza por el valor de la propiedad. Si propertyname no es un nombre de propiedad válido, la subcadena se resuelve como en blanco. Por ejemplo, la columna Description de la tabla LaunchCondition toma una cadena Formatted. Si ERRORTXT se ha establecido en "Póngase en contacto con el personal de soporte técnico", el texto que se muestra para errores en la condición de inicio debería incluir esta cadena. Si ERRORTXT no se establece, el texto que se muestra para que errores en la condición de inicio sería simplemente "El sistema no cumple los requisitos de instalación".

    Condición Descripción
    Version9X El sistema no cumple los requisitos de instalación. [ERRORTXT]

     

  • Los corchetes se pueden iterar y los nombres de propiedad se resuelven desde dentro hacia fuera. Por ejemplo, suponga que la subcadena [[PropertyA]] aparece en el texto. En primer lugar se recupera el valor de la propiedad PropertyA. Si el valor es un nombre de propiedad válido, como PropertyB, se recupera el valor de PropertyB y la subcadena completa [[PropertyA]] se sustituye por el valor de PropertyB. Si PropertyA no es un nombre de propiedad válido o si el valor de PropertyA no es un nombre de propiedad válido, la subcadena está en blanco.

  • Si se encuentra una subcadena con el formato [%environmentvariable], se sustituye el valor de la variable de entorno por la subcadena.

  • Si se encuentra una subcadena con la forma [\x], se reemplaza por el carácter x, donde x es un carácter, sin ningún procesamiento adicional. Sólo se mantiene el primer carácter después de la barra diagonal inversa; lo demás se quita. Por ejemplo, para incluir un corchete izquierdo literal ([), use [\[]. El texto [\[]Texto entre corchetes[\]] se resuelve en [Texto entre corchetes].

  • Si una subcadena se encierra entre llaves ({ }) y no contiene nombres de propiedad entre corchetes ([ ]), la subcadena se deja sin cambios, incluidas las llaves.

  • Si una subcadena se encierra entre llaves ({ }) y contiene uno o varios nombres de propiedad entre corchetes ([ ]), entonces, si todos los nombres de propiedad son válidos, el texto (con las sustituciones resueltas) se muestra sin las llaves.

  • Si se encuentra una subcadena de forma [~], se reemplaza por el carácter NULL. Se usa para crear cadenas de caracteres REG_MULTI_SZ en la tabla Registry. Tenga en cuenta que [~] también se usa para anexar o prefijar valores a variables de entorno mediante la tabla Environment.

  • Si se encuentra una subcadena con la forma [#filekey], se reemplaza por la ruta de acceso completa del archivo, y el valor filekey se usa como una clave en la tabla File. El valor de [#filekey] permanece en blanco y no se reemplaza por una ruta de acceso hasta que el instalador ejecuta la acción CostInitialize, la acción FileCost y la acción CostFinalize. El valor de [#filekey] depende del estado de instalación del componente al que pertenece el archivo. Si el componente se ejecuta desde el origen, el valor es la ruta de acceso a la ubicación de origen del archivo. Si el componente se ejecuta localmente, el valor es la ruta de acceso a la ubicación de destino del archivo después de la instalación. Si el componente tiene un estado de acción ausente, el estado instalado del componente se usa para determinar el [).

  • Si se encuentra una subcadena con la forma [$componentkey], se reemplaza por el directorio de instalación del componente, y el valor componentkey se usa como clave en la tabla Component. El valor de [$componentkey] permanece en blanco y no se reemplaza por ningún directorio hasta que el instalador ejecuta la acción CostInitialize, la acción FileCost y la acción CostFinalize. El valor de [$componentkey] depende del estado de instalación del componente y dónde se produce. En la columna Value de la tabla Registry, esta subcadena puede hacer referencia al estado de la acción o al estado de acción solicitado del componente. En todos los demás casos, esta subcadena hace referencia al estado de acción del componente. Por ejemplo, si el componente se ejecuta desde el origen, el valor es el directorio de origen del archivo. Si el componente se ejecuta localmente, el valor es el directorio de destino después de la instalación. Si el componente está ausente, el valor se deja en blanco. Windows Installer realiza un seguimiento de la acción de y los estados de instalación solicitados de los componentes. Por ejemplo, si un componente ya está instalado, puede tener un estado solicitado de local y un estado de acción null. Para más información sobre cómo comprobar el estado de instalación de los componentes, consulte Comprobación de la instalación de características, componentes y archivos.

  • Tenga en cuenta que si un componente ya está instalado y no se reinstala, se quita o se mueve durante la instalación actual, el estado de acción del componente es null y la cadena [$componentkey] se evalúa como Null.

  • Si se encuentra una subcadena con la forma [!filekey], se reemplaza por la ruta de acceso completa corta del archivo, y el valor filekey se usa como una clave en la tabla File.

    Esta sintaxis solo es válida cuando se usa en la columna Value de las tablas Registry o IniFile. Cuando se usa en otras columnas, esta sintaxis se trata igual que [#filekey] .