Удаление значка закрепленного приложения с панели задач Windows 7 при крупном обновлении приложения с помощью WiX

После удаления приложения WPF, которое было установлено с WiX, значок приложения, ранее закрепленный на панели задач Windows 7, не был удален автоматически. Он остается осиротевшим, и его необходимо удалить вручную. Является ли это предполагаемым типичным поведением?
Проблема в том, что после серьезного обновления приложения закрепленный значок остается неактивным, и его необходимо вручную удалить и заново изменить. Некоторых пользователей это смущает.

Есть ли возможность удалить или повторно активировать значок приложения, закрепленный на панели задач Windows 7, при крупном обновлении приложения с помощью установщика WiX?


person rem    schedule 18.01.2012    source источник
comment
Вы беспокоитесь о том, что пользователи, которые закрепили его, запутались, или ваш установщик обманул и закрепил его? Для справки, iTunes от Apple имеет эту проблему для первого сценария, так что это может быть приемлемым поведением.   -  person Michael Urman    schedule 19.01.2012
comment
@MichaelUrman Никакого накрутки со стороны установщика. Я просто хотел сделать процесс установки более безупречным; не заставлять пользователя думать и не заставлять пользователя что-то делать дополнительно.   -  person rem    schedule 19.01.2012
comment
Хорошо, тогда ответ партийной линии заключается в том, что ваш установщик ничего не знает об этом ярлыке, поэтому нельзя ожидать, что он его исправит. Лично я считаю это ошибкой или ограничением в работе оболочки Windows; больше ошибка, если цель не двигалась, больше ограничение, если цель основного обновления находится в новом месте.   -  person Michael Urman    schedule 19.01.2012


Ответы (1)


Лучше изменить стратегию: вам нужно установить _1 _ на вашем ярлыке. Значение этого свойства не должно изменяться во время обновления. Затем оболочка, панель задач Windows, будет знать, что нужно обновить закрепленный ярлык.

Подробнее о свойствах ярлыков можно прочитать в Поддержка панели задач Windows 7 с MsiShortcutProperty таблицей.

В WiX также есть образец кода, который показывает как установить свойство ярлыка.

person Alexey Ivanov    schedule 19.01.2012
comment
Хотя добавление System.AppUserModel.ID в ярлык не помогло обновить значок, который был ранее закреплен (мне не удалось решить мою первоначальную проблему, но, возможно, я что-то пропустил, поэтому я попытаюсь изучить эту тему дальше ), вы мне указали много полезной информации. Большое спасибо! +1 - person rem; 20.01.2012
comment
@rem К сожалению, вы не можете исправить предыдущий значок: для этого потребуется машина времени. Нет общедоступного API, который можно использовать для управления закрепленными приложениями. Единственное, что вы можете попробовать, это удалить ярлык из «кеша» закрепленных значков на панели задач:% APPDATA% \ Microsoft \ Internet Explorer \ Quick Launch \ User Pinned \ TaskBar \. - person Alexey Ivanov; 20.01.2012