Просто загрузите новый MSI в фоновом режиме. Когда это будет сделано, предложите пользователю и, если он согласится, запустите новый MSI.
RE: избегание пользовательского ввода: вы можете сделать это без их разрешения... но, поскольку установка нового дополнения требует перезапуска браузера, это может быть не лучшим решением. Вы можете рассчитать время, когда вы знаете, что магазины будут закрыты, но что, если они откроются в полночь в Черную пятницу? Вы должны все обдумать.
Альтернативой является реализация заглушки DLL, которая предоставляет все интерфейсы, реализуемые вашим расширением, и регистрация этой заглушки как той, которую загружает IE. Затем ваша заглушка может вызвать loadlibrary для реальной dll и перенаправить все вызовы. Когда вы хотите установить новую версию, вы загружаете новую dll реализации, и заглушка выгружает старую, а затем загружает новую. Если вы сделаете это правильно, это может показаться пользователю незаметным... трудность возникает, когда для новой dll нужны новые записи в реестре или вам нужно обновить заглушку... и т. д. Все эти проблемы можно решить, но для этого потребуются усилия. взрывается.
Мой совет: сохраняйте простоту, пока вам абсолютно не придется идти на все это.
person
i_am_jorf
schedule
30.11.2010