I know that the programs that run with Windows are stored in the registry under (inn both HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER):

- /Software/Microsoft/Windows/CurrentVersion/Run
- /Software/Microsoft/Windows/CurrentVersion/RunOnce

But when I delete their entries here (or use msconfig to disable programs from autostart), where the information about disabled programs is stored?

I mean the programs that do not run with Windows anymore, but under msconfig->autorun they are marked as "disabled".

3 Answers 3


Have a look under:


there should be one corresponding entry for each entry in:


It's a binary value, "02 00 00 00..." means enabled, any other value seems to mean disabled.

I investigated this under Windows 8.1 but assume the registry key is the same for Windows 7. However in 8.x you disable autostart programs in the 'Task Manager' rather than msconfig.


If you delete them manually via regedit, they're gone for good unless you made a backup first.

If you disabled them using MSConfig, you can find the disabled registry entires at

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg

and disabled startup entries1 at

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder.

The subkeys there contain the necessary information to restore a disabled key. You can safely delete the keys found there but you can't restore them via MSConfig afterwards, though.

Note: MSConfig doesn't include items from Group Policy or the Windows 7 Task Scheduler!

1 Entries from a user's startup folder (Start → Programs → Startup).


@Peter Hahndorf, that is not correct.

Win7 has no StartupApproved key. It uses msconfig instead:

HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder

Win 8/10 StartupApproved can also contain binary value "06 00 00 00" that is also mean "enabled" ! I don't know full enumeration of these flags, but it seems reliable way to check whether it is enabled or not - check next 8 bytes that represent FILETIME structure. If all bytes are zeroes - record is enabled.

  • The FILETIME structure seems to be in UTC. Jan 8 at 10:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.