Нажмите один раз Winform App - Исключительная Сильная подпись

Я новичок в программировании и сталкиваюсь с ошибкой при попытке опубликовать приложение winform с помощью Click один раз. Я получаю ошибку

"Во время этой операции были обнаружены следующие ошибки. System.Deployment.Application.InvalidDeploymentException (SignatureValidation) - Подпись строгого имени недопустима для этой сборки MetroFramework.dll. "

Теперь, когда я создавал свой проект, я не смог изменить некоторые цвета и шрифты элементов управления Metro, поэтому я изменил библиотеку DLL, чтобы изменить цвета по умолчанию. Я думаю, что это вызывает проблему?

Единственной целью использования click click было установление функции "автоматического обновления". Ранее я использовал проект установки, и конечные пользователи в нашей фирме собирались на общий сетевой диск и каждый раз переустанавливали приложение. Произошло обновление. Я надеялся один раз выполнить щелчок, чтобы приложение могло автоматически обновляться, и чтобы конечные пользователи не могли использовать более старые версии приложения.

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


Я хотел бы уточнить, что я испытываю одновременно:

Мое приложение предназначено для коллег и используется для подключения к нашей основной базе данных. Я могу успешно развернуть проект, добавив и собрав "Setup Project". Это позволяет мне делать MSI и создавать иконки и так далее. Я помещаю установочный файл на сетевой диск, где конечные пользователи могут найти и установить приложение.

Все отлично от начала до конца, кроме того, как я работаю с обновлениями программного обеспечения. В настоящее время пользователи просят изменения, я иду и обновляю приложение и помещаю новый установочный файл в сетевой диск. Проблема в том, что: 1) пользователям автоматически не сообщают, что доступно обновление 2) пользователям не требуется обновлять программное обеспечение... они могут продолжать использовать версию, которая у них есть (что плохо).

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

Мои две проблемы: А) Я даже не знаю, является ли это лучшим подходом для достижения цели, изложенной выше. Б) Когда я пытаюсь использовать "нажмите один" для публикации, я могу опубликовать, но я не могу запустить программу установки exe впоследствии. Я получаю MetroFramework "Подпись строгого имени недопустима для этой сборки MetroFramework.dll. " Как я упоминал, я думаю, что это может быть потому, что я изменил DLL, чтобы получить контроль над шрифтами. Но я понятия не имею, как вообще начать исправлять это..

1 ответ

Вы боретесь с установщиком с помощью Click Once? Вы можете попробовать сделать один в Windows Forms, что я делал в прошлом. Что я сделал для автоматических обновлений, так это разместил на своем веб-сайте файл, который приложение загружает каждый раз, и когда я выпускаю обновление, я изменяю содержимое файла на местоположение автоинсталлятора (то есть WinForms) для его загрузки и запуска. Это может быть хорошим решением для вас. Мой опыт работы с MetroFramework.dll был не велик, и я в конечном итоге просто отказался от его использования. MetroFramework.dll Файл также должен находиться в том же каталоге, что и исполняемый файл, чтобы он работал, о чем следует помнить при создании установщика. Надеюсь, я помог:)

Другие вопросы по тегам