Question

Est-il possible d'amener mon plugin Internet Explorer à se mettre à jour sans nécessiter de désinstallation / réinstaller manuel en utilisant le .msi? J'ai pensé à essayer de le faire par programme, mais je ne suis pas sûr de ce qui devrait être fait (enregistrer .dll, etc.).

Merci, Nathan

Était-ce utile?

La solution

Téléchargez simplement le nouveau MSI en arrière-plan. Lorsque cela est fait, invitez l'utilisateur et s'il est d'accord, exécutez le nouveau MSI.

Re: Éviter la saisie de l'utilisateur: vous pouvez le faire sans leur permission ... mais comme l'installation d'un nouveau module complémentaire nécessite de redémarrer le navigateur, ce n'est peut-être pas la meilleure chose à faire au hasard. Vous pourriez chronométrer que cela se produise lorsque vous savez que les magasins seront fermés, mais que se passe-t-il s'ils ouvrent à minuit pour le Black Friday? Vous devez y réfléchir.

Une alternative consiste à implémenter une DLL de stub qui expose toutes les interfaces que votre extension implémente et enregistrer ce talon comme celui qui, c'est-à-dire charge. Ensuite, votre talon peut appeler LoadLibrary sur la DLL réelle et tous les appels. Lorsque vous souhaitez installer une nouvelle version, vous téléchargez la nouvelle DLL d'implémentation et demandez au talon de décharger l'ancien, puis chargez le nouveau. Si vous le faites correctement, cela peut être tout à fait intrigue pour l'utilisateur ... la difficulté survient lorsque la nouvelle DLL a besoin de nouvelles entrées de registre ou que vous devez mettre à jour le talon ... etc. Tous ces problèmes peuvent être résolus, mais l'effort requis explose.

Mon conseil est de rester simple jusqu'à ce que vous deviez absolument aller à ces longueurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top