2010-10-16 17 views
6

Estoy usando Installshield 2010. Hice una configuración básica de MSI, y estoy teniendo un problema con la desinstalación.Installshield, desinstalando el programa sin eliminar todas las carpetas

La desinstalación no elimina todas las carpetas.

Después de una instalación completa, luego desinstalo solo para encontrar que todavía hay una ruta sobrante.

por ejemplo, C: \ ProgramFiles \ CompanyName \ Account \ User_1234.xml aún permanece, mientras que todo lo demás se ha ido.

La aplicación genera el archivo User_1234.xml, y este archivo normalmente no se encuentra en el proceso de instalación. Por lo tanto, tiene sentido por qué este archivo puede tener algunos problemas para deshacerse de él (lado del instalador).

Al mismo tiempo, creo que se eliminaría debido a que está dentro de la carpeta "CompanyName".

¿Hay alguna manera de especificar para deshacerse de todo lo que está dentro y que incluye la carpeta "CompanyName"?

Gracias por cualquier idea, -btg

Respuesta

8

usted tiene un par de problemas y me referiré a la obvia primero. Sí, el comportamiento predeterminado de Windows Installer es no eliminar los datos del usuario. Esto podría ser archivos no instalados por el instalador o archivos que fueron modificados desde que el instalador los modificó. Para que el instalador los elimine, debe crear la tabla RemoveFiles para enseñarle qué archivos eliminar.

Remove Files Table (Windows Installer)

Ahora voy a abordar el problema menos obvio. No debe esperar que su aplicación pueda escribir en ProgramFiles en tiempo de ejecución. No sé lo que hace su software, pero debe considerar seriamente este aspecto del diseño de su aplicación.

+1

¿Cómo hace esto en Installshield Express? ¿Es posible? – CJ7

+0

No estoy seguro si puedes o no. Express está destinado a ser simple y esconde muchos conceptos de MSI. Tengo trucos si Express te permite consumir un módulo de fusión. Supongo que lo hará. –

+0

Express puede consumir un módulo de fusión, pero no entiendo cómo un módulo de combinación podría causar que una carpeta se elimine durante la desinstalación. – CJ7

Cuestiones relacionadas