¿Qué ocurre si se infringen las reglas de componentes?

En algunos casos, los autores pueden decidir que necesitan infringir las reglas para crear componentes, tal como se indica en Organización de aplicaciones en componentes y Cambio del código del componente. Los autores deben ser tener en cuenta las posibles consecuencias de hacerlo y, en caso contrario, deben garantizar que sus componentes nunca se instalen donde puedan dañar otras aplicaciones o componentes del sistema del usuario.

En la lista siguiente se describen las distintas formas en que los autores a veces infringen las reglas de componentes recomendadas y las posibles consecuencias de hacerlo.

Los autores agregan recursos a los componentes sin cambiar el código de componente.

  • Los productos instalados con el componente anterior no tienen información sobre los recursos agregados en su base de datos de instalación.
  • Si se instalan en el mismo ordenador un producto nuevo con recursos agregados y un producto antiguo, los recursos pueden quedarse en el equipo si se desinstala primero el producto nuevo.
  • Un producto antiguo sin los recursos agregados no puede reparar la versión más reciente del componente. La reinstalación del producto anterior no restaura los recursos agregados.

Un autor puede quitar los recursos de los componentes sin cambiar el código del componente.

  • Los productos instalados con el nuevo componente no tienen información sobre los recursos quitados de su base de datos de instalación.
  • Si se instalan en el mismo equipo un producto antiguo, que contiene la información sobre los recursos, y un producto nuevo, los recursos pueden quedar en el equipo si se desinstala primero el producto antiguo.
  • Un nuevo producto con los recursos eliminados no puede reparar la versión anterior del producto. La reinstalación del producto nuevo no restaura los recursos eliminados.

Un autor incluye un archivo que no es compatible con las versiones anteriores sin cambiar el código del componente.

Si se incluye un archivo incompatible en un componente sin cambiar el código de componente, el control de versiones de archivo predeterminado hace que el instalador sobrescriba el archivo original con el archivo incompatible más reciente, lo que puede dañar los productos antiguos que necesitan el archivo original. También puede impedir que el instalador repare el producto anterior porque la versión del archivo de ruta de acceso de la clave de un componente determina la versión del componente. Si ya está instalada una versión más reciente de este archivo, el instalador no instala una versión anterior del componente. Para más información, consulte Reglas de control de versiones de archivos. En este caso, para que se pueda reinstalar el producto anterior es preciso quitar el nuevo.

  • El control de versiones de archivos predeterminado hace que el instalador sobrescriba el archivo original con el archivo incompatible más reciente.
  • Los productos antiguos que necesitan el archivo original están dañados.
  • También puede impedir que el instalador repare el producto anterior porque la versión del archivo de ruta de acceso de la clave de un componente determina la versión del componente. Si ya está instalada una versión más reciente de este archivo, el instalador no instala la versión anterior del componente. Para más información, consulte Reglas de control de versiones de archivos. En este caso, para que se pueda reinstalar el producto anterior es preciso quitar el nuevo.

Un autor incluye el mismo recurso en dos componentes diferentes.

Si dos componentes tienen un recurso con el mismo nombre y ubicación y ambos componentes están instalados en la misma carpeta, al eliminarse cualquiera de ellos se elimina el recurso común, lo que daña al componente restante.

  • La desinstalación de cualquiera de los componentes quita el recurso e interrumpe el otro componente.
  • El mecanismo de recuento de referencias del componente está dañado.