Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 6
1

Ассоциация с файлами при развертывании через ClickOnce

10.04.2009, 19:56. Показов 3715. Ответов 5
Метки нет (Все метки)

Приложение распространяется через ClickOnce, необходимо ассоциировать расширение с приложением.

Действовал по инструкции и никак не получается.

Отредактировал манифест, подписал, установил прогу - все прошло без ошибок. Однако ассоциации все-равно нет.

в манифест добавлял строку:
<fileAssociation extension=".rstl" description="RSTL Report (ClickOnce)" progid="RSTL.Report" defaultIcon="chat.ico" xmlns="urn:schemas-microsoft-com:clickonce.v1" />
при это progid выдумал сам а "chat.ico" это иконка по дефолту.

Расскажите кто-нибудь добился номральной работы ассоциации в ClickOnce?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2009, 19:56
Ответы с готовыми решениями:

Ассоциация с файлами при развертывании через ClickOnce.
Удалось почти выполнить сабж таким образом: В свойствах проекта на вкладке Security выбираем...

Ошибка 403 при развёртывании ClickOnce с сервера
Здравствуйте. Прошу подсказать, в чём может быть проблема? При развёртывании WPF-приложения с...

Сборка приложения с бинарниками в проекте - проблемы при установке через ClickOnce
Доброго времени суток! Столкнулся со следующей проблемой прошу помочь найти правильное решение....

ассоциация с файлами
написал такой код static void Main(string args) { ...

5
13 / 13 / 5
Регистрация: 15.03.2009
Сообщений: 55
10.04.2009, 21:36 2
Если не получится - поробуй напрямую через реестр.
В примерах ниже: MyProgram - имя приложения, .mypog - расширение файлов для ассоциирования.
Чтобы зарегестрировать расширение файла создай ветку (раздел)
HKEY_CLASSES_ROOT/.mypog
Чтобы зарегистрировать программу, с помощью которой его открывать создай ветку
HKEY_CLASSES_ROOT/MyProgram.mypog/shell/open/command
В этой ветке поставь значение по умолчанию в (не забуть кавычки)
"C:\Program Files\MyProgram\myprog.exe" "%1"
где в первых кавычках полный путь к исполняемому файлу, а вместо %1 будет подставляться открываемый файл
Для регистрации иконки для файлов создай ветку
HKEY_CLASSES_ROOT/MyProgram.mypog/DefaultIcon
Где в значении по умолчанию пропиши полный путь к *.ico файлу (без кавычек)

Ну и чтобы связать расширение со своей программой поставь значение по умолчанию ветки, отвечающей за расширение
HKEY_CLASSES_ROOT/.mypog
в
MyProgram.mypog
ссылку на ветку твоей программы

Если программа открывает несколько типов файлов, то по аналогии сделай например
HKEY_CLASSES_ROOT/MyProgram.bmp
и пропиши на него ссылку в ".bmp"
0
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
11.04.2009, 10:59 3
Не думаю, что это может получится.
  • При размертывании через ClickOnce программа устанавливается не в ProgrammFiles, а в ClickOnceCache, которые в общем случае может находится где угодно.
  • Перед тем как запустить саму программу, по желанию разработчика, ClickOnce должен например найти обновления, скачать, установить и только потом запускать. А если указать напрямую путь к исполняемому файлу, то, очевидно, такие полезные функции будут потеряны.
0
13 / 13 / 5
Регистрация: 15.03.2009
Сообщений: 55
11.04.2009, 11:39 4
Цитата Сообщение от SandWraith Посмотреть сообщение
Не думаю, что это может получится.
  • При размертывании через ClickOnce программа устанавливается не в ProgrammFiles, а в ClickOnceCache, которые в общем случае может находится где угодно.
  • Перед тем как запустить саму программу, по желанию разработчика, ClickOnce должен например найти обновления, скачать, установить и только потом запускать. А если указать напрямую путь к исполняемому файлу, то, очевидно, такие полезные функции будут потеряны.
а в какой книге можно по-подробнее прочитать про ClickOnce в связке с C#?
0
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
11.04.2009, 11:57 5
Сам только вот тут об этом читал: Развертывание ClickOnce для приложений Windows Forms
0
0 / 0 / 1
Регистрация: 09.08.2013
Сообщений: 2
29.10.2013, 09:37 6
я долго пытался добиться ассоциации файлов от ClickOnce для ".bmp" Ничего не получалось. Оказалось все просто: ClickOnce не создает ассоциацию на файл, если уже существует прописанная ассоциация в Windows на этот файл.
Таким образом надо как то удалить из реестра существующие ассоциации.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2013, 09:37

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ошибка при публикация приложения с ClickOnce
Добрый день, читаю книжку Visual C# 2010 полный курс и столкнулся с проблемой публикации приложения...

Ошибка при развертывании
Привет всем!!! Выходят ошибки при развертке артефакта Artifact Web:war exploded: Error during...

Ошибки при развертывании в production
Только начал изучать RoR и при развертыванием в production возникли проблемы. ...

Ошибка при развёртывании макроса
День добрый. Имеется программа (для avr, но это не принципиально (наверно)) main.h typedef...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.