2016-01-05 4 views
0

У меня есть программное обеспечение, для ради примера будет называть А. - иметь более одной версии этого:Ассоциирование несколько программ с расширением

  • 1,0
  • 1,1
  • 2,0

Все эти версии могут быть установлены и сосуществуют, что означает, что более высокая версия не обновляет нижнюю версию. Расширение файла .aaa связано со всеми 3 программами, что означает, что программа сохраняет файлы в файлах с расширением .aaa, а при удлинении расширения .aaa запускается последнее установленное программное обеспечение.

Теперь я столкнулся следующая проблема:

  • Пользователь устанавливает версии 1.1.
  • Через некоторое время пользователь устанавливает A 2.0.
  • Пользователь работает с 2.0 и производит сохранение файлов с расширением .aaa
  • Пользователь удалений A 1.1 пользователь дважды щелкает файл расширения .aaa и получает всплывающее окно, чтобы найти программное обеспечение, чтобы открыть файл с (это означает, что после удаления 1.1, расширение файла теряет связь).

Идентификаторы компонентов и имена исполняемых файлов A различны, и код обновления и идентификаторы программы также, конечно, также. Однако, как после удаления более низкой версии это нарушает связь и как я могу заставить ее работать?

ответ

1

Размещение значения реестра одинаково между двумя версиями «A», поэтому вы должны использовать один и тот же идентификатор GUID для компонента. Ниже приведены некоторые хорошие правила: Change my component GUID in wix?

Возьмите GUID компонента для записи расширения файла из A 1.1 и используйте его в A 2.0. Это должно позволить продлению оставаться после удаления A 1.1.

Боковое примечание: Это может открыть дверь, необходимую для управления версией приложения, когда она будет открыта при установке нескольких версий. Например, если вы установите A 2.0, то A 1.1, ваше расширение файла вероятно откроет файл в A 1.1.

Смежные вопросы