Подтвердить что ты не робот

Удалить ClickOnce из приложения WinForms

У меня есть приложение WinForms, которое будет использовать ClickOnce. Но, оказывается, ClickOnce не будет работать для моего приложения, поэтому я хотел бы удалить его. Только... кажется, нет очевидного способа сделать это. Нет кнопки "Un-ClickOnce". Кто-нибудь знает, какие шаги мне нужно предпринять, чтобы мое приложение выглядело так, как это было до того, как ClickOnce интегрировал себя?

(Я знаю, что могу создать новый проект и импортировать материал в него, но, похоже, это глупо делать, поэтому я надеюсь на другой способ.)

4b9b3361

Ответ 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, которую я использую сейчас), но обходной путь исправил ее.

Удачи!