Windows 10更新 virtualbox(应用)不兼容问题(isn‘t compatible with Windows 10)
virtualbox以及其他应用不兼容问题
参考 https://answers.microsoft.com/en-us/windows/forum/windows_10-update-winpc/blank-uninstall-this-app-now-because-it-isnt/5799ff77-ae7e-4947-abf7-8a7b19769a5f
一. 显示系统隐藏文件
打开“此电脑”,点击窗口上方的“查看”,勾选“隐藏的项目”以显示隐藏文件和文件夹。
二. 寻找不兼容应用路径
- 打开
C:\$WINDOWS.~BT\
隐藏文件夹 - 进入
Sources\Panther\
子文件夹。并且按日期排序文件。 - 寻找以
_APPRAISER_HumanReadable.xml
结尾的文件。(也可以直接通过文件搜索,搜索相关文件,推荐使用Everything) - 可能会有多个以
_APPRAISER_HumanReadable.xml
。优先尝试最新日期的文件。 - 打开文件(记事本,vscode,等等都可以)
- 搜索字符串:
<Property Name="DT_ANY_FMC_BlockingApplication" Value="TRUE"
, 这个字符串应该位于<PropertyList Type="DecisionMaker">
部分之中。 - 向上寻找
<PropertyList Type="Inventory">
部分。<PropertyList Type="Inventory">
与上面的<PropertyList Type="DecisionMaker">
都应该在同一个<Asset>
部分之中。 - 在
<PropertyList Type="Inventory">
里,有一个叫名叫"LowerCaseLongPath"
的属性。其中的Value
的值就是不兼容应用的所在位置。
<!-- 大致如下 -->
<Asset>
<PropertyList Type="Inventory"> <!-- 3. 找到 <PropertyList Type="Inventory">,在其中查找"LowerCaseLongPath" -->
<Property Name="blabla" ... />
...
<Property Name="LowerCaseLongPath" Value="PathToTheApp" /> <!-- 4. 找到 "LowerCaseLongPath",Value的值为有冲突的文件路径 -->
...
<Property Name="blabla" ... />
</PropertyList>
<PropertyList Type="blabla">
<Property Name="blabla" ... />
...
<Property Name="blabla" ... />
</PropertyList>
<PropertyList Type="DecisionMaker"> <!-- 2. 找到 <PropertyList Type="DecisionMaker">,再次向上查找 -->
<Property Name="blabla" ... />
...
<Property Name="DT_ANY_FMC_BlockingApplication" Value="TRUE" ... /> <!-- 1. 搜索到字符串,然后向上查找 -->
...
<Property Name="blabla" ... />
</PropertyList>
<!-- ...... -->
</Asset>
三. 拆卸不兼容应用
- 通过文件路径,向上级目录查询文件所属的应用。(可直接上网搜索文件夹名称来获取应用名称)
- 根据自己的需求在系统中删除此应用。(设置-应用-[搜索应用]-右键点击应用-[点击]拆卸)
- 如果不想删除应用,也可以先备份virtualbox 文件,然后将其删除。在系统更新完毕之后拷贝备份到原目录。