L’installation de Veeam Backup & Replication échoue sur Windows (erreurs .NET/Windows Update, clés de Registre incohérentes) ? Voici une procédure terrain, pas‑à‑pas, avec scripts PowerShell, checklists et un focus Kerberos/SPN après l’installation.
Impossible d’installer Veeam Backup & Replication sur le serveur Windows
Problème posé
- Échec de l’installeur Veeam.
- Windows Update n’arrive pas à ajouter le composant .NET Framework (erreur pendant l’installation).
- Le support Veeam signale des clés incohérentes dans le Registre.
Pourquoi ce trio d’erreurs apparaît souvent
- Magasin de composants (CBS) corrompu : Windows ne parvient plus à déployer les fonctionnalités on-demand (dont .NET 3.5) ni à finaliser certains correctifs cumulés.
- Conflits de stratégie WSUS/GPO : un serveur WSUS imposé par une GPO bloque l’accès à la source officielle des composants facultatifs, d’où le fameux code 0x800F081F lors de l’activation de
NetFx3
. - .NET partiellement installé : des vestiges d’une installation précédente (ou d’un rollback) laissent des clés de Registre bancales que l’installeur Veeam interprète mal.
- Redémarrage en attente : Windows refuse d’enchaîner certaines opérations tant que la file PendingFileRenameOperations n’est pas traitée.
- Interférence antivirus/EDR : analyse en temps réel ou blocage comportemental pendant l’extraction du setup.
Ce qu’il faut préparer avant d’agir
- Connexion avec un compte administrateur local (ou session élevée).
- Instantané/sauvegarde de la VM si possible.
- Point de restauration ou export du Registre avant toute modification.
- Accès au média d’installation Windows correspondant (utile pour l’activation hors ligne de .NET 3.5 via
\sources\sxs
).
Solutions mises en œuvre et validées (parcours rapide)
- Mettre Windows à jour
Paramètres › Windows Update › Rechercher des mises à jour et installer tout correctif en attente. - Installer manuellement la dernière version du .NET Framework
Télécharger le runtime depuis le site officiel Microsoft et l’exécuter en tant qu’administrateur. - Contrôler l’intégrité du système
Ouvrir Invite de commandes (admin) →sfc /scannow
→ redémarrer si des réparations sont faites. - Créer/corriger les clés de Registre relevées par Veeam
Toujours exporter la branche avant, puis ajouter la clé manquante. Après cette étape, l’installation Veeam aboutit. - Redémarrer et vérifier l’absence de redémarrage en attente.
- Désactiver temporairement l’antivirus si l’installeur reste bloqué, puis le réactiver immédiatement après.
Procédure détaillée et scripts prêts à l’emploi
Mettre Windows à jour proprement
Commencez par assainir la chaîne Windows Update : services démarrés, cache réinitialisé au besoin, puis recherche de mises à jour.
Vérifier et démarrer les services Windows Update (PowerShell)
Get-Service wuauserv,bits,cryptsvc | Format-Table -Auto
Start-Service wuauserv
Start-Service bits
Start-Service cryptsvc
Réinitialiser les composants Windows Update (Invite de commandes admin)
net stop wuauserv
net stop bits
net stop cryptsvc
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start cryptsvc
net start bits
net start wuauserv
Désactiver temporairement WSUS/GPO imposant UseWUServer (à rebasculer ensuite)
Lorsque l’activation de composants facultatifs échoue (ex. NetFx3
), un WSUS peut bloquer la source. Basculez provisoirement sur Windows Update public :
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" ^
/v UseWUServer /t REG_DWORD /d 0 /f
net stop wuauserv & net start wuauserv
Après installation réussie, rétablissez la valeur attendue par vos GPO.
Installer manuellement le .NET Framework requis
Veeam requiert .NET Framework 4.x pour la plupart des rôles. Sur Windows Server, certains environnements exigent aussi la fonctionnalité .NET 3.5 (NetFx3
) pour des dépendances historiques.
Vérifier la présence de .NET 4.x
Contrôle par le Registre
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Install
La présence d’un Install=1
avec une valeur Release
non nulle indique .NET 4.x installé. Ne truquez jamais ces valeurs : installez/ réparez .NET via l’installeur officiel.
Contrôle côté .NET moderne (si vous utilisez aussi .NET “Core”)
dotnet --info
Installer ou réparer .NET 4.x
Exécutez le runtime/desktop offline en administrateur (x64 la plupart du temps) :
dotnetfx48_full_installer.exe /passive /norestart
Adaptez le nom du fichier à la version téléchargée (4.8, 4.8.1, etc.). En cas d’échec, consultez C:\Windows\Logs\CBS\CBS.log
et %LOCALAPPDATA%\Temp\*.log
pour le détail.
Activer .NET 3.5 (si une dépendance le réclame)
Option 1 : via Windows Features (GUI). Option 2 : via DISM, en pointant sur la source \sources\sxs
du média correspondant à votre build :
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All ^
/LimitAccess /Source:D:\sources\sxs
Si votre serveur est en mode Core, vous pouvez aussi utiliser :
Install-WindowsFeature NET-Framework-Features -Source D:\sources\sxs
Contrôler et réparer l’intégrité du système
Quand Windows présente des symptômes d’échec d’installation répétés, réparez le magasin de composants (CBS) et les fichiers système.
DISM + SFC (Invite de commandes admin)
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Redémarrez si SFC indique des corrections effectuées.
Lire les journaux utiles
C:\Windows\Logs\CBS\CBS.log
(DISM/SFC)C:\Windows\WindowsUpdate.log
(si reconstruit, viaGet-WindowsUpdateLog
)C:\ProgramData\Veeam\Setup\Logs
(journaux d’installation Veeam)
Créer/corriger les clés de Registre signalées par Veeam
Important : n’éditez pas arbitrairement le Registre. Ne créez que la ou les clés explicitement demandées par le support Veeam et seulement après export de la branche concernée (Regedit › Fichier › Exporter).
Exemple de sauvegarde et création d’une clé manquante (générique, à adapter avec la clé communiquée par le support) :
reg export "HKLM\SOFTWARE\Veeam" C:\Temp\backup_veeam.reg
reg add "HKLM\SOFTWARE\Veeam\Veeam Backup and Replication" /v ExampleFlag /t REG_DWORD /d 1 /f
Une fois la clé créée/corrigée, relancez l’installeur. Dans de nombreux cas, c’est l’élément qui débloque la détection de prérequis.
Redémarrer et prouver qu’aucun redémarrage n’est en attente
Avant de relancer Veeam, éliminez tout redémarrage en attente :
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations
Snippet PowerShell pour un statut lisible
$paths = @(
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending',
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired'
)
$pending = $false
foreach ($p in $paths) {
if (Test-Path $p) { Write-Host "En attente: $p"; $pending = $true }
}
try {
$pf = Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' `
-Name PendingFileRenameOperations -ErrorAction Stop
if ($pf.PendingFileRenameOperations) { Write-Host "En attente: PendingFileRenameOperations"; $pending = $true }
} catch {}
if (-not $pending) { Write-Host "Aucun redémarrage en attente." }
Désactiver temporairement l’antivirus/EDR
Si l’installeur reste figé, coupez provisoirement l’analyse en temps réel (selon procédure interne) ou ajoutez des exclusions le temps de l’installation :
- Dossiers Veeam :
C:\Program Files\Veeam\*
,C:\ProgramData\Veeam\*
,%TEMP%\Veeam*
- Processus de setup :
VeeamSetup.exe
,VBRSetup.exe
(noms susceptibles de varier selon la version)
Réactivez immédiatement après l’installation.
Résultat attendu
Dans la majorité des cas, Veeam Backup & Replication s’installe et fonctionne correctement après l’application des points 1–4 : Windows à jour, .NET installé/réparé, système intègre (DISM/SFC) et clés de Registre corrigées.
Vérifications de base supplémentaires (gain de temps)
Contrôle | Commande/Action | Pourquoi c’est utile |
---|---|---|
Espace disque | Get-PSDrive C | Select Used,Free | Évite les échecs silencieux lors de l’extraction des binaires. |
UAC/Élévation | Lancer l’installeur en tant qu’administrateur | Certains composants écrivent dans des emplacements protégés. |
TLS moderne | Activer TLS 1.2 pour .NET si politique héritée restrictive | Empêche des erreurs réseau pendant le téléchargement de dépendances. |
Serveur en mode Core | Utiliser sconfig pour Windows Update | Interface minimale : veillez à la source \sources\sxs pour .NET 3.5. |
Scripts prêts à copier-coller
Vérification “tout‑en‑un” des prérequis côté Windows
# Exécuter en PowerShell ISE/Terminal en tant qu'Administrateur
Write-Host "=== Services Windows Update ==="
Get-Service wuauserv,bits,cryptsvc | Select Name,Status | Format-Table -Auto
Write-Host "`n=== .NET 4.x (Registre) ==="
$dotnet = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" -ErrorAction SilentlyContinue
if ($dotnet) { $dotnet | Select Install,Release }
else { Write-Host "Clé .NET v4\Full introuvable" }
Write-Host "`n=== Redémarrage en attente ==="
$pending = @()
if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending'){ $pending += 'CBS' }
if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired'){ $pending += 'WindowsUpdate' }
try {
$pf = Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' -Name PendingFileRenameOperations -ErrorAction Stop
if ($pf.PendingFileRenameOperations) { $pending += 'PendingFileRenameOperations' }
} catch {}
if ($pending.Count) { "En attente: $($pending -join ', ')" } else { "Aucun" }
Activer .NET 3.5 en environnement WSUS (source locale)
# Adaptez la lettre du média d'installation (D:)
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
Réparer le magasin de composants puis les fichiers système
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Problème connexe : authentification Kerberos / message d’erreur SPN
Contexte : une fois Veeam installé, le support mentionne un échec d’authentification Kerberos dû à un SPN incorrect.
Statut : sujet distinct de l’installation — ouvrez un ticket dédié pour éviter les confusions.
Pistes rapides si vous décidez d’enquêter
Étape | Détails | Commandes utiles |
---|---|---|
Vérifier l’heure | Synchronisation NTP entre clients et DC ; dérive < 5 min. | w32tm /query /status • w32tm /resync /nowait |
Lister les SPN | Comparer aux valeurs attendues pour le compte de service. | setspn -L <Compte‑Service> • setspn -Q HTTP/<FQDN> • setspn -X (doublons) |
Corriger un SPN | Ajoutez le SPN correct sur l’objet qui exécute le service (compte utilisateur ou compte ordinateur). | setspn -S HTTP/<FQDN> <Domaine\Compte‑Service> |
Rafraîchir caches | Attendre la réplication AD, purger le cache Kerberos côté machine. | klist purge (client) • relancer le service concerné |
Consulter les journaux | Événements d’échec de ticket côté DC. | Observateur d’événements › Sécurité › ID 4769 |
Bonnes pratiques Kerberos utiles à Veeam
- SPN unique : un SPN ne doit exister que sur un seul objet (évitez les doublons
setspn -X
). - Nom utilisé = SPN déclaré : si Veeam cible FQDN, le SPN doit être déclaré pour ce FQDN (plus éventuellement le NetBIOS selon les usages).
- Type de SPN adapté :
HTTP/<FQDN>
pour les interfaces web (ex. Enterprise Manager).MSSQLSvc/<FQDN:Port>
si vous utilisez SQL Server (instances Veeam plus anciennes ou externes).HOST
/CIFS
selon les accès SMB/WMI, si Kerberos est exigé.
- Compte correct : déclarez le SPN sur le compte qui exécute le service (compte utilisateur gMSA/service—ou ordinateur si c’est Local System/Network Service et authentification par le compte machine).
- Éviter les CNAME non mappés : si vous utilisez un alias DNS, pensez aux SPN correspondants ou au paramètre usePrincipalName selon le service.
FAQ et erreurs fréquentes (.NET et installation)
Erreur 0x800F081F pendant l’activation de .NET 3.5
La source des fonctionnalités à la demande est introuvable. Utilisez le média d’installation correspondant à la même édition/build et pointez \sources\sxs
via DISM avec /LimitAccess
. Désactivez temporairement WSUS (UseWUServer=0
) si nécessaire, puis rétablissez la GPO.
Erreur 0x80070643 ou “fatale” lors du setup .NET 4.x
Installez en mode offline (/passive /norestart
), puis exécutez DISM /RestoreHealth
et sfc /scannow
. Vérifiez aussi qu’aucun redémarrage n’est en attente. Les journaux CBS et du setup .NET donnent les détails.
.NET semble installé mais Veeam le réclame quand même
Les clés de détection peuvent être altérées. Ne les forcez pas à la main : réinstallez .NET depuis l’installeur officiel. Si le support Veeam vous demande une clé spécifique (non liée à la détection .NET), exportez la branche, créez la clé, puis relancez.
L’installeur est lent ou se fige
Excluez temporairement les dossiers Veeam et %TEMP%
de l’antivirus/EDR, coupez les « analyseurs » comportementaux le temps du setup, vérifiez l’I/O disque et l’espace libre (au moins plusieurs Go pour l’extraction).
Bonnes pratiques pour éviter la récidive
- Maintenir un “baseline” Windows : correctifs cumulés mensuels installés, redémarrages réguliers, sauvegardes système.
- Conserver un ISO/média aligné sur la build du serveur pour activer
NetFx3
hors ligne. - Documenter les GPO impactant Windows Update/WSUS et .NET pour pouvoir basculer proprement en cas de besoin.
- Standardiser un script d’amorçage (DISM/SFC/pending reboot check) avant toute installation applicative critique.
- Segmenter les sujets : installation Veeam d’un côté, Kerberos/SPN de l’autre, pour des tickets clairs et des délais de résolution plus courts.
Journalisation et collecte de preuves en cas d’escalade
- Logs Veeam d’installation :
C:\ProgramData\Veeam\Setup\Logs
(compacter et joindre au ticket). - Logs Windows Update / CBS :
C:\Windows\Logs\CBS\CBS.log
,Get-WindowsUpdateLog
si nécessaire. - Export Registre ciblé avant/après correction des clés signalées par Veeam (
.reg
joint au ticket). - Capture du statut des services Update et du résultat DISM/SFC (sorties texte de vos commandes).
Résumé actionnable
- Mettre Windows à jour et remettre d’équerre Windows Update (services + cache).
- Installer/réparer .NET 4.x, activer .NET 3.5 via
\sources\sxs
si requis. - Réparer Windows avec DISM puis SFC.
- Appliquer la(s) clé(s) de Registre demandée(s) par le support Veeam (avec sauvegarde préalable).
- Redémarrer et vérifier l’absence de redémarrages en attente.
- Retenter l’installation en neutralisant temporairement l’antivirus/EDR.
Pour Kerberos/SPN après installation : vérifier l’heure, lister/corriger les SPN (-L
, -Q
, -X
, -S
), purger le cache klist
, surveiller l’ID 4769 côté DC.
Information complémentaire utile
- Sauvegarde du Registre : toujours exporter la clé concernée ou créer un point de restauration système avant modification.
- Outils diagnostics .NET :
dotnet --info
pour .NET moderne, contrôle Registre pour .NET Framework 4.x. - Mises à jour cumulatives Windows : installées en dernier ressort, elles corrigent souvent des problèmes de SPN/Kerberos et d’activation de fonctionnalités.
Exemple de déroulé complet réussi
- Réinitialisation Windows Update et désactivation temporaire de
UseWUServer
. - Installation du runtime .NET 4.x en offline.
DISM /RestoreHealth
puissfc /scannow
(réparations effectuées).- Création d’une clé Registre demandée par le support Veeam (export avant/après).
- Redémarrage du serveur, statut “aucun redémarrage en attente”.
- Relance du setup Veeam → installation OK.
À propos des bases de données Veeam
Selon la version et votre design, Veeam peut recourir à un moteur de base de données local ou distant. Assurez‑vous que :
- le moteur ciblé est supporté par votre version Veeam ;
- le compte de service dispose des droits nécessaires ;
- les ports requis sont ouverts et, si Kerberos est utilisé, que les SPN (ex.
MSSQLSvc
pour SQL Server) sont en place sans doublon.
Conclusion : en combinant mises à jour Windows, installation contrôlée de .NET, réparation DISM/SFC, correction des clés Registre demandées par Veeam et hygiène de redémarrage/antivirus, vous éliminez 90 % des causes d’échec d’installation. Pour Kerberos/SPN, traitez‑le comme un sujet séparé avec la méthode ci‑dessus pour revenir rapidement à une authentification saine.