Обновление надстройки IE

Можно ли заставить мой подключаемый модуль Internet Explorer обновлять себя, не требуя удаления/переустановки вручную с помощью .msi? Я думал о том, чтобы попытаться сделать это программно, но я не уверен, что нужно будет сделать (регистрация .dll и т. д.).

Спасибо, Натан


person Nathan    schedule 30.11.2010    source источник


Ответы (1)


Просто загрузите новый MSI в фоновом режиме. Когда это будет сделано, предложите пользователю и, если он согласится, запустите новый MSI.

RE: избегание пользовательского ввода: вы можете сделать это без их разрешения... но, поскольку установка нового дополнения требует перезапуска браузера, это может быть не лучшим решением. Вы можете рассчитать время, когда вы знаете, что магазины будут закрыты, но что, если они откроются в полночь в Черную пятницу? Вы должны все обдумать.

Альтернативой является реализация заглушки DLL, которая предоставляет все интерфейсы, реализуемые вашим расширением, и регистрация этой заглушки как той, которую загружает IE. Затем ваша заглушка может вызвать loadlibrary для реальной dll и перенаправить все вызовы. Когда вы хотите установить новую версию, вы загружаете новую dll реализации, и заглушка выгружает старую, а затем загружает новую. Если вы сделаете это правильно, это может показаться пользователю незаметным... трудность возникает, когда для новой dll нужны новые записи в реестре или вам нужно обновить заглушку... и т. д. Все эти проблемы можно решить, но для этого потребуются усилия. взрывается.

Мой совет: сохраняйте простоту, пока вам абсолютно не придется идти на все это.

person i_am_jorf    schedule 30.11.2010
comment
Собственно на этом я и решил. Тем не менее, он все еще не идеален, поскольку он будет доставляться в розничные сети, использующие много терминалов, поэтому любое вмешательство пользователя нежелательно. - person Nathan; 01.12.2010