详见http://blogs.msdn.com/b/heaths/archive/2014/02/11/how-to-relocate-the-package-cache.aspx

(注意:若Windows自动更新之后导致Windows installer文件路径找不到,可以在磁盘管理中,重新把installer的虚拟盘映射到C:\Windows installer)

在CMD打开diskpart工具

diskpart

创建一个最大为16G空间的虚拟磁盘

create vdisk file="E:\VHD\Cache.vhd" type=expandable maximum=16384

连接并创建分区

select vdisk file="E:\VHD\Cache.vhd"

attach vdisk

create partition primary

格式化分区,卷名Package Cache,盘符P

format fs=ntfs label="Package Cache" quick

assign letter=P

exit

拷贝Package Cache到刚创建的虚拟磁盘P中

robocopy "%ProgramData%\Package Cache" P:\ /e /copyall /move /zb

...等待.....

mkdir "%ProgramData%\Package Cache"

echo y | cacls foo /s:"O:BAG:DUD:PAI(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIID;FRFX;;;BU)(A;OICIID;FRFX;;;WD)"

查看P盘的GUID

mountvol

并将Package Cache目录指向

mountvol "%ProgramData%\Package Cache" \\?\Volume{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\

卸载盘符P

diskpart

select vdisk file="E:\VHD\Cache.vhd"

select partition 1

remove letter=P

exit

开机自动挂载虚拟磁盘,并删除盘符

echo select vdisk file=E:\VHD\Cache.vhd > E:\VHD\Cache.txt

echo attach vdisk >> E:\VHD\Cache.txt

schtasks /create /ru system /sc onstart /rl highest /tn "Attach Package Cache" /tr "%SystemRoot%\System32\diskpart.exe /s E:\VHD\Cache.txt"

同以此方法,创建C:\Windows\Installer的虚拟磁盘

在CMD打开diskpart工具

diskpart

创建一个最大为16G空间的虚拟磁盘

create vdisk file="E:\VHD\Installer.vhd" type=expandable maximum=16384

连接并创建分区

select vdisk file="E:\VHD\Installer.vhd"

attach vdisk

create partition primary

格式化分区,卷名Package Cache,盘符Q

format fs=ntfs label="Installer" quick

assign letter=Q

exit

拷贝Package Cache到刚创建的虚拟磁盘Q中

robocopy "C:\Windows\Installer" Q:\ /e /copyall /move /zb

...等待.....

mkdir "C:\Windows\Installer"

echo y | cacls foo /s:"O:BAG:DUD:PAI(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIID;FRFX;;;BU)(A;OICIID;FRFX;;;WD)"

查看P盘的GUID

mountvol

并将Installer目录指向

mountvol "C:\Windows\Installer" \\?\Volume{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\

卸载盘符P

diskpart

select vdisk file="E:\VHD\Installer.vhd"

select partition 1

remove letter=Q

exit

开机自动挂载虚拟磁盘,并删除盘符

echo select vdisk file=E:\VHD\Installer.vhd > E:\VHD\Installer.txt

echo attach vdisk >> E:\VHD\Installer.txt

schtasks /create /ru system /sc onstart /rl highest /tn "Attach Installer" /tr "%SystemRoot%\System32\diskpart.exe /s E:\VHD\Installer.txt"

【转】转移Package Cache文件夹,转移Windows Installer文件夹的更多相关文章

  1. 关于SQL Server 安装程序在运行 Windows Installer 文件时遇到错误

    前几日安装sql server2008r2 的时候碰到这个问题: 出现以下错误: SQL Server 安装程序在运行 Windows Installer 文件时遇到错误. Windows Insta ...

  2. Wix学习整理(3)——关于Windows Installer和MSI

    原文:Wix学习整理(3)--关于Windows Installer和MSI 关于Windows Installer Windows Installer是微软Windows操作系统自带的一个软件安装和 ...

  3. [转]Windows7文件夹转移清理臃肿的C盘

    当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...

  4. 将Temporary文件夹里的Logo文件转移到Logo文件夹

    /// <summary> /// 将Temporary文件夹里的Logo文件转移到Logo文件夹 /// </summary> /// <param name=&quo ...

  5. 移动 ProgramData\Package Cache 文件夹

    装完vs2017 发现C盘快木有空间了… 瞅瞅C盘下有啥能删的好释放下空间 就找到了 Package Cache 文件夹,占用空间接近15G… 查查这个文件夹还不建议删除… (http://super ...

  6. MFC对文件文件夹转移、删除、重命名、复制【转】

    HFileOperation()函数主要对文件夹有四种操作:复制,删除,移动,重命名. 写了四个函数.可以很好的对文件夹进行操作. //函数名:MoveFolder //参数:lpszFromPath ...

  7. 改变 Windows 用户文件夹默认位置

    https://social.microsoft.com/Forums/zh-CN/b6602d50-1a75-42d2-90bd-3dc6c2c82147/programdata?forum=win ...

  8. mklink 文件夹链接 windows系统

    MS文档 https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink 命令参数 mkl ...

  9. 重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件

    原文:重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件 [源码下载] 重新想象 Windows 8 Store Apps ( ...

随机推荐

  1. 转 python 之 分割参数getopt

    python 之 分割参数getopt os下有个方法walk,非常的好用,用来生成一个generator.每次可以得到一个三元tupple,其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是 ...

  2. c#类的初始化顺序

    本文转载:http://www.cnblogs.com/ybhcolin/archive/2010/09/24/1834219.html c#类的初始化顺序 类在初始化时的执行顺序,依次如下: 1: ...

  3. 怎样在win7下装ubuntu(硬盘版安装)

    1)首先还是分区,在计算机上右键--管理--磁盘管理 装Ubuntu分配的硬盘大小最好是(20G以上)不要太小,这里请注意,ubuntu和windows文件系统全然不同,所以我们划好要给ubuntu的 ...

  4. 统计功能和子对象的大小信息查询Bug

    I hava below two statement sql: 0. not in subquery select a.schemaname, pg_size_pretty(pg_total_rela ...

  5. IE无法打开internet网站已终止操作的解决的方法

    用IE内核浏览器的朋友,或许不经意间会碰到这样滴问题: 打开某个网页时,浏览器“嘣”跳出一个提示框“Internet Explorer无法打开Internet 站点...已终止操作”.而大多数情况下该 ...

  6. oracle14 复杂数据类型

    复合类型-pl/sql表类型 相当于高级语言中的数组,但是需要注意的是在高级语言中数组的下标不能为负数,而pl/sql是可以为负数的,并且表元素的下标没有限制.实例如下: Sql代码 .declare ...

  7. android智能天气闹钟应用开发经过

    开发这个应用的初衷是这样产生滴,和我一块租房的同学每天早上都是骑单车上班,所以手机闹钟就会定一个刚好适合骑车的起床时间点.但是呢,有一天早上起床以后发现外面下挺大雨,肯定是不能骑车去上班了,于是就只好 ...

  8. 整理收藏一份PHP高级工程师的笔试…

    注:本文转自 http://www.icultivator.com/p/5535.html 注:本文转自 http://www.yiichina.com/tutorial/57 整理了一份PHP高级工 ...

  9. git warning: LF will be replaced by CRLF in 解决办法

    在使用git的时候,每次执行 #git add "目录" git add . 都会提示这样一个警告消息: warning: LF will be replaced by CRLF  ...

  10. List和ArrayList,LinkList的区别

    接口 List<E> 是一个接口: ArrayList<E> 是一个类:是一个实现了List接口的类,因此可以List里面定义的所有的方法都实现了. 1.ArrayList是实 ...