2010-01-20 16 views
5

Tengo la necesidad de proporcionar un CRC de 32 bits (Comprobación de redundancia cíclica) de todos los ensamblajes, que se almacena (para fines de control de liberación), y luego se puede comparar con los ensamblajes presentes en un sistema en una fecha posterior (en para verificar que la versión no se haya dañado de alguna manera).¿Los ensamblados .NET alguna vez cambian?

No tengo ningún problema el cálculo de la CRC de los propios montajes, mi pregunta es la siguiente:

¿Los ensamblados .NET nunca cambian? Es decir. ¿El contenido binario real del ensamble cambia alguna vez (por algún motivo) después de que se instala en el sistema de destino? Si lo hace, entonces el CRC también cambiaría.

Nota, me refiero solo a los ensamblados que vienen empaquetados con mi software, no a los ensambles del sistema estándar, no están marcados.

Saludos

+0

¿No es esto para lo que es la firma de sus ensamblajes? – Svish

+0

Es más debido al enfoque de mi empresa para la gestión de lanzamiento que cualquier otra cosa. La cosa CRC se deriva de un pasado de desarrollo principalmente integrado, y este proceso se aplica en cualquier trabajo de desarrollo de Windows. – Kazar

Respuesta

6

Usted está reinventando una rueda, la denominación fuerte ya lo hace. Manipular un ensamblaje para que tenga el CRC32 correcto es bastante simple. Romper un nombre fuerte no es, es criptográficamente seguro.

+0

Sí, .NET ya tiene un mecanismo incorporado para manejar sus requisitos, que definitivamente debería preferir a un método personalizado. –

+0

Gracias por la recomendación alternativa, y tiene razón, es un enfoque preferido, sin embargo, esta es una política de la compañía dictada por más ingenieros superiores que yo. No mucho que pueda hacer realmente. – Kazar

4

Si no actualiza los conjuntos (sobrescribir), que nunca va a cambiar.

+0

O los ensamblados pueden volver a firmarse –

-1

recuerdo haber leído en alguna parte que el optimizador .net busca y pasa por cualquier ensamblaje para 'optimizarlos'? Oí que lo hizo después de una instalación, nunca lo analicé yo mismo, imagino que probablemente no cambien, pero no estoy seguro si es algo que realmente puede garantizar

pruébelo y vea! buena suerte

+3

Usted está hablando de Ngen.exe. Crea otro archivo. –

0

Solo deben cambiar durante la instalación o actualización, a menos que un programador haya incluido algún truco desagradable en su programa. Pero si tiene dudas, ¿por qué no acaba de revocar los derechos de usuario para escribir o modificar los archivos correspondientes?

Cuestiones relacionadas