How to fix “Your account settings are out of date” in Windows 10 Universal Mail App

The Problem

Update: This problem is a very long running issue that I’m surprised hasn’t been resolved by Microsoft yet. The fix below does work for some people, but based on the comments on this post and those on the Microsoft Forums this solution doesn’t always work and many other fixes have been suggested (see the forum for a large number of other suggested solutions). Some folk have reported that the fix below can prevent the Mail and Calendar apps from working at all, so I’d recommend that you use this process with care and recommend strongly that you back up the comms folder before deleting the content.

Recently I noticed on my Windows 10 desktop that I have been using to test all the Windows 10 Insider Preview releases the Windows 10 Universal Mail and Calendar app is was no longer working with my Outlook mail account. Every time the app loaded or I clicked on the Outlook account it would show a message at the top of the mail list stating “Your account settings are out of date” and giving me the option to fix or dismiss the problem. Clicking fix just flashed up a black window for a brief moment (too fast to see any details) and the message remained. I messed about with the account settings and everything I could find for the account in Mail settings but couldn’t figure out how to fix it. I tried various suggested “fixes” I found online, but none of them worked for me.

My Gmail account worked fine in the Mail app as well and my outlook account also worked fine in the Windows 10 Universal Mail and Calendar app on my laptop. Unfortunately I didn’t think to screenshot the problem before I managed to resolve it so I can’t post an image of the error message here. After a lot of investigation and lots of messing around I found out where the Windows Universal Mail app stores its account data – as I thought this is probably where the problem probably was. The Windows 10 Universal Mail and Calendar seems to store all information in the folder %LOCALAPPDATA%\Comms\ I thought perhaps if I could get rid of (back it up just in case) this folder the app might recreate it.

The Solution

  1. Open an Administrator PowerShell prompt (enter “powershell” in the start menu search and then right click the Windows PowerShell icon and select Run as Administrator, you might need to confirm a UAC prompt).
  2. Uninstall the Windows 10 Universal Mail and Calendar app by entering the following command in the PowerShell window:
Get-AppxPackage | Where-Object -Property Name -eq 'microsoft.windowscommunicationsapps' | Remove-AppxPackage
Uninstall the Windows 10 Universal Mail and Calendar App

Uninstall the Windows 10 Universal Mail and Calendar App

3a. @Stephen has suggested that restarting your computer at this point allows the next step to proceed with better success. So restart your computer.

3. Delete the %LOCALAPPDATA%\Comms\ folder by entering the following command in the PowerShell window (back the folder up first if you want):

Remove-Item -Path "$Home\AppData\Local\Comms\" -Recurse -Force
Deleting the Comms folder - some files can't be deleted - this is OK

Deleting the Comms folder – some files can’t be deleted – this is OK

Note: You’ll probably find that some of the files are in use and can’t be deleted – this is OK.

4. Reinstall the Windows 10 Universal Mail and Calendar app from the app store (click here to open the app up in the store or search for it).

Reinstall the Windwos 10 Universal Mail and Calendar app from the windows store.

Reinstall the Windows 10 Universal Mail and Calendar app from the Windows store.

Once this had all been done I loaded the Mail up and it asked me to configure all my mail accounts again (and authorize them with the providers). After this the error message had gone away and all my accounts worked normally. I did also however have to re-enter my credentials for both Google Drive and One Drive.

For more information, suggestions and discussion about this issue, take a look at this discussion on the Microsoft Community boards.

I hope this works for someone else as well.

Enable Device Naming on all Virtual Net Adapters on a VM Host

After a couple of bumps upgrading my development laptop to Windows 10, I finally got to update all my Hyper-V lab VMs to the new version of Hyper-V. This included updating the Virtual Machine Configuration version and enabling virtual network adapter Device Naming – see What’s new in Hyper-V in Technical Preview for more information.

But having a number of VM’s running on this Hyper-V host I couldn’t be bothered updating them all by hand. So as usual, PowerShell to the rescue.

First up, to upgrade the configuration of all the VMs on this host so the new features can be used I ran the following command:

Get-VM  | Update-VMVersion

Once that was completed (which took about 10 seconds) I could then enable the Device Naming feature of all the Virtual Network Adapters on all Generation 2 VM’s(this feature isn’t supported on Generation 1 VM’s). The Device Naming feature will label the Network Adapter in the guest OS (for supported operating systems) with the name of the Virtual Network Adapter set in the host.

To enable Device Naming on all Generation 2 Network Adapters on all VM’s on the host:

Get-VM | Where-Object -Property VirtualMachineSubType -eq 'Generation2' | Get-VMNetworkAdapter | Set-VMNetworkAdapter -DeviceNaming On

All in all this was much easier than the eternal clicking I would have to have used in the UI. I could have even combined the two steps into one command:

Get-VM | Update-VMVersion -Passthru | Where-Object -Property VirtualMachineSubType -eq 'Generation2' |  Get-VMNetworkAdapter | Set-VMNetworkAdapte
r -DeviceNaming On

 So now it’s off to try some of the other new Hyper-V features.

PowerShell Modules Available in Nano Server

I have been spending a bit of time experimenting with loading Nano Server into WDS (using capture images, VHDX files and the like) and while doing this I decided to dig around inside Server Nano to see what is missing. The thing that is missing that makes me grumble the most is that lots of PowerShell modules are missing. This of course is because Server Nano doesn’t have the full .NET Framework available, which most PowerShell modules depend.

What Modules are Included?

This to some degree depends on the packages that are installed, but with the OEM-Drivers, Storage and Guest packages installed the following modules are available:

PowerShell Modules in Nano

As the screenshot above shows, there are a lot of useful modules missing. Even within some of the modules, many of the CmdLets are not available.

For example, in the Microsoft.PowerShell.Management module on Windows Server 2012 R2, there are 86 CmdLets available. In Nano Server there are only 38:

List of CmdLets in Management Module in TP2

Obviously, this is only Tech Preview 2, and so will likely change, but it certainly might be the case that some PowerShell scripts won’t work on Nano Server and will need to be re-written.

SysPrep is Missing

One other element that is missing from Nano Server is the SYSPREP tool. The folder c:\windows\system32\sysprep is there, but it is empty. So sysprepping a Nano Server at the moment doesn’t seem to be possible.

Force WSUS to Synchronize Now from PowerShell

After passing my MS 70.410 exam I had a little bit of free time on my hands, so I thought I’d clean up my WSUS servers and prepare them for Windows 10 and VS 2015. So I thought I’d force myself to do the whole thing via PowerShell. The problem is that the UpdateServices PowerShell module doesn’t have cmdlets for some things I wanted to do –force a synchronization was among them. So I needed use the Microsoft.UpdateServices.NET components to perform these functions.

Useful Commands

To force a WSUS server to synchronize now:

(Get-WsusServer).GetSubscription().StartSynchronization()

To get the result of the last synchronization:

(Get-WsusServer).GetSubscription().GetLastSynchronizationInfo()

Pretty simple! I’m sure additional functions will crop up and I’ll try to post any useful ones here as well.

A Minor Irritation with VHDs and Dynamic Disks

As part of my recent studies (and because I’m a bit OCD) I’ve been writing some notes on what how to perform various DISKPART commands in PowerShell. You might also need to do this if you’re converting old DISKPART scripts into PowerShell (for whatever reason).

In most cases it is straight forward to map DISKPART commands over to PowerShell. For example, to use DISKPART to initialize and set the partition format to GPT on disk 6 in a machine:

SELECT DISK=6
ONLINE
CONVERT GPT

Whereas in PowerShell the equivalent would be:

Set-Disk -Number 6 -IsOffline $false
Initialize-Disk -Number 6 -PartitionStyle GPT

The Problems

However, I ran into two situations where PowerShell can’t be used when doing mapping:

  1. Dynamic disks can’t be created using PowerShell. Therefore spanned, striped, mirrored or parity volumes can’t be created without using DISKPART. However, Storage Spaces could be used instead if you’re using Windows Server 2012/Windows 8 and above.
  2. The PowerShell cmdlets to create and mount Virtual Hard Disk files (VHD/VHDx) can’t be used if Hyper-V is not installed:VHD cmdlets without Hyper-V
    This is a little bit annoying because the Hyper-V role can’t always be installed. For example, it can’t be installed on a guest VM. Of course it is probably a bit unusual to be working with VHD/VHDx files within a guest VM (you’re more likely to be working with them on the host), but with the amount of stuff moving to the cloud this might be a problem that you run into.

That’s it for tonight!