安装后没有图标,只有文字标签;打开共享库的时候卡顿

使用问题 · 1947 次浏览
aben1188 创建于 2019-03-06 11:04

今天第一次安装使用,目前有两个问题:
1)安装后,全部都没有图标,只有文字标签,难道要重新设置一遍图标吗?
2)打开共享库时,出现卡顿,鼠标无法操作,应该是在请求服务器,但难道不是异步请求吗?





CL 2019-03-06 11:06 :
没有图标可能和windows主题有关,改用普通areo主题试试。
是异步的,不过具体也会受机器和显卡性能的影响。
aben1188 2019-03-06 13:39 :
1)换了areo主题也不行;
2)如果是异步请求的话,那卡顿就很奇怪了,我电脑里装了上百个软件了,就quicker会导致鼠标卡顿,感觉好像是用UI主线程在请求服务器,而不是Worker工作者线程在请求服务器
CL 回复 aben1188 2019-03-06 15:38 :

这两个可能是相同的原因。 图标异步加载后会写入缓存文件,有可能写文件遇到了什么问题。

aben1188 回复 CL 2019-03-07 11:07 :

现在该怎么解决问题呢?谢谢!

CL 回复 aben1188 2019-03-07 11:09 :

这个我也没有什么办法饿,电脑系统那么复杂,可能受各种其他软件或组件的影响。

建议安装win10使用。

aben1188 回复 CL 2019-03-07 11:20 :

有日志文件吗?在哪个目录下,我看下日志......

CL 回复 aben1188 2019-03-07 11:21 :

只有一部分异常有日志。 可以从菜单里打开应用数据目录。 也可以看下windows自己的事件查看器里有没有什么消息。

aben1188 2019-03-07 11:37 :

windows事件查看器里没看到有关quicker的信息,但在quicker的日志文件中看到的内容全部都是下面这些: 
2019-03-06 17:05:55,266 [1] WARN Quicker.Utilities.IconHelper - 获取图标失败。此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 
System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 
在 System.Security.Cryptography.SHA1Managed..ctor() 
在 Quicker.Utilities.ImageCache.GetCacheFileName(String url) 
在 Quicker.Utilities.ImageCache.TryGetCache(String url) 
在 Quicker.Utilities.IconHelper.GetCachedImageSource(String url) 
2019-03-06 17:05:55,278 [1] WARN Quicker.Utilities.IconHelper - 获取图标失败。此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 
System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 
在 System.Security.Cryptography.SHA1Managed..ctor() 
在 Quicker.Utilities.ImageCache.GetCacheFileName(String url) 
在 Quicker.Utilities.ImageCache.TryGetCache(String url) 
在 Quicker.Utilities.IconHelper.GetCachedImageSource(String url) 
2019-03-06 17:05:55,278 [1] WARN Quicker.Utilities.IconHelper - 获取图标失败。此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 
System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 
在 System.Security.Cryptography.SHA1Managed..ctor() 
在 Quicker.Utilities.ImageCache.GetCacheFileName(String url) 
在 Quicker.Utilities.ImageCache.TryGetCache(String url) 
在 Quicker.Utilities.IconHelper.GetCachedImageSource(String url)

aben1188 回复 CL 2019-03-07 12:01 :

根据异常日志,该怎么解决问题呢?谢谢!

aben1188 回复 CL 2019-03-07 12:47 :

谢谢你的快速回复。我也找到了一些资料,还具体说了原因,如下:


根据错误信息在网上搜索了下,看到很多人都是说修改注册表解决,但是原因却不清楚。

注册表修改“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\Enabled”值为0就可以解决。


进一步查找相关资料,得知是与联邦信息处理标准 (FIPS,全称是Federal Information Processing Standard)相关。如果机器启用了FIPS策略(前面提到那个注册表项Enabled为1),那么此时调用MD5CryptoServiceProvider就会抛出Invalid Operation Exception异常。

MSDN中有相关说明:

从.NET Framework 2.0开始,实现加密算法类的创建被受控于计算机的配置。 如果计算机配置为算法需要符合 FIPS,并且类实现了一个与 FIPS 不兼容的算法,则任何创建该类的实例的尝试将引发异常。 构造函数引发 InvalidOperationException 异常,Create 方法引发TargetInvocationException 异常和内部 InvalidOperationException 异常。


如果应用程序运行在其配置需要符合 FIPS 的计算机上,并且应用程序使用与 FIPS 不兼容的算法,则您可使用配置文件中的元素防止公共语言运行时 (CLR) 强制实施 FIPS 兼容性。 此元素在 .NET Framework 2.0 版 Service Pack 1 中引进。


所以,还可以通过设置应用程序配置文件中<enforceFIPSPolicy>元素值为false解决:

 <configuration>

    <runtime>

        <enforceFIPSPolicy enabled="false"/>

    </runtime>

</configuration>


我按照上面引文所说,在程序配置文件中配置<enforceFIPSPolicy>元素值为false,重启quicker后图标能正常显示了(不过打开共享库鼠标依然会卡顿两三秒钟左右)。建议新版本在程序配置文件中配置<enforceFIPSPolicy>元素值为false,或者看能否换一个兼容FIPS的算法进行加密,或者加多一重判断:在使用原加密算法出现异常的情况下,再换一个兼容FIPS的算法进行加密。因为如果按你前面回复中所链接的文章所说直接禁用FIPS的话,不知道会不会引发其他软件的问题。
再次感谢!

CL 回复 aben1188 2019-03-07 12:51 :

好的,试下看看

回复内容
暂无回复
回复主贴