tag net internet framework asp .net com regfreecom winsxs sxs

internet - ¿Alguien está utilizando con éxito COM sin registro con componentes.NET?



net framework 3.5 sin internet (3)

Estamos utilizando COM sin registro para los componentes nativos y .NET. Decidimos usar un número de versión de ensamblaje fijo para estos componentes (principalmente para evitar el desorden en el registro cuando se registran repetidamente los componentes .NET que tenían un número de compilación dinámico / *). No es ideal, pero tenemos otras formas de determinar qué versión de un componente dado se está utilizando (nunca se parchean individualmente).

¡Eso suena como un asunto muy desagradable por cierto! Ese artículo de KB casi hace que parezca que el uso de SxS es opcional ... Por lo que sé, ¿es la única forma de hacer COM sin reg?

Hasta hace poco, estábamos felizmente usando COM sin registro para nuestros componentes COM nativos y .NET. Sin embargo, nos encontramos con un problema extraño en el que nuestra aplicación comenzó a fallar aleatoriamente en Windows XP SP3 (pero no en Vista) después de que solo cambiamos el número de versión de un ensamblado .NET para pasar de la versión candidata a la versión. (¿No odias la ley de Murphy?)

Después de muchos días de pérdida de personal y rechinamiento de dientes, descubrimos que el problema era un error conocido en sxs.dll que causa daños en el montón al recuperar información sobre una clase .NET. Existe un hot-fix que hace que el problema desaparezca, pero los hot-fixes no están destinados a ser redistribuidos.

Estamos un poco sorprendidos de que haya un error tan horrible en la implementación de COM sin registro. ¿Hay alguien por ahí que esté utilizando COM de forma gratuita para los componentes .NET? ¿Cómo resolviste este problema?


Este problema está relacionado con cómo SxS calcula el tamaño de la información de clase. El número de versión del ensamblaje es parte de esta información.

Ya que estaba trabajando con el número de versión candidato de lanzamiento, quizás la solución para usted es hacer que el número de versión del lanzamiento tenga la misma longitud que el lanzamiento de RC.

Si esto no funciona para usted, existe un proceso establecido para solicitar derechos de redistribución para las revisiones. Me gustaría contratar el soporte al cliente de Microsoft para seguir esta ruta.