23 votos

¿Cómo Windows programa de control de las dependencias?

He usado Linux desde hace bastante tiempo, y siempre me preguntaba cómo era capaz de controlar los programas de depedencies como apt-get, aptitude, Pacman, yum y otros gestores de paquetes. A veces, mi gestor de paquetes me dicen que esta versión de la biblioteca que se necesitaba para este paquete o que habrá algún tipo de conflicto.

¿Cómo Windows manejar todas esas cosas?

40voto

Ryan Ries Puntos 33449

Editar 4/4/2014: Hey OP, mira lo que se acaba de lanzar el día de hoy:

http://blogs.technet.com/b/windowsserver/archive/2014/04/03/windows-management-framework-v5-preview.aspx


Yo sólo quería ampliar un poco más el aceptado la respuesta, porque es un poco escasa en detalles. Filipe la respuesta no se hace mención de las estrategias que Windows realmente no se utiliza para resolver o mitigar el programa de los problemas de la dependencia, como el almacén de componentes (WinSxS,) la caché de ensamblados global, la MSI sistema, etc. Pero por otro lado él es , básicamente, a la derecha en el sentido de que es la responsabilidad del desarrollador para incluir cualquier bibliotecas personalizadas con la aplicación, y comprobar la existencia de dependencias, antes de iniciar la instalación de la transacción.

Windows es menos modular de Linux, que tiene aspectos positivos y negativos. Por el lado de abajo, Windows es más monolítico, lo que significa comparativamente menor cantidad de componentes del sistema operativo son extraíble opcional o como en Linux. (A pesar de que Windows está mejorando poco a poco sobre eso.)

Pero en el lado positivo, que significa que los desarrolladores son capaces de hacer mucho más suposiciones acerca de lo que las bibliotecas de un usuario ya tendrá presente en su equipo. Y varias versiones de las bibliotecas, una vez instalado, se almacenarán de lado a lado en el almacén de componentes, por lo que ya no tiene App1 ladridos acerca de la necesidad de crapDLL.dll y App2 ladridos acerca de la necesidad de una versión diferente de crapDLL.dll al mismo tiempo, etc.

29voto

Filipe YaBa Polido Puntos 452

No. A menos de que estemos hablando .NET , que le pide que instale el framework versión X de acuerdo con el compilador.

Todo lo demás que se genere un error. Con suerte, usted consigue missing dll xxxx.dll. Aunque, la mayoría de los instaladores tienen las bibliotecas necesarias para ejecutar el software.

6voto

AllenSanborn Puntos 141

Las otras respuestas hizo correctamente señalar que la gestión de paquetes y el sistema operativo son las ideas separadas, pero no mencionó a una solución.

La mayoría de similar sistema de gestión de paquetes apt-get o yum en Windows podría ser actualmente Chocolate. Permite a la gente a instalar/desinstalar paquetes(msi, exe, scripts de powershell, ) y los paquetes pueden contener información acerca de sus dependencias que pueden ser automáticamente resuelto por el Chocolate.

El paquete, por lo general contiene un enlace a los archivos binarios y de secuencias de comandos para administrar el proceso de instalación. El paquete también contiene los archivos binarios o cualquier otros archivos necesarios (dependencias debe ser en un paquete separado). Chocolate también puede utilizar externo paquete como los sistemas de gestión de Microsoft Web Platform Installer, Ruby Gems, Python y así sucesivamente.

-1voto

En Windows es el software de autor para proporcionar el control de versiones de sus bibliotecas. Windows tiene un par de instalaciones para ayudar con esto.

El Instalador de Windows y el Instalador de Confianza de servicios que interactúan con los programas de instalación (.msi). También hay algo de apoyo a la tecnología llamada de Aplicaciones Aisladas y de lado a Lado de las Asambleas que ayudar a resolver los conflictos de versiones.

Para .NET framework de aplicaciones no es la Caché de ensamblados Global, Ensamblados con Nombre seguro, y en el núcleo se Manifiesta.

En Windows 8 y 8.1 no es el de Windows App Store junto con el de la Biblioteca de tiempo de ejecución de Windows (win32 API de reemplazo).

edit: En el núcleo de la mayoría de estas tecnologías son la asamblea se manifiesta, archivos incrustados que proporcionan los números de versión, autores, dependiente de asambleas y sus versiones, entre otros datos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: