windows 11 安装缓存默认占满c盘,需通过三步重定向:1. 设置msiinstaller_temp环境变量并重启msiserver服务;2. 用符号链接或注册表将packagecache迁至d盘;3. 修改系统级temp/tmp变量并重新登录。

Windows 11 默认将软件安装过程中的临时缓存文件(如 MSI 解包内容、Store 应用下载中转数据、系统组件预提取文件)写入 C 盘的隐藏系统路径,导致 C 盘空间在安装阶段被快速挤占,尤其在安装大型应用或批量部署时极易触发磁盘警告。这不是用户可直接配置的“安装路径”,而是由系统服务与安装引擎隐式决定的运行时缓存位置,需通过修改底层环境变量与服务配置实现重定向。
强制重定向 Windows Installer 临时缓存(MSI 安装包核心路径)
绝大多数 .msi 安装程序依赖 Windows Installer 服务(msiserver),其解压与校验阶段默认使用 %TEMP% 或 %SystemRoot%\Temp,但真正影响缓存体积的是 INSTALLDIR 环境变量未生效时的 fallback 路径。必须手动干预:
第一步:以管理员身份打开 PowerShell(非 CMD)。
第二步:执行命令设置系统级环境变量:[System.Environment]::SetEnvironmentVariable("MSIINSTALLER_TEMP", "D:\WinInstallerCache", "Machine")。
第三步:创建对应目录并赋予完全控制权限:mkdir D:\WinInstallerCache; icacls D:\WinInstallerCache /grant "NT AUTHORITY\SYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F"。
第四步:重启 Windows Installer 服务:Restart-Service msiserver -Force。这一步不可跳过,否则新变量不加载;【若跳过,后续所有 MSI 安装仍会往 C:\Windows\Temp 写入数百 MB 临时文件】。
拦截 Microsoft Store 应用下载缓存(WindowsApps 前置缓存)
Store 应用在“下载中”状态时,实际已将完整包解压至隐藏缓存区,位置固定为 %ProgramData%\Packages\PackageCache,且无法通过设置界面更改。唯一安全重定向方式是符号链接:
方法一:迁移并挂载 PackageCache 目录
1. 打开文件资源管理器,导航至 C:\ProgramData\Packages\PackageCache(需启用显示隐藏文件)。
2. 将整个 PackageCache 文件夹剪切,粘贴到 D 盘根目录下,路径为 D:\PackageCache。
3. 以管理员身份运行命令提示符,执行:mklink /J "C:\ProgramData\Packages\PackageCache" "D:\PackageCache"。
4. 回车后显示“为 C:\...\PackageCache 创建的联结”,即表示成功。此后所有 Store 下载缓存将写入 D 盘。
方法二:直接修改注册表指向(仅适用于 Windows 11 22H2 及以上版本)
1. 按 Win + R 输入 regedit → 回车,以管理员身份运行。
2. 导航至 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsStore(若不存在,请右键“WindowsStore”→ 新建 → 项,命名为 Policies)。
3. 在右侧空白处右键 → 新建 → DWORD (32 位) 值,命名为 UseCustomPackageCachePath,数值数据设为 1。
4. 再新建一个字符串值,命名为 CustomPackageCachePath,数值数据填入 D:\PackageCache(注意末尾不加反斜杠)。
5. 重启电脑,该策略立即生效。此注册表项优先级高于符号链接,且无需手动迁移原始数据。
覆盖系统级通用临时目录(影响所有安装器的 %TEMP% 行为)
部分安装程序(尤其是老旧 .exe 封装器)根本不读取 MSI 或 Store 配置,而是直接调用 GetTempPath() API,最终落点为当前用户的 %TEMP% 或系统级 %WINDIR%\Temp。统一重定向可一劳永逸:
1. 打开“系统属性”→ “高级”选项卡 → “环境变量”按钮。
2. 在“系统变量”区域,找到变量名为 TEMP 和 TMP 的两项。
3. 分别双击,将“变量值”全部改为 D:\Temp(不要用中文路径、空格或长路径名)。
4. 点击“确定”保存后,【必须注销当前用户再重新登录,而非仅重启资源管理器】,否则新路径对安装进程无效。
5. 手动创建 D:\Temp 文件夹,并右键 → 属性 → 安全 → 编辑 → 添加“Everyone”,勾选“完全控制”,确保所有安装服务可写入。











