问题描述
电脑系统升级Win10后启动不了Markdown Pad2,报错’Awesomium.Windows.Controls.WebControl’,如下图:
之前也一直在Win10平台上使用Markdown Pad2,但是只是出现HTML渲染不了的问题,下载一个awesomium
软件即可使用,但是前几天重装了Win10系统后,再次使用就出现了这个问题。很讨厌的一个问题!不过最后还是解决了~~~
解决方案
先献上解决方案:
修改注册表:
按Win+R运行regedit,修改下面的值为0就可以了
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\Enabled
再次启动Markdown Pad2,这次只是报了HTML渲染的错误,安装好那个awesomium
软件就可以了。
解决思路
在解决这个问题之前,将错误在放在网上搜了很久,有很多朋友遇到了和我同样的问题,但是还没解决。没办法,只能自己看看report bug,看看能不能解决。
------------------------------------------------
Exception Information:
System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'Awesomium.Windows.Controls.WebControl' that matches the specified binding constraints threw an exception. ---> System.TypeInitializationException: The type initializer for 'Awesomium.Windows.Controls.WebControl' threw an exception. ---> System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
at System.Security.Cryptography.RijndaelManaged..ctor()
at Qmf6XFM6XpO7bnkn78.paNwq4afhC7oFjklRx.P0HCvAPk4W(Int32 )
at Awesomium.Windows.Controls.WebControl..cctor()
--- End of inner exception stack trace ---
at Awesomium.Windows.Controls.WebControl..ctor()
--- End of inner exception stack trace ---
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
------------------------------------------------
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
很幸运,看到了这句:
---> System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
英文不好,大致意思就是说:Windows平台FIPS验证的加密算法不支持这个实现。
问题的症结似乎就在这,将这句话放到网上,看到了一个玩游戏的哥们发的帖子,也遇到了同样的问题,有个大神给解决了。也不确定能不能解决我的问题,就试着修改了一下注册表,OMG,居然可以了,好神奇。
FIPS
FIPS(Federal Information Processing Standards)即(美国)联邦信息处理标准。它是批准技术与标准国家协会 ( National Institute of Standards and Technology ) 为联邦计算机系统制定的标准和指南。
联邦信息处理标准(Federal Information Processing Standards,FIPS)是一套描述文件处理、加密算法和其他信息技术标准(在非军用政府机构和与这些机构合作的政府承包商和供应商中应用的标准)的标准。
具体为什么会和这个冲突,就不知道为啥了,希望能有Windows大神解释一下。