У меня есть элемент управления ActiveX, который поставляется как CAB. У меня есть HTML-страница, которая является просто тегом OBJECT с именем кабины и clsid (так что больше ничего на странице пока нет).
Это заставляет IE спрашивать об установке элемента управления ActiveX, что я разрешаю. Он загружает CAB, извлекает установщик и запускает его.
Пока MSIEXEC работает и пытается установить элемент управления, IE решает удалить файлы из временного каталога, где находится файл .MSI. Иногда файл блокируется процессом, и удаление завершается неудачно, а затем установка завершается успешно, но в большинстве случаев удаление происходит успешно, а затем MSIEXEC регистрирует ошибку, что файл MSI отсутствует.
Я вижу, как все это происходит в PROCMON, но я понятия не имею, почему. Это воспроизводимо в нескольких версиях Windows и IE. Это не просто удаление MSI - это удаление файлов из временного каталога.
Единственная подсказка, которую я имею, - это то, что дата изменения файла - это дата, когда он был создан на компьютере сборки. Хотя это не то, что я могу постоянно обновлять (это внутри CAB на веб-сервере) - я не могу просто создавать эту CAB каждые пять минут, чтобы обновленные даты обновлялись - так что я не думаю это, но хотел упомянуть это как подсказку.
Почему IE удаляет файлы в temp и есть ли способ помешать этому?