На работе у нас было приложение ClickOnce, которое, когда клиент попытается установить, выбрасывает исключение:
Показатель чтения исключений из файла:/FILEPATH: манифест может быть недействительным или файл не может быть открыт.
Явная подпись XML недопустима.
SignatureDescription не может быть создана для поставляемого алгоритма подписи.
Чтобы решить эту проблему, мы закончили использование другого файла сертификата, и он отлично работал (смирился с манифестом).
Но мы не можем понять, почему это будет работать для установки приложения на машинах разработчиков (даже разработчиков, которые не работали с приложением), но это не сработает для машин клиентов?
У нас мало информации о том, как создавались сертификаты или пакет ClickOnce, потому что человек, который его сделал, ушел и не оставил документацию об этом.
В используемом сертификате не было пароля, и у обычных пользователей нет прав администратора.
Из вопроса Недопустимая подпись XML манифеста, я мог догадаться, что проблема может заключаться в том, что они создали проект и сертификат с помощью .NET Framework 4.5, а затем, когда они устанавливают приложение для работы с .NET Framework 4.0, они не изменяют алгоритм подписи. Но тогда я хотел бы, чтобы он не работал и для разработчиков.
Любое понимание, которое вы могли бы мне дать, было бы весьма признательно.