System.Security.Cryptography.CryptographicException (алгоритм подписи) в Windows XP SP2 - проект visual studio 13

Я работаю над проектом, который был построен в Visual Studio 2008, и он отлично работал в Windows XP, Windows 7, 8 и 10.

Но затем мы перешли на Visual Studio 2013 [целевая платформа-3.5, алгоритм подписи-sha256RSA такие же, как и были], и теперь у меня возникла эта проблема

Он отлично работает в Windows 7, но когда я попытался установить его в Windows XP-SP2 с помощью «Щелкнуть после развертывания приложения», я получил следующее исключение.

  • Exception reading manifest from file:Desktop/MyApp-vs13/MyApp.application: the manifest may not be valid or the file could not be opened.
    • Source: System.Deployment
    • Трассировка стека: в System.Deployment.Application.ManifestReader.FromDocument (String localPath, ManifestType manifestType, Uri sourceUri) в System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass (SubscriptionStore subStore, Download & SubscriptionStore subStore, SubscriptionStore subStore, UriileFownStation и sourceUrio параметры, информация о сервере и информация о сервере) в System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass (SubscriptionStore subStore, Uri и sourceUri, TempFile и tempFile, SubscriptionState и subState, уведомление IDownloadNotification, параметры DownloadOploymentDeployment.ApplicationUplication.ApplicationUserformation.Application.Unformation.ApplicationAptions) , String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String & errorPageUrl) в System.Deployment.Application.Appli cationActivator.ActivateDeploymentWorker (состояние объекта) --- Внутреннее исключение --- System.Deployment.Application.InvalidDeploymentException (SignatureValidation)
    • Подпись XML манифеста недействительна.
    • Источник: System.Deployment
    • Трассировка стека: в System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature (Stream s) в System.Deployment.Application.ManifestReader.FromDocument (String localPath, ManifestType manifestType, Uri sourceUri) --- Внутреннее исключение --- System.Security .Cryptography.CryptographicException
    • Не удалось создать SignatureDescription для предоставленного алгоритма подписи.
    • Источник: System.Security
    • Трассировка стека: в System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo (ключ AsymmetricAlgorithm) в System.Security.Cryptography.Xml.SignedXml.CheckSignature (ключ AsymmetricAlgorithm) в System.Security.CryignedningSymmetricAlgorithm key) в System.Security.CryignedningSymmetricAlgorithm. ) в System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify (CmiManifestVerifyFlags verifyFlags) в System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature (Stream s)

Дополнительная информация:

  • Алгоритм подписи: sha256RSA
  • Целевая база проекта: 3.5
  • Целевая платформа проекта: AnyCpu
  • клиентская ОС: Windows XP - Service Pack 2
  • client .net framework: 3.5 (позже я установил 4.0, но результат такой же)

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

Все, что мне нужно для успешного развертывания и запуска моего проекта в Windows XP SP2 с .NET framework 3.5

Есть ли что-то, чего мне не хватает, или какой-то способ этого добиться?


person Amit    schedule 04.03.2016    source источник
comment
Еще одна вещь, которую я хотел бы добавить, когда я удалил .NET framework 4.5 со своего компьютера - Windows 7, он показывает ту же проблему, что и Windows XP, так что это, должно быть, проблема фреймворка. Но с тем же алгоритмом подписи он работал нормально (даже в Windows XP, где платформа .NET 4.5 даже не поддерживается), когда я использовал Visual Studio 2008.   -  person Amit    schedule 04.03.2016


Ответы (1)


Windows XP была мертва уже много лет, и ее последний SP - SP3.

Не пытайтесь выполнять серьезные задачи в неподдерживаемой среде, поскольку никто не гарантирует.

person Lex Li    schedule 04.03.2016
comment
Я полностью понимаю вашу точку зрения, даже корпорация Microsoft. ограничил их поддержку. Но многие мои клиенты все еще используют Windows XP с пакетом обновления 2 (SP2), поэтому у меня нет выбора в этом вопросе. - person Amit; 04.03.2016
comment
@AmitNatural есть и другие подходы, кроме ClickOnce, которые могут не затронуть ту же проблему. Вы можете проверить их и переключиться на. - person Lex Li; 04.03.2016