Event 1530: Registry unloaded while a program was still using it
When you sign out, Windows unloads your part of the registry. If a program still had it open, Windows forces the unload anyway and logs this, naming the process that was holding on. On a personal PC it is harmless; on a shared or remote-desktop server it is how profile corruption starts.
Also written as User Profiles Service 1530user registry handles leaked
How oftenFires often
Vendor calls itWarning
LogApplication
SourceMicrosoft-Windows-User Profiles Service
What it means for you
On a personal computer
A program did not tidy up properly when you signed out. Windows cleaned up for it. Nothing is broken and there is nothing you need to do — this event is one of the most common harmless warnings in the Application log.
For an analyst
On session hosts and Citrix or RDS farms this is the leading indicator of profile problems. The handles named in the event are the ones preventing the hive from unloading cleanly, and repeated forced unloads are what eventually leave a NTUSER.DAT in a state that produces Event 1511 at the next logon. Fix the leaking process rather than enabling the 'do not forcefully unload' policy, which trades a warning for a genuinely stuck hive.
What it looks like
Sanitised. Addresses come from the RFC 5737 documentation ranges.
Sample
Windows detected your registry file is still in use by other applications or services. The file will be unloaded now. The applications or services that hold your registry file may not function properly afterwards.
DETAIL -
1 user registry handles leaked from \Registry\User\S-1-5-21-1000000000-2000000000-3000000000-1104:
Process 4820 (\Device\HarddiskVolume3\Program Files\Contoso\syncagent.exe) has opened key \REGISTRY\USER\S-1-5-21-1000000000-2000000000-3000000000-1104\SOFTWARE\CONTOSO\SYNC
The fields that decide it
Everything else in the log line is context.
Process ID and name
The process that still had registry keys open. This is the entire actionable content of the event.
Registry key path
The specific keys still held. Paths under Software\Microsoft\Windows\CurrentVersion\Explorer usually mean a shell extension; paths under a vendor's own key name the vendor.
Handle count
How many handles remained. A large number from one process is a leak; one or two is a timing race on shutdown.
User SID
Whose profile was being unloaded. S-1-5-18 is the SYSTEM account, and events for it are background services rather than a signed-in person.
Ordinary reasons this happens
Most of the time it is one of these.
A background program that keeps registry keys open for the lifetime of the process and exits after the profile unload begins — antivirus, backup agents and printer software are the usual names.
A shell extension loaded into Explorer that does not release its keys on shutdown.
A crash-tolerant application that was still writing settings when the sign-out started.
Sign-out happening quickly after launching something, so a program that would have released its handles simply had not got there yet.
Roaming or redirected profiles, where the unload has to complete before the upload starts and the timing is tighter than on a local profile.
When it is not ordinary
Persistent malware holding the user hive open because it is running from a per-user autorun key.
What gives it awayThe named process is not one you recognise and appears in the same event at every sign-out, often running from a user-writable path such as AppData or Temp.
A credential-stealing component reading from the user hive at logoff to catch data before it is written out.
What gives it awayAn unexpected process holding keys under Software\Microsoft\Windows\CurrentVersion or a vendor credential path, on a machine with no reason to run it.
Read the process name. If it is a program you installed and recognise, you are done — this is cosmetic.
If the same process appears at every sign-out on a server, check for an update from that vendor; leaked registry handles at logoff are a well-known class of bug and usually get fixed.
On a session host, correlate with Event 1511 and 1500-series profile errors at the next logon. If those are appearing too, the forced unload is now causing real damage and the leak needs fixing.
Use Process Explorer or handle.exe to confirm which keys the process holds while a session is live, rather than guessing from the event.
Do not reach for the 'Do not forcefully unload the user registry at user logoff' policy first. It stops the warning by letting the hive stay loaded, which on a busy server leaks memory and can block the profile entirely.
If the process is unfamiliar, check where its executable lives and what starts it before assuming it is a legitimate agent.
Queries to run
powershellRead the process names out of the message body; the offender is usually the same one every time.
kqlRanks the leaking processes across the estate. The top entry is the one worth raising with a vendor.
Event | where EventLog == 'Application' and EventID == 1530 | extend Proc = extract(@'Process \d+ \((\S+?)\)', 1, RenderedDescription) | summarize events = count(), hosts = dcount(Computer) by Proc | order by events desc
wevtutilLocal read on a machine with no central logging.
wevtutil qe Application /q:"*[System[Provider[@Name='Microsoft-Windows-User Profiles Service'] and (EventID=1530)]]" /c:20 /rd:true /f:text
Common questions
Is Event 1530 dangerous?
On a home or single-user PC, no — it is one of the most commonly logged harmless warnings in Windows. It means a program was slow to let go of your settings when you signed out and Windows tidied up for it. On a multi-user server it is worth acting on, because repeatedly forcing a profile unload is how user profiles eventually become corrupt.
How do I find out which program is causing Event 1530?
The event names it directly. Look for the 'Process NNNN (path)' line in the DETAIL section — that is the executable that still had registry keys open. The registry path underneath tells you which of its settings it was holding, which is usually enough to identify the feature responsible.
Should I enable 'Do not forcefully unload the user registry at user logoff'?
Only as a deliberate, temporary measure. The policy stops the forced unload, which removes the warning, but it also means the hive stays loaded until the offending process exits. On a busy session host that leaks memory and can leave profiles loaded indefinitely. Fixing or updating the process named in the event is the better outcome.
Does Event 1530 corrupt my user profile?
One occurrence will not. The risk is cumulative: each forced unload happens while something is potentially mid-write, and on a machine that signs users out dozens of times a day that eventually leaves a registry hive Windows will not load. The symptom when it happens is a temporary profile and Event 1511 at the next logon.