Windows 10 Start Menu and / or default apps broken

posted Jan 21, 2016, 9:53 AM by Andrew Chadick   [ updated Dec 1, 2016, 10:27 AM ]
 Sometimes, for whatever reason, the new Windows 10 Start Menu breaks, and stops responding. There are a number of articles on the web of what to do, and most are geared for standalone systems. 

For Active Directory, the fix is pretty straight forward. 

Log in as the domain admin, go to C:\Users and delete the account folder. Then go to regedit.msc and delete the corresponding registry key for the profile.
Go Here:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Look on the right side window pane of regedit, and find the profile name by clicking through the list, most likely the bottom one. Right click, delete.

If you have folder redirection to a file server (roaming profiles), you will have to take this a step further, and delete the entry on your file server where you store your profile folders. (Make sure you have a backup of all your files before you do this.)

Once the key has been removed, and corresponding profile folders on the file server are deleted, restart the desktop computer and have the user log back on. AD will push over the profile and a new registry key will be made, a new file server profile folder set will also be created. The Start Button will work again.

--- - ---

Now, there are other issues that can happen to Windows 10, like the default built in Apps can cease to function, or disappear completely. 
There are tools now that you can use to fix these issues. 

Copy Below and Paste into PowerShell ISE, name it "reinstall-preinstalledApps.ps1

# Get all the provisioned packages
$Packages = (get-item 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications') | Get-ChildItem

# Filter the list if provided a filter
$PackageFilter = $args[0]
if ([string]::IsNullOrEmpty($PackageFilter))
echo "No filter specified, attempting to re-register all provisioned apps."
$Packages = $Packages | where {$_.Name -like $PackageFilter} 

if ($Packages -eq $null)
echo "No provisioned apps match the specified filter."
echo "Registering the provisioned apps that match $PackageFilter"

ForEach($Package in $Packages)
# get package name & path
$PackageName = $Package | Get-ItemProperty | Select-Object -ExpandProperty PSChildName
$PackagePath = [System.Environment]::ExpandEnvironmentVariables(($Package | Get-ItemProperty | Select-Object -ExpandProperty Path))

# register the package 
echo "Attempting to register package: $PackageName"

Add-AppxPackage -register $PackagePath -DisableDevelopmentMode

---- - ----
Note: to execute the above script from PS open as Admin and run it by using syntax     .\reinstall-preinstalledApps.ps1

--- - --
Clean Recovery:
sfc /scannow

DISM /Online /Cleanup-Image /RestoreHealth

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

--- - --- 
If you need to Reset Windows 10 Update, Shawn Brink posted a great tutorial:

His script: (Note: Save this as batch file .bat extension and run as admin).

@echo off
set b=0
set /a b=%b%+1
if %b% equ 3 (
goto end1

net stop bits
echo Checking the bits service status.
sc query bits | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
goto bits 

goto loop2

echo Cannot reset Windows Update since "Background Intelligent Transfer Service" (bits) service failed to stop.
goto Start

set w=0

set /a w=%w%+1
if %w% equ 3 (
goto end2

net stop wuauserv
echo Checking the wuauserv service status.
sc query wuauserv | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
goto wuauserv 

goto loop3

echo Cannot reset Windows Update since "Windows Update" (wuauserv) service failed to stop.
goto Start

set app=0

set /a app=%app%+1
if %app% equ 3 (
goto end3

net stop appidsvc
echo Checking the appidsvc service status.
sc query appidsvc | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
goto appidsvc 

goto loop4

echo Cannot reset Windows Update since "Application Identity" (appidsvc) service failed to stop.
goto Start

set c=0

set /a c=%c%+1
if %c% equ 3 (
goto end4

net stop cryptsvc
echo Checking the cryptsvc service status.
sc query cryptsvc | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
goto cryptsvc 

goto Reset

echo Cannot reset Windows Update since "Cryptographic Services" (cryptsvc) service failed to stop.
goto Start

Ipconfig /flushdns
del /s /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" 

cd /d %windir%\system32

if exist "%SYSTEMROOT%\winsxs\pending.xml.bak" del /s /q /f "%SYSTEMROOT%\winsxs\pending.xml.bak" 
if exist "%SYSTEMROOT%\winsxs\pending.xml" ( 
takeown /f "%SYSTEMROOT%\winsxs\pending.xml" 
attrib -r -s -h /s /d "%SYSTEMROOT%\winsxs\pending.xml" 
ren "%SYSTEMROOT%\winsxs\pending.xml" pending.xml.bak 

if exist "%SYSTEMROOT%\SoftwareDistribution.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution.bak"
if exist "%SYSTEMROOT%\SoftwareDistribution" ( 
attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution" 
ren "%SYSTEMROOT%\SoftwareDistribution" SoftwareDistribution.bak 

if exist "%SYSTEMROOT%\system32\Catroot2.bak" rmdir /s /q "%SYSTEMROOT%\system32\Catroot2.bak" 
if exist "%SYSTEMROOT%\system32\Catroot2" ( 
attrib -r -s -h /s /d "%SYSTEMROOT%\system32\Catroot2" 
ren "%SYSTEMROOT%\system32\Catroot2" Catroot2.bak 

if exist "%SYSTEMROOT%\WindowsUpdate.log.bak" del /s /q /f "%SYSTEMROOT%\WindowsUpdate.log.bak" 
if exist "%SYSTEMROOT%\WindowsUpdate.log" ( 
attrib -r -s -h /s /d "%SYSTEMROOT%\WindowsUpdate.log" 
ren "%SYSTEMROOT%\WindowsUpdate.log" WindowsUpdate.log.bak 


regsvr32.exe /s atl.dll 
regsvr32.exe /s urlmon.dll 
regsvr32.exe /s mshtml.dll 
regsvr32.exe /s shdocvw.dll 
regsvr32.exe /s browseui.dll 
regsvr32.exe /s jscript.dll 
regsvr32.exe /s vbscript.dll 
regsvr32.exe /s scrrun.dll 
regsvr32.exe /s msxml.dll 
regsvr32.exe /s msxml3.dll 
regsvr32.exe /s msxml6.dll 
regsvr32.exe /s actxprxy.dll 
regsvr32.exe /s softpub.dll 
regsvr32.exe /s wintrust.dll 
regsvr32.exe /s dssenh.dll 
regsvr32.exe /s rsaenh.dll 
regsvr32.exe /s gpkcsp.dll 
regsvr32.exe /s sccbase.dll 
regsvr32.exe /s slbcsp.dll 
regsvr32.exe /s cryptdlg.dll 
regsvr32.exe /s oleaut32.dll 
regsvr32.exe /s ole32.dll 
regsvr32.exe /s shell32.dll 
regsvr32.exe /s initpki.dll 
regsvr32.exe /s wuapi.dll 
regsvr32.exe /s wuaueng.dll 
regsvr32.exe /s wuaueng1.dll 
regsvr32.exe /s wucltui.dll 
regsvr32.exe /s wups.dll 
regsvr32.exe /s wups2.dll 
regsvr32.exe /s wuweb.dll 
regsvr32.exe /s qmgr.dll 
regsvr32.exe /s qmgrprxy.dll 
regsvr32.exe /s wucltux.dll 
regsvr32.exe /s muweb.dll 
regsvr32.exe /s wuwebv.dll
regsvr32 /s wudriver.dll
netsh winsock reset
netsh winsock reset proxy


--- - ---

Windows 10 Mail, Calendar, and Store apps fail to launch?
Run Appsdiagnostic10.diagcab to fix the default apps for Windows10.

Note: This issue was prevalent on the Early release of Windows 10.  By build 1607 this issue should be gone.