Ассоциации Файлов С Помощью ClickOnce

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

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

<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 ответов


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

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


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

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

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