Удалить ClickOnce из приложения WinForms
У меня есть приложение WinForms, которое будет использовать ClickOnce. Но, оказывается, ClickOnce не будет работать для моего приложения, поэтому я хотел бы удалить его. Только... кажется, нет очевидного способа сделать это. Нет кнопки "Un-ClickOnce". Кто-нибудь знает, какие шаги мне нужно предпринять, чтобы мое приложение выглядело так, как это было до того, как ClickOnce интегрировал себя?
(Я знаю, что могу создать новый проект и импортировать материал в него, но, похоже, это глупо делать, поэтому я надеюсь на другой способ.)
Ответы
Ответ 1
Другие ответы здесь неверны или полезны. Неправильно утверждать, что его никогда не нужно удалять.
Один из таких примеров, который я испытал недавно, - это когда приложение нуждалось в административных привилегиях. Любая попытка встраивания административных требований в манифест приведет к тому, что приложение даже не будет компилироваться, пока ClickOnce все еще присутствует в решении.
Следующие два действия позволили мне отключить ClickOnce (в Visual Studio 2010):
В свойствах проекта
- Подпись: Отклонить "Подписать манифест ClickOnce"
- Вкладка "Безопасность": "Отключить" "Включить параметры безопасности ClickOnce"
Ответ 2
Я считаю, что единственное, что осталось от ClickOnce после того, как вы прекратили развертывание, это файл publish.xml
, который сообщает вам о том, что вы развернули до сих пор и в какой версии вы находитесь. В противном случае вам действительно нечего беспокоиться, просто разверните из папок bin
, как и без ClickOnce.
Ответ 3
Я согласен с другими, нет необходимости "удалять ClickOnce".
Если вы действительно собираетесь это сделать, хотя все параметры ClickOnce IIRC находятся в файле .csproj для проекта, поэтому удалите все теги XML, которые относятся к ClickOnce. (возможно, проще всего сравнить с новым приложением, которое еще не было развернуто с CO, чтобы увидеть, какие теги там отсутствуют)
Ответ 4
Если вы ссылаетесь на файлы манифеста развертывания приложений ClickOnce, которые появляются в вашей папке Debug, перейдите в "Свойства проекта" → "Безопасность" и снимите флажок "Включить настройки безопасности ClickOnce"
Вы также можете перейти к Свойствам проекта → Подписать и снять флажок "Подписать манифест ClickOnce", но это не обязательно, потому что у него нет того, что нужно подписать, если вы сначала снимите флажок.
Теперь, если вы перейдете к отладке и удалению файлов .plplication, при восстановлении его снова не появится.
Ответ 5
На всякий случай это кому-нибудь поможет...
В частности, моя проблема заключалась в том, что у меня был зависимый проект "Библиотека классов", в котором была отмечена "подписать манифест clickonce", но он отключен, поэтому его нельзя было отключить. Мое решение было:
- Преобразуйте этот проект в приложение для Windows,
- Снова откройте панель свойств,
- Удалите подпись в виде клика один раз на вкладке подписи на панели свойств,
- Преобразуйте проект обратно в "Библиотеку классов".
Я считаю это ошибкой MS (все еще в VS2019 16.0.1, которую я использую сейчас), но обходной путь исправил ее.
Удачи!