Windows 11 安装软件时临时文件默认写入C盘,可通过四步重定向:①修改系统环境变量TEMP/TMP至D:Temp并重启;②设置MSIINSTALLER_TEMP并重启msiserver服务;③用符号链接重定向PackageCache;④用符号链接重定向INetCache;⑤对Inno/NSIS安装器需临时注入TMP/TEMP变量。

Windows 11 安装软件时频繁往 C 盘写入临时解压包、MSI 缓存、Store 下载中转文件,哪怕只装一个大型应用,C 盘也可能被挤掉 2–5GB 空间,而这些文件本可安全挪到 D 盘——关键不是改“安装到哪”,而是改“安装过程中临时放哪”。
全局修改系统级临时缓存路径(TEMP/TMP)
这一步影响所有遵循 Windows 标准环境变量的安装行为,包括 Store 应用、PowerShell 模块、.NET 工具链、绝大多数 MSI 安装器。
第一步:右键“此电脑”→“属性”→左侧“高级系统设置”→“高级”选项卡→点击“环境变量”按钮。
第二步:在“系统变量”区域,找到 TEMP 和 TMP 两项,双击分别编辑。
第三步:将两者“变量值”均改为 【D:Temp】(路径必须存在、不含中文/空格/全角字符;若 D:Temp 不存在,请先手动创建)。
第四步:点击“确定”逐级关闭对话框,【必须重启电脑】,否则新启动的进程仍读取旧缓存路径。
强制重定向 Windows Installer 服务专用缓存(MSIINSTALLER_TEMP)
普通 TEMP 变量对 MSI 安装包效果有限,真正吃空间的是 msiserver 服务内部使用的临时解包区,它默认硬写 C:WindowsTemp,必须单独设变量并重启服务。
方法一:PowerShell 命令行操作
以管理员身份打开 PowerShell,依次执行:
[System.Environment]::SetEnvironmentVariable("MSIINSTALLER_TEMP", "D:WinInstallerCache", "Machine")
mkdir D:WinInstallerCache
icacls D:WinInstallerCache /grant "NT AUTHORITYSYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F"
Restart-Service msiserver -Force
【若跳过最后一步重启服务,所有 MSI 安装仍将向 C:WindowsTemp 写入数百 MB 临时文件】
拦截 Microsoft Store 应用前置下载缓存(PackageCache)
Store 应用在“下载中”状态时,已把完整安装包解压进 C:ProgramDataPackagesPackageCache,这个路径不随 TEMP 变量改变,唯一安全重定向方式是符号链接。
① 打开文件资源管理器,导航至 C:ProgramDataPackagesPackageCache(需启用“显示隐藏的项目”)。
② 将整个 PackageCache 文件夹剪切,粘贴到 D 盘根目录下,路径为 D:PackageCache。
③ 以管理员身份运行命令提示符,执行:mklink /J "C:ProgramDataPackagesPackageCache" "D:PackageCache"。
④ 回车后若显示“为 C:\PackageCache 创建的联结”,即表示成功。此后所有 Store 下载缓存直接落盘 D 盘。
重定向 Microsoft Store 本地缓存目录(INetCache)
该路径控制 Store 安装包原始下载文件(.appxbundle/.msixbundle)的存放位置,不影响已安装程序,但能清理数 GB 占用。
方法一:清空当前缓存并重建符号链接
按下 Win + R,输入 wsreset.exe 并回车 → 等待黑窗口闪退 → 关闭所有 Store 相关进程(任务管理器中结束 Microsoft Store、WSService、Windows Update Medic Service)→ 在 D 盘新建文件夹 D:WSStoreCache → 以管理员身份运行 PowerShell → 执行:mklink /J "C:Users【用户名】AppDataLocalPackagesMicrosoft.WindowsStore_8wekyb3d8bbweACINetCache" "D:WSStoreCache"。
注意:【用户名】需替换为你当前登录账户名,例如 C:UsersJohn…;若提示“拒绝访问”,说明未以管理员身份运行 PowerShell。
第三方安装器运行时临时覆盖缓存路径
Inno Setup、NSIS 等打包器通常硬编码使用 %USERPROFILE%AppDataLocalTemp,完全无视系统 TEMP 设置,必须在启动安装器前临时注入变量。
以管理员身份运行命令提示符,执行:set TMP=D:Temp && set TEMP=D:Temp && start "" "D:Downloadsetup.exe"。
这条命令仅对当前终端会话生效,确保该安装器全程使用 D 盘缓存路径,安装完成后自动失效,不影响其他程序。


















