web-dev-qa-db-fra.com

CleanMgr ne peut plus être installé sur le serveur 2012 R2

Je viens d'essayer d'installer cleanmgr et de travailler sur une nouvelle installation de 2012 R2. Copie CleanMgr.exe & CleanMgr.exe.mui dans le même sens que précédemment, mais lorsqu'il est exécuté, obtenez une erreur: le programme ou la fonctionnalité \? System32\cleanmgr.exe ne peut pas démarrer ou s'exécuter en raison d'une incompatibilité avec la version 64 bits de Windows

10
NickC

Vous devez activer le nettoyage de disque en installant leDesktop Experience (voir Activation de l'utilitaire de nettoyage de disque dans Windows Server 2012 ). L'interface de ligne de commande doit toujours être disponible via le C:\Windows\CleanMgr.exe exécutable.

Je suis retourné à mon laboratoire et j'ai essayé de saisir CleanMgr.exe et CleanMgr.exe.mui à partir des mises à jour x86 et WOW64 bit qui pourraient résoudre le problème de compatibilité:

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

Et les résultats ...

CleanMgr.exe Unsupported 16Bit Application

Ah. La marche du progrès. Je vois deux options. Vous pouvez obtenir ProcMon en cours d'exécution et essayer de retrouver toutes les différentes DLL du sous-système WOW64 (peut-être en faisant un Desktop Experience installer sur un serveur jetable), vous pouvez essayer cette méthode pour supprimer le windows.old répertoires si c'est ce qui vous fait mal ou vous pouvez suivre les recommandations de Microsoft officiellement prises en charge, bien que malavisées, et l'installer à partir de la fonctionnalité Windows de Desktop-Experience.

11
user62491

J'ai eu le même problème que Keith décrit pour le serveur W2K12 R2 SP1. Ma solution à ce problème:

  1. Installez la fonctionnalité d'expérience de bureau.
  2. Ensuite, vous pouvez voir dans SystemRoot\System32\en-US\cleanmgr.exe.mui et dans SystemRoot\System32\cleanmgr.exe les nouveaux fichiers "cleanmgr", qui sont plus gros que les fichiers du dossier Winsxs
  3. Copiez ces fichiers dans un autre dossier, par exemple C: \
  4. Supprimer la fonctionnalité d'expérience de bureau, cela supprimera les fichiers cleanmgr de system32!
  5. Copiez les fichiers cleanmgr de votre dossier (étape 3) vers les emplacements connus de system32 (étape 2)
  6. Vous pouvez maintenant exécuter cleanmgr.exe

J'utilise cette procédure pour créer des machines de modèle vmware, donc je l'ai fait une fois et tous les autres futurs serveurs w2k12r2 auront les fichiers cleanmgr déjà installés

9
Johnny

Copie directement depuis le c:\windows\WinSxS, bien qu'autrefois pris en charge, ne fonctionne plus tel quel. Cela semble être un changement dans Windows Server 2012 R2 Update 1

une vue rapide du cleanmgr.exe binaire dans un éditeur hexadécimal révèle que le C:\Windows\WinSxS\AMD64_Microsoft-windows-cleanmgr_31bf3856ad364e35_6.3.9600.17031_none_5e3588b0315d2219\cleanmgr.exe le fichier ne commence plus par l'en-tête magique requis "MZ ...", mais commence par "DCN ..." et le fichier est beaucoup plus petit que la version étendue. C'est pourquoi nous obtenons la boîte de dialogue "non prise en charge ..." ci-dessus.

Cela semble résulter directement de KB 2821985 amélioration # 2 - Ajoute une fonctionnalité qui compresse les fichiers binaires inutilisés et alloue de l'espace disque libre pour préparer Windows pour les futures mises à jour.

Toujours en train de comprendre comment extraire/décompresser les fichiers par programme. : ^ (

5
Keith S Garner
Copy-Item "C:\Windows\WinSxS\AMD64_Microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.3.9600.16384_en-us_4e94cff86c9dcc30\cleanmgr.exe.mui" -Destination "$env:SystemRoot\System32\en-US\cleanmgr.exe.mui" -Force
Copy-Item "C:\Windows\WinSxS\AMD64_Microsoft-windows-cleanmgr_31bf3856ad364e35_6.3.9600.16384_none_5e02966c3182d7a7\cleanmgr.exe" -Destination "$env:SystemRoot\System32\cleanmgr.exe" -Force

Je crois que c'est ce que vous recherchez.

Le commentaire de Nick était proche de cela, mais c'est un peu plus propre et utilise $ env plutôt que les variables% env% (PowerShell aime mieux $ env)

3
Eric Nemchik

Quelqu'un a aimablement fourni un fichier Zip contenant les fichiers requis qui, contrairement aux étapes ci-dessus (n'incluant pas l'installation des "déchets d'expérience de bureau), fonctionne réellement sur Windows Server 2012 R2 64 bits.

Vous pouvez en savoir plus sur la page de l'auteur et obtenir les liens de téléchargement vous-même. Il s'agit d'un fichier Zip que vous développez sur votre lecteur système et il place les fichiers là où vous en avez besoin. Il existe également un lien pour la version Windows 2008.

Tout à fait pourquoi nous devons prendre de telles mesures pour une chose aussi simple que le nettoyage du disque dur est un mystère pour moi.

MISE À JOUR: J'ai ouvert une demande vocale d'utilisateur Windows Server ici - si vous pensez qu'avoir un nettoyage de disque installé est utile, veuillez voter pour.

0
CarlR