微软自家Dism与PowerShell的妙用,释放Metro App冗余

1:删除Metro 系统自带的APP

我们大家都知道windows 8以上系统都自带APP,而且升级后那些自带的App并不会被删除掉,虽然我们可以手工删除,但是其实微软已经为我们提供了删除的方法了,那就是Dism

 

OK 看命令

  1. Dism /online /Get-ProvisionedAppxPackages

复制代码

 

<ignore_js_op>

1.jpg

 

 

 

 

然后我们输入这个命令

  1. Dism /online /Remove-ProvisionedAppxPackage /PackageName:XXXXXXXXXXXXXXXXX

复制代码

其中XXXXXXXXXXXXXXX就是你看到的程序包名称,然后就可以删除掉这个自带应用了(注意:只有你所有用户都没有改应用时才会吧文件删除,所以你使用这个命令时你必须确保没有用户需要这个程序包了,否则仅仅是解除了私有安装包,但是文件并未删除)

 

当然如果你觉得这样太复杂你可以使用我的Dism管理器(你可以理解为图形化的Dism都是基于Dism API开发的)

http://bbs.pcbeta.com/viewthread-1423429-1-1.html

 

 

2:在你升级Metro App后时候,系统有时候抽风了并不会去删除旧的Metro App问题解决

这个需要使用PowerShell,由于我的电脑已经删除了PowerShell,所以我就不能给大家演示了命令了

微软MSDN是这样说的

  1. PS C:\> Get-AppxPackage -AllUsers

复制代码

 

这个命令就可以获取你电脑上安装的所有Metro App

虽然我没有PowerShell,但是我可以使用API 把所有的Metro App的安装信息读取出来给大家展示下

<ignore_js_op>

1.jpg

 

 

 

然后你可以吧你不需要的App给删除掉

删除命令是

  1. PS C:\> Remove-AppxPackage   XXXXXXX

复制代码

 

XXXXX是程序包的名称

但是你要注意,有几个C:\Windows的几个不要删除,还有几个运行库也不要删除

 

更多详细的用法可以参考微软MSDN,有一定基础的孩子可以去研究研究

http://technet.microsoft.com/en-us/library/hh856048.aspx

 

另外,这个特性将在下一个版本  Dism管理器中实现,程序将会使用Api直接提供清理/管理 Metro的支持Metro App的更新冗余清理那也可以顺手支持。(●’◡’●)

 

目前我正在将API   封装到DLL里,以便实现系统的统一化(主要因为管理Metro App的API需要使用C++/CX标准,而且使用了新的winmd,这不利于程序在Win7的电脑上运行)

敬请期待~

身为一个强迫症晚期患者,不求治疗,只求完美!!

来源URL:http://bbs.pcbeta.com/viewthread-1449832-1-2.html