Compartir a través de


Distribuir un componente administrado de Windows en tiempo de ejecución

Puedes distribuir el componente de Windows en tiempo de ejecución copiando los archivos. Sin embargo, si el componente consta de muchos archivos, la instalación puede resultar tediosa para los usuarios. Además, los errores al colocar los archivos o al establecer las referencias pueden causarles problemas. Puedes empaquetar un componente complejo como un SDK de extensiones de Visual Studio, con objeto de facilitar su instalación y uso. Los usuarios solo necesitan establecer una referencia para el paquete completo. Pueden localizar e instalar fácilmente el componente mediante el cuadro de diálogo Extensiones y actualizaciones, tal como se describe en Instalar y administrar Visual Studio Tools y las extensiones en MSDN Library.

Planear un componente de Windows en tiempo de ejecución que se puede distribuir

Elige nombres únicos para los archivos binarios, como los archivos .winmd. Se recomienda el formato siguiente para garantizar la unicidad:

company.product.purpose.extension
Por ejemplo: Microsoft.Cpp.Build.dll

Los archivos binarios se instalarán en paquetes de aplicación, posiblemente con archivos binarios de otros desarrolladores. Consulta "Extension SDK" en Cómo: Crear un kit de desarrollo de software en MSDN Library.

Para decidir cómo distribuir el componente, considera su complejidad. Se recomienda un SDK de extensiones o un administrador de paquetes similar cuando:

  • El componente consta de varios archivos.

  • Se proporcionan versiones del componente para varias plataformas (x86 y ARM, por ejemplo).

  • Se proporcionan versiones de depuración y de lanzamiento del componente.

  • El componente tiene archivos y ensamblados que solo se usan en tiempo de diseño.

Un SDK de extensiones es especialmente útil si se cumplen dos o más de las condiciones anteriores.

NotaNota

Para los componentes complejos, el sistema de administración de paquetes NuGet ofrece una alternativa de código abierto a los SDK de extensiones. Al igual que los SDK de extensiones, NuGet te permite crear paquetes que simplifican la instalación de componentes complejos. Para obtener una comparación entre los paquetes NuGet y los SDK de extensiones de Visual Studio, consulta Agregar referencias usando NuGet en lugar de un SDK de extensión en MSDN Library.

Distribución mediante la copia de archivos

Si el componente consta de un único archivo .winmd, o de un archivo .winmd y un archivo de índice de recursos (.pri), lo único que tienes que hacer es poner el archivo .winmd a disposición de los usuarios para que lo copien. Los usuarios pueden colocar el archivo donde deseen en un proyecto, utilizar el cuadro de diálogo Agregar elemento existente para agregar el archivo .winmd al proyecto y, a continuación, usar el cuadro de diálogo Administrador de referencias para crear una referencia. Si incluyes un archivo .pri o un archivo .xml, indica a los usuarios que coloquen esos archivos con el archivo .winmd.

NotaNota

Visual Studio 2012 siempre produce un archivo .pri al compilar el componente de Windows en tiempo de ejecución, incluso si el proyecto no incluye ningún recurso. Si tienes una aplicación de prueba para el componente, puedes determinar si se utiliza el archivo .pri examinando el contenido del paquete de la aplicación en la carpeta bin\debug\AppX. Si no aparece allí el archivo .pri del componente, no necesitas distribuirlo. También puedes utilizar la herramienta MakePRI.exe para volcar el archivo de recursos desde el proyecto del componente de Windows en tiempo de ejecución. Por ejemplo, en la ventana Símbolo del sistema de Visual Studio, escribe:

makepri dump /if MyComponent.pri /of MyComponent.pri.xml

Puedes obtener más información sobre los archivos .pri en Sistema de administración de recursos.

Distribución mediante el SDK de extensiones

Normalmente, un componente complejo incluye recursos de Windows, pero consulta la nota sobre cómo detectar archivos .pri vacíos en la sección anterior.

Para crear un SDK de extensiones

  1. Asegúrate de que tienes Visual Studio 2012 SDK instalado. Puedes descargar Visual Studio SDK en la página de descargas de Visual Studio.

  2. Crea un nuevo proyecto utilizando la plantilla Proyecto VSIX. Puedes encontrar esa plantilla en Visual C# o Visual Basic, en la categoría Extensibilidad. Esta plantilla se instala como parte de Visual Studio 2012 SDK. (El Tutorial: Crear un SDK usando C# o Visual Basic, en MSDN Library, demuestra el uso de esta plantilla en un escenario muy sencillo. )

  3. Determina la estructura de carpetas del SDK. La estructura de carpetas comienza en el nivel raíz del proyecto VSIX, con las carpetas Referencias, Paquete redistribuible y DesignTime.

    • Referencias es la ubicación de los archivos binarios con los que los usuarios pueden programar. El SDK de extensiones crea referencias a estos archivos en los proyectos de Visual Studio de los usuarios.

    • Paquete redistribuible es la ubicación para otros archivos que se deben distribuir con los archivos binarios, en las aplicaciones creadas con el componente.

    • DesignTime es la ubicación de los archivos que se utilizan solo cuando los desarrolladores están creando aplicaciones que utilizan el componente.

    En cada una de estas carpetas, puedes crear carpetas de configuración. Los nombres permitidos son debug, retail y CommonConfiguration. La carpeta CommonConfiguration es para los archivos utilizados indistintamente por las compilaciones de depuración o las versiones de lanzamiento. Si solo distribuyes versiones de lanzamiento del componente, puedes colocar todo en CommonConfiguration y omitir las otras dos carpetas.

    En cada carpeta de la configuración, puedes proporcionar carpetas de arquitectura para archivos específicos de plataforma. Si utilizas los mismos archivos para todas las plataformas, puedes proporcionar una única carpeta denominada neutral. Puedes encontrar más detalles sobre la estructura de carpetas, incluidos otros nombres de carpetas de arquitectura, en Cómo: Crear un kit de desarrollo de software, en MSDN Library. (En Cómo: Crear un kit de desarrollo de software se describen tanto los SDK de plataforma como los SDK de extensiones). Puede que te resulte útil contraer la sección sobre los SDK de plataforma, para evitar confusiones. )

  4. Crea un archivo de manifiesto del SDK. El manifiesto especifica el nombre y la información de versión, las arquitecturas que admite el SDK, las versiones de .NET Framework y otra información sobre la forma en la que Visual Studio utiliza el SDK. Puedes encontrar más detalles y un ejemplo en Cómo: Crear un kit de desarrollo de software.

  5. Compila y distribuye el SDK de extensiones. Para obtener información detallada, incluyendo la localización y la firma del paquete VSIX, consulta Implementación de VSIX en MSDN Library.

Vea también

Otros recursos

Cómo: Crear un kit de desarrollo de software

Sistema de administración de paquetes NuGet

Sistema de administración de recursos

Instalar y administrar Visual Studio Tools y las extensiones

Herramienta MakePRI.exe