Ошибка при закрытии ТС сторонним приложением

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Ошибка при закрытии ТС сторонним приложением

Сообщение gora »

Заметил следующее: последнее время при запуске msi инсталляторов для обновления уже установленного ПО вылетает ошибка:

Код: Выделить всё

---------------------------
Error
---------------------------
An unhandled exception occurred at $00000000007EC169 :
EAccessViolation : Access violation
An unhandled exception occurred at $0000000000409D7F :
EAccessViolation : Access violation
  $0000000000409D7F
  $0000000000409F82
  $000000000099BEA4
  $00000000004522DD
  $0000000000410127
  $000000000041046D
  $00000000007F112B
  $000000000040EE2F
  $0000000000430599
  $000000000044649D
  $00000000004120A0
  $000000000041227B
  $000000000041243D
  $0000000000404B9F

---------------------------
ОК   
---------------------------
Наблюдалось это при обновлении 7-Zip и EmEditor. При обновлении сначала проверяется наличие предыдущих версий и производится их удаление. Удаление производится следующей строкой (пример для 7-zip)

Код: Выделить всё

MsiExec /qn /x{23170F69-40C1-2702-0928-000001000000}
msi обнаруживает ранее установленную версию и удаляет ее. Если ПО открывалось из ТС и осталось "залоченым" им, то msi установщик пытается закрыть ТС, видимо это и вызывает ошибку.
Это баг ТС или я что-то неправильно делаю?
Можно ли избежать появления этой ошибки?
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Единственное предположение, что крэш вызван обновлением соответствующего расширения оболочки. Только они могут быть загружены в память Тотала и влиять на его поведение. Но я лично при установке MSI-пакета ещё ни разу не сталкивался с закрытием программы или хэндлов: ни принудительным, ни ручным. Всегда либо выдавался явный запрос с перечислением блокирующих приложений и просьбой самому выйти из них, либо после установки просто выводилось требование перезагрузки системы. Да и сама установка всегда осуществляется перемещением заблокированных файлов в другой каталог, откуда они продолжают работать, пока приложение, их использующее, не будет перезапущено.

Думаю, имеет смысл зарепортить это на оф. форум, чтобы Гислер мог проанализировать стек и сказать, что конкретно не нравится Тоталу. Ну и, разумеется, надо проверить поведение с чистым INI, чтобы быть уверенным в отсутствии влияния со стороны какого-нибудь плагина, не слишком щепетильного в средствах работы и потому влияющего на Тотал не всегда предсказуемым образом.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

CaptainFlint писал(а):Всегда либо выдавался явный запрос с перечислением блокирующих приложений и просьбой самому выйти из них
Если запускать без ключа /qn, то запрос виден, но с этим ключом msi производит удаление без общения с пользователем (используется при тихой установке). С видимым запросом, ошибок не наблюдал, они происходят в "скрытом" режиме удаления, но не всегда.
Попробую добиться 100% воспроизводимости ошибки, прежде чем репортить.

Upd
Сегодня снова поймал эту ошибку при обновлении EE, причем с видимым запросом. Содержимое окна в точности повторяет приведенное выше.
Win7 SP1 Ultimate x64, TC8.52a x64
Ответить