En realidad, NO es necesario registrar un dll en .NET en la máquina de destino.
Si hace referencia a .dll en su aplicación, haga clic en el archivo .dll al que se hace referencia en las referencias de su proyecto, mire las propiedades y establezca Aislado en VERDADERO.
Esto ahora incluirá automáticamente este .dll en su proyecto y su aplicación utilizará la copia del archivo .dll incluido en su proyecto sin necesidad de registrarlo en el sistema de destino.
Para ver un ejemplo práctico de esta mirada aquí: tendrá que ser registrado en el sistema en el que construir su solicitud para que esto funcione correctamente
http://code.msdn.microsoft.com/SEHE
El .dll en cuestión. Sin embargo, una vez que construya su proyecto, no será necesario registrar el .dll en cuestión en ningún sistema que implemente su aplicación o programa.
Una ventaja adicional de usar este método es que, incluso si en el futuro, otro .dll se registra con el mismo nombre en el sistema de destino en cuestión, su proyecto continuará utilizando el .dll con el que implementó. Esto es muy útil cuando a.dll tiene muchas versiones y desea mantener cierta estabilidad, como usar el que ha probado, pero todas las demás aplicaciones usarán el .dll registrado a menos que también utilicen el método isolated = true.
El ejemplo anterior es uno de esos casos, hay muchas versiones de Skype4COM que es un .dll API de Skype y puede cambiar a menudo.
Este método permite que el ejemplo anterior use el API .dll con el que se probó el proyecto, cada vez que un usuario instala una nueva versión de Skype, es posible que se instale una versión modificada de este .dll.
Además, hay algunos clientes de Skype que no instalan este .dll, la versión comercial del cliente de Skype, por ejemplo, es más pequeña y no incluye este .dll, por lo que en este caso, el proyecto no falla en ese .dll falta y no está registrado porque está incluido en el proyecto como aislado = verdadero.
Esto es incorrecto. Si el ensamblaje tiene un nombre fuerte, primero revisará el GAC. Si no tiene un nombre seguro, entonces el sistema comprobará primero el GAC, luego siga el siguiente procedimiento para localizar el ensamblado http://msdn.microsoft.com/en-us/library/15hyw9x3.aspx – Spence
arg, si no tiene un nombre fuerte, el sistema NO verificará el GAC, excpuse el error tipográfico. – Spence
¿Esto se aplicaría a algo así como "Office.dll" y "Microsoft.Office.Interop.Outlook.dll" también? Son objetos 'COM', pero me parece que no es necesario que los registre y ayudan a mi aplicación en los sistemas de destino (sin ellos, la aplicación falla en XP (aunque no en Win7)). –