CleanMgr 无法再安装在服务器 2012 R2 上

Nic*_*ckC 10 windows-server-2012-r2

只是尝试安装 cleanmgr 并进行全新的 2012 R2 安装。像以前一样复制 CleanMgr.exe 和 CleanMgr.exe.mui,但在运行时出现错误:由于与 64 位版本的 Windows 不兼容,程序或功能 \?system32\cleanmgr.exe 无法启动或运行

小智 11

您需要通过安装该Desktop Experience功能来启用磁盘清理(请参阅在 Windows Server 2012 中启用磁盘清理实用程序)。命令行界面应该仍然可以通过C:\Windows\CleanMgr.exe可执行文件使用。

我回到我的实验室并尝试从 x86 和WOW64位更新中抓取CleanMgr.exe并认为可能会解决兼容性问题:CleanMgr.exe.mui

Copy-Item -Path C:\Windows\WinSxS\x86_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.3.9600.16384_en-us_f2763474b4405afa\cleanmgr.exe.mui -Destination C:\Windows\System32\en-US
Copy-Item -Path C:\Windows\WinSxS\wow64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.3.9600.16384_none_685740be65e399a2\cleanmgr.exe -Destination C:\Windows\System32
Run Code Online (Sandbox Code Playgroud)

结果……

CleanMgr.exe 不支持的 16 位应用程序

啊。前进的征程。我看到两个选项。您可以运行ProcMon并尝试跟踪 WOW64 子系统中的所有各种 DLL(也许通过在Desktop Experience一次性服务器上进行安装),如果这是您的问题,您可以尝试使用此方法删除windows.old目录,或者您可以按照 Microsoft 的尽管存在误导性建议,但官方支持并从桌面体验 Windows 功能安装它。


小智 9

我遇到了与 Keith 为 W2K12 R2 SP1 服务器描述的相同问题。我对这个问题的解决方案:

  1. 安装桌面体验功能。
  2. 然后你可以在 SystemRoot\System32\en-US\cleanmgr.exe.mui 和 SystemRoot\System32\cleanmgr.exe 中看到新的“cleanmgr”文件,它们比 Winsxs 文件夹中的文件大
  3. 将这些文件复制到另一个文件夹,例如 C:\
  4. 删除桌面体验功能,这将删除 system32 中的 cleanmgr 文件!
  5. 将 cleanmgr 文件从您的文件夹(步骤 3)复制到已知的 system32 位置(步骤 2)
  6. 现在您可以运行 cleanmgr.exe

我使用这个程序来制作 vmware 模板机器,所以我做了一次,所有其他未来的 w2k12r2 服务器都将安装 cleanmgr 文件


小智 5

直接从c:\windows\WinSxS目录复制,虽然曾经支持,但现在不再按原样工作。这似乎是 Windows Server 2012 R2 Update 1 中的更改

在一个快速查看cleanmgr.exe以十六进制编辑器二进制文件显示,C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.3.9600.17031_none_5e3588b0315d2219\cleanmgr.exe文件不再与所需的魔头“MZ ...”开头,而是开始与“DCN ......”而文件是比的扩大版小. 这就是为什么我们会看到上面的“不支持...”对话框的原因。

这似乎是KB 2821985改进 #2的直接结果- 添加了压缩未使用的二进制文件并分配可用磁盘空间以准备 Windows 以备将来更新的功能。

仍在试图弄清楚如何以编程方式提取/解压缩文件。:^(