ClickOnce File Association - PullRequest
       18

ClickOnce File Association

8 голосов
/ 19 ноября 2009

У меня есть консольное приложение, которое я развертываю с помощью ClickOnce. Как только пользователь устанавливает программу, ассоциации устанавливаются, но связанная программа является установщиком (Библиотека поддержки развертывания приложений ClickOnce), а не самой программой. Как я могу заставить ассоциацию быть действующей программой, а не установщиком?

Я включил узел fileAssociation из app.manifest ниже. Пожалуйста, дайте мне знать, если у вас есть какие-либо советы по этому вопросу. Спасибо.

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1" 
               extension=".aav" 
               description="My Program" 
               progid="MyProgram" 
               defaultIcon="myIcon.ico" />

Протестировано на 3 разных компьютерах, начиная от Windows XP, Vista, Windows 7. Уровень доверия - полное доверие. Автоматическое обновление настроено на запуск перед запуском.

Ответы [ 2 ]

20 голосов
/ 19 ноября 2009

Проблема связана с тем, что я не обязательно понимаю ClickOnce, спасибо codeConcussion за краткий обзор.

И 2: ClickOnce не передает данные в традиционном формате args, а через следующее свойство: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

6 голосов
/ 19 ноября 2009

Я думаю, что это просто неправильное понимание того, как работает ClickOnce. Основной исполняемый файл приложения ClickOnce никогда не запускается напрямую. Приложения запускаются через манифест развертывания (файл приложения) на сервере. Если вы откроете ярлык меню «Пуск» вашего приложения в текстовом редакторе, вы увидите, что он указывает на файл приложения, а не на локальный .exe.

Это позволяет использовать всю магию обновления. Если ваш файл .aav был связан с локальным файлом .exe, пользователь не получит никаких обновлений при открытии приложения через файл .aav.

Вы заявили, что он «запускает установщик» при двойном щелчке файла; ваше приложение запускается после этого? Не могли бы вы объяснить ожидаемый результат?

...