Pregunta

¿Es posible hacer que mi complemento de Internet Explorer se actualice sin requerir un manual desinstalar/reinstalar usando el .msi? He estado pensando en tratar de hacer esto programáticamente, pero no estoy seguro de lo que debía hacerse (registrando .dll's, etc.).

Gracias Nathan

¿Fue útil?

Solución

Simplemente descargue el nuevo MSI en segundo plano. Cuando esté hecho, solicite al usuario y si está de acuerdo, ejecute el nuevo MSI.

Re: Evitar la entrada del usuario: puede hacerlo sin su permiso ... pero dado que instalar un nuevo complemento requiere reiniciar el navegador, eso puede no ser lo mejor para hacer al azar. Puede que suceda cuando sepa que las tiendas estarán cerradas, pero ¿qué pasa si se abren a la medianoche del Black Friday? Tienes que pensarlo.

Una alternativa es implementar una DLL stub que exponga todas las interfaces que implementa su extensión y registra ese trozo como el que se carga. Luego, su trozo puede llamar a LoadLibrary en el DLL real y Thunk todas las llamadas. Cuando desee instalar una nueva versión, descargue la nueva DLL de implementación y haga que el stub descargue el anterior y luego cargue la nueva. Si hace esto correctamente, puede ser inútil para el usuario ... La dificultad se produce cuando el nuevo DLL necesita nuevas entradas de registro o necesita actualizar el trozo ... etc. Todos estos problemas se pueden resolver, pero el esfuerzo requerido explota.

Mi consejo es que lo mantenga simple hasta que tengas que hacer todo lo posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top