Некорректное поведение файловых ассоциаций

Автор Evgeniy1990, 02 декабря 2017, 15:00:03

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Evgeniy1990

Тема: Некорректное поведение файловых ассоциаций

Описание проблемы:

Уже не в первый раз замечаю некорректное поведение установки файловых ассоциаций, что после удаления старых версий программы и установки новых, или же удалении 32-битных и установки 64-битных версий и обратно, файловые ассоциации применяются, но в разделе настроек "Форматы", отображаются совершенно некорректно.

В чем заключается некорректное поведение?

Алгоритм воспроизведения:

1. Мы установили 64-битную версию плеера MPC-BE
2. В инсталляторе указали опции "Ассоциировать с видео/аудио/плейлистами"
3. Запустили сам процесс установки приложения и приминения файловых ассоциаций
4. В конце файловые ассоциации установились, пока все в порядке
5. В разделе настроек "Форматы" все галочки активны и установлены на всех файловых ассоциациях, но это только лишь на первый взгляд

Теперь делаем следующее:

5. Полностью удаляем установленное приложение через его деинсталлятор
6. После удаления, устанавливаем 32-битныую версию плеера MPC-BE через инстяллятор
7. В инсталляторе указываем опции "Ассоциировать с видео/аудио/плейлистами"
8. Запускаем сам процесс установки и применения файловых ассоциаций
9. В конце установки приложения и применения файловых ассоциаций, осталось окно сопоставления программ, которого быть вообще не должно, ведь все файловые ассоциации уже применились
10. Запускаем приложение и переходим в раздел "Настройки -> Форматы"

И что мы видим?

Фактический результат: у нас применились все файловые ассоциации, но в разделе настроек "Форматы" галочки установлены не на всех форматах, причем в некоторых случаях они неактивны, а в некоторых они и вовсе отсутствуют.
Это и есть то самое некорректное поведение.

Ожидаемый результат: должны быть все активные галочки на всех файловых ассоциациях.

Аналогично и в обратную сторону, когда мы сначала устанавливаем х86-версию, во время процесса установки, применяем файловые ассоциации, после переходим в раздел настроек "Форматы" и видим, что все галочки активны и стоят абсолютно на всех файловых ассоциациях.

Но стоит только удалить x86-версию и установить х64-верию, выполнив те же самые действия, как после процесса установки и применения файловых ассоциаций, в разделе настроек "Форматы", у нас будут уже далеко не все галочки активными, что конечно же некорректно.

Получается, что единственный способ избавиться от такой некорректности поведения - это просто каждый раз, после удаления приложения, чистить оставшиеся ключи файловых ассоциаций в системном реестре, например, с помощью CCleaner.

P.S. А теперь самый эпический баг:

1. Предположим, мы оказались вот в такой вот ситуации, когда галочки стоят не на всех форматах, где-то вообще неактивны, а где-то просто отсутствуют (что уже неверно, уже баг)
2. Выбираем (нажимаем) на кнопку "Все"
3. В окне сопоставления программ указываем опцию "Выбрать все", применяем изменения.
4. Удаляем приложение, после чего, устанавливаем его заново, но только уже другой разрядности.
5. Выполняем те же самые действия
6. После чего, переходим в раздел настроек "Форматы"

И мы видим просто нечто невероятное - у нас установились абсолютно все файловые ассоциации, но в данном разделе "Форматы" вообще нет ни единой галочки, как будто бы ни одной файловой ассоциации не было установлено и применено.

И опять же, избавиться от такого некорректного поведения - это просто каждый раз, после удаления приложения, чистить оставшиеся ключи файловых ассоциаций в системном реестре, например, с помощью CCleaner.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt


Aleksoid1978

Ну не надо расписывать такие поэмы. Я вот 3 раза читал но так и не уловил основной мысли.
Можно же кратко описать что сделать чтобы получить баг. И все.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: V0ltСистема какая?
Windows 10 Build 1709 (16299.64).
[merge_posts_bbcode]Добавлено: 2017-12-02 16:20:01[/merge_posts_bbcode]

Цитата: Aleksoid1978Ну не надо расписывать такие поэмы. Я вот 3 раза читал но так и не уловил основной мысли.
Можно же кратко описать что сделать чтобы получить баг. И все.
Я специально расписал подробно, поскольку кратким способом такое не получить.

[merge_posts_bbcode]Добавлено: 2017-12-02 16:31:39[/merge_posts_bbcode]

Aleksoid1978, если вкратце,  то суть бага заключается в том, что после удаления приложения одной разрядности и установки приложения другой разрядности, после применения файловых ассоциаций в процессе самой установки приложения, все ассоциации устанавливаются с плеером, но в разделе настроек "Форматы" галочки отображаются совершенно неправильно, или же просто отсутствуют.

Но, я думаю, что вам, так по моему тексту, понять саму суть непросто.
В общем, сделаю для вас видеозапись. На ней вы все наглядно увидите и поймете.

[merge_posts_bbcode]Добавлено: 2017-12-02 16:43:47[/merge_posts_bbcode]

Для начала надо исправить первичную проблему - это присутствие окна программ по умолчанию в х86-версии приложения.

Суть такова: если мы во время процесса установки, в самом инсталляторе,  указываем опции ассоциирования с видео/аудио/плейлистами, то в процессе уже самой установки приложения, это окно должно появиться и тут же закрыться, по окончании установки и применения файловых ассоциаций, а не просто так применить ассоциации, появиться и остаться. Зачем? Если файловые ассоциации уже были применены.

Именно так работает у нас х64-версия. В отличие от x86, она работает правильно и в ней, в конце установки приложения и применения файловых ассоциаций, нет этого окна программ по умолчанию.

Вот это само окно.

[merge_posts_bbcode]Добавлено: 2017-12-02 17:07:33[/merge_posts_bbcode]

V0lt
Aleksoid1978


Сделал для вас видеозапись с алгоритмами воспроизведения, описанными в моем первом основном посте. Теперь вам будет гораздо проще и нагляднее увидеть полностью весь процесс получения и воспроизведения данных проблем.

[merge_posts_bbcode]Добавлено: 2017-12-02 17:22:03[/merge_posts_bbcode]

По поводу видеозаписи, еще раз распишу для вас алгоритмы воспроизведения, которые на ней показаны наглядно:

Алгоритм №1: "Установка x64-версии":

1. Запустить установку x64-версии приложения (с правами администратора)
2. В процессе установки установить все опции, связанные с применением файловых ассоциаций
(Ассоциировать с видео файлами, аудио файлами, плейлистами)
3. Запустить сам процесс установки приложения и дождаться его окончания
(во время процесса установки приложения будут применены файловые ассоциации)
4. Запустить приложение, установив в конце установки соответствующую опцию
5. После запуска приложения, открыть настройки и перейти в раздел "Форматы"
(Будет видно, что все установилось правильно, все галочки активные и присутствуют на месте)
6. Закрыть приложение, после чего удалить его через деинсталлятор

Алгоритм №2: "Установка x86-версии":

1. Запустить установку x86-версии приложения (с правами администратора)
2. В процессе установки установить все опции, связанные с применением файловых ассоциаций
(Ассоциировать с видео файлами, аудио файлами, плейлистами)
3. Запустить сам процесс установки приложения и дождаться его окончания
(во время процесса установки приложения будут применены файловые ассоциации)

! По окончании установки, будет видно, что окно программ по умолчанию осталось, вместо того, чтобы закрыться, как это было при установке х64-версии.

4. Запустить приложение, установив в конце установки соответствующую опцию
5. После запуска приложения, открыть настройки и перейти в раздел "Форматы"

Будет видно, что некоторые галочки отсутствуют, некоторые активные и на месте, а некоторые просто неактивные.

6. Закрыть приложение, после чего удалить его через деинсталлятор

Алгоритм №3: "Повторная установка x64-версии":

1. Запустить установку x64-версии приложения (с правами администратора)
2. В процессе установки установить все опции, связанные с применением файловых ассоциаций
(Ассоциировать с видео файлами, аудио файлами, плейлистами)
3. Запустить сам процесс установки приложения и дождаться его окончания
(во время процесса установки приложения будут применены файловые ассоциации)
4. Запустить приложение, установив в конце установки соответствующую опцию
5. После запуска приложения, открыть настройки и перейти в раздел "Форматы"

Будет видно, что все галочки полностью отсутствуют.

6. Закрыть приложение, после чего удалить его через деинсталлятор

[merge_posts_bbcode]Добавлено: 2017-12-02 17:27:31[/merge_posts_bbcode]

Ну и добавлю еще, что при нажатии на кнопку "Все", можно заметить, как галочка с формата AVI просто берет и автоматически исчезает, хотя после повторного открытия раздела настроек "Форматы", она уже присутствует на месте.

Вот такие вот творятся чудеса. ))
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ну вообще-то окно "Выбор программ по умолчанию" должно появляться, без этого ассоциации корректно не выставляются. Точно такое же поведение когда выставляем ассоциации через Опции -> Форматы.
[merge_posts_bbcode]Добавлено: 2017-12-03 11:20:03[/merge_posts_bbcode]

По поводу что после  отработки системного "Выбор программ по умолчанию" могут остаться не отмеченный галки - это нормально, для этого просто выйти из опций и открыть заново, дабы перечитались настройки и данные.

А по поводу бага - получается что х64 версия установщика некорректно выставляет ассоциации, некорректно запускается "Выбор программ по умолчанию". х86 версия все верно делает.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Ну вообще-то окно "Выбор программ по умолчанию" должно появляться, без этого ассоциации корректно не выставляются. Точно такое же поведение когда выставляем ассоциации через Опции -> Форматы.
Оно и появляется, только вот в зависимости от разрядности версии по разному.

Еще раз напомню:

В х64-версии, оно появляется, ассоциации, во время установки приложения, применяются, после чего это окно закрывается.

В х86-версии, оно также появляется, ассоциации, во время установки приложения, применяются, но в конце оно просто остается, вместо того, чтобы закрыться, это неправильно.

Почему неправильно? Потому что во время установки приложения ассоциации уже были применены, какой смысл тогда от того, что это окно осталось в конце установки, словно намек на то, что установить их нужно повторно.

Вот если бы мы в инстялляторе не указали ассоциировать с видео/аудио/плейлистами, тогда бы пришлось устанавливать ассоциации через настройки,в разделе "Форматы". Вот в этом случае, независимо от разрядности версий, должно как раз таки появляться окно выбора программ по умолчанию. Оно итак появляется, что является совершенно правильным действием.
Цитата: Aleksoid1978По поводу что после  отработки системного "Выбор программ по умолчанию" могут остаться не отмеченный галки - это нормально, для этого просто выйти из опций и открыть заново, дабы перечитались настройки и данные.
Обратите внимание на алгоритм №2. Галочки стоят не везде, при этом, изначально были заданы условия: ассоциировать с видео/аудио/плейлистами. После установки приложения и применении файловых ассоциаций, они должны быть уже все активны в разделе Форматы.  
Цитата: Aleksoid1978А по поводу бага - получается что х64 версия установщика некорректно выставляет ассоциации, некорректно запускается "Выбор программ по умолчанию". х86 версия все верно делает.
х64-версия, как и х86-версия - обе корректно выставляют файловые ассоциации. Отличие только в том, что в х86-версии, после установки приложения и применения файловых ассоциаций, окно выбора программ в конце установки остается.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ещё раз повторюсь - окно ассоциаций само ничего не делает, в нем надо подтвердить ассоциации и потом закрыть.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Ещё раз повторюсь - окно ассоциаций само ничего не делает, в нем надо подтвердить ассоциации и потом закрыть.
Это если мы сами потом, после установки приложения, через настройки в разделе "Форматы", будем устанавливать и применять файловые ассоциации.

А вот в случае, когда мы в самом инсталляторе указываем сразу же ассоциировать с видео/аудио/плейлистами, то во время процесса установки приложения и применения файловых ассоциаций можно заметить, что у нас открывается сначала это окно выбора программ по умолчанию, поскольку происходит сам процесс применения файловых ассоциаций, а после того как он уже выполнился (закончился), это окно сразу же закрывается. Именно так происходит в х64-версии.
Аналогичное происходит и в х86-версии, но только в конце это окно выбора программ по умолчанию остается, его приходится закрывать самому вручную. Можете еще раз обратить внимание на мою видеозапись. Там все наглядно видно, что и как происходит. Обратите внимание на появление и закрытие окна, при установке х64-версии.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Да не важно как и где запустить системное окно ассоциаций - во первых в нем надо вручную либо выставить, либо подтвердить эти самые ассоциации. И так же закрыть самому.

То что в х64 установщике закрывается - это плохо, не должно такого быть.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Да не важно как и где запустить системное окно ассоциаций - во первых в нем надо вручную либо выставить, либо подтвердить эти самые ассоциации. И так же закрыть самому.
Ясно, с этим понятно.

Цитата: Aleksoid1978То что в х64 установщике закрывается - это плохо, не должно такого быть.
Получается, что проблема конкретно в установщике х64-версии?
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.