Compartir a través de


Implementación y dependencias

Actualización: noviembre 2007

Las herramientas de implementación de Visual Studio detectan las dependencias automáticamente y las agregan al proyecto de implementación cada vez que se agrega a éste un grupo de resultados, un ensamblado o un módulo de combinación. Hay, sin embargo, ciertos casos en que no se pueden detectar las dependencias.

Sugerencia:

En vez de agregar un ensamblado directamente al proyecto de implementación, es mejor agregar un grupo de resultados que contenga dicho ensamblado. Las herramientas de implementación detectan con más facilidad las dependencias de los grupos de resultados de proyecto.

En el caso de los ensamblados, todas las dependencias en otros ensamblados serán detectadas. Sin embargo, si el ensamblado hace referencia a un componente no administrado (por ejemplo, un archivo .dll COM), ninguna de las dependencias de dicho componente será detectada. Del mismo modo, en los archivos que se agreguen directamente a un proyecto de implementación podrá haber dependencias que no lleguen a ser detectadas. En cualquier caso, aunque suelen ser necesarios para la ejecución de la aplicación, los archivos dependientes no impedirán que se ejecute el instalador.

Para evitar este problema, primero se deberá determinar qué tipo de dependencias existen y adoptar las medidas adecuadas:

  • Se está haciendo referencia a un componente que sólo puede instalarse como parte de otro producto (por ejemplo, el control Explorador Web (shdocvw.dll), que se instala como parte de Internet Explorer).

    En este caso, será necesario excluir el componente del proyecto de implementación y agregar una condición de inicio que compruebe si el componente se halla en el equipo de destino e impida la instalación si no lo encuentra. El usuario final deberá instalar el producto que suministra el componente antes de instalar la aplicación.

  • Se está agregando un componente administrado que no expone todas sus dependencias (por ejemplo, clases MFC que no incluyan como dependencias archivos satélite localizados).

    En este caso, será necesario determinar todas las dependencias posibles e incluirlas en el proyecto de implementación. Para obtener una lista de las dependencias, se puede comprobar la documentación del componente o contactar con su autor.

    Nota:

    La mayoría de las herramientas de comprobación de dependencias (como Depends.exe) sólo encuentran dependencias en tiempo de compilación: las dependencias en tiempo de ejecución aparecen únicamente durante la ejecución.

  • Se está haciendo referencia a un ensamblado que tiene una dependencia o un componente no administrado (por ejemplo, System.Data.dll, que tiene una dependencia en la versión 2,8 de Microsoft Data Access Components (MDAC). Para obtener más información, vea Cómo: Agregar una condición de inicio para Microsoft Data Access Components.

    Para asegurarse de que todos los archivos dependientes son instalados, puede agregarse un módulo de combinación que contenga el componente y sus dependencias. Tal vez sea necesario ponerse en contacto con el autor del componente para ver si está disponible un módulo de combinación. En el sitio Web de Microsoft, hay módulos de combinación para muchos de los componentes de Microsoft.

    Si no existiera ningún módulo de combinación, tal vez pueda agregarse una condición de inicio para comprobar la presencia del componente durante la instalación e impedirla si éste no aparece.

Vea también

Tareas

Cómo: Excluir archivos de un grupo de resultados del proyecto

Cómo: Agregar una condición de inicio para Microsoft Data Access Components

Otros recursos

Administración de las condiciones de inicio en la implementación