2010-10-10 20 views
6

Tengo un conjunto que tiene muchas versiones antiguas registradas.Anulación del registro de versiones anteriores de un conjunto .net

El único dll que tengo es el último.

¿Cómo puedo cancelar el registro de todas las versiones del ensamblaje?

Gracias.

EDITAR: Quiero hacer esto en tiempo de ejecución así que quiero algo como regasm -u ... o alguna otra solución de script-y.

Respuesta

3

EDITAR: asumo que hay entradas de registro asociadas que está intentando eliminar.

Regasm puede generar un archivo .reg.

Puede utilizar la opción/regfile a generar un archivo .reg que contiene las entradas de registro en lugar de hacer los cambios directamente en el Registro. Usted puede actualizar el registro en una computadora al importar el archivo .reg con la herramienta Registry Editor (Regedit.exe).

Si desea desinstalar las versiones antiguas en tiempo de ejecución, es de suponer que podía:

1) Crear un archivo de registro para el montaje actual (para fines de referencia).

2) una aplicación que examina el registro de claves similares (tal vez con diferentes números de versión?)

3) Utilice regasm anular el registro de los conjuntos de juego. Si es necesario, desinstale las entidades COM con regsvr32.

4) CUIDADOSAMENTE eliminar esas teclas mediante programación.

5) Registre su nuevo conjunto.

6) compruebe el conjunto recién registrado (si es necesario).

Mi COM/Interop está un poco oxidado, así que deje un comentario si esto no funciona.

+0

Disculpe por no ser clara. Quiero hacer esto en tiempo de ejecución. –

+2

Luego use una secuencia de comandos para hacer eso (enumere los archivos en esa carpeta, y ejecute 'regasm/u' en los que desea eliminar. –

+0

@Allon - buen punto ... todavía quedarían las referencias COM para tratar con –

Cuestiones relacionadas