Lee's Outlook Troubleshooting Guide
Outlook is a product that has been around for a very long time, with its first release as part of Office 97. Amazingly, it is the youngest of what I call the "pillars of Office", like Word, Excel, and PowerPoint. There was one deviation to Outlook, which was Outlook 98 which I believe you could upgrade with Office 97 if you had some type of redemption code. It was 20 years ago, I can't say I remember everything. :)
This is part of a series of my notes and troubleshooting guides referring to Microsoft Office. They are all listed here:
Lee's Excel Troubleshooting Guide Lee's Outlook Troubleshooting Guide Lee's Word Troubleshooting Guide
Now for my disclaimer
This information is provided “as-is” and is not considered step-by-step troubleshooting. Not all of the steps in this article are going to concatenate into a single solution. Please exercise caution as some things in here can have adverse effects, and by following these steps, you are assuming that risk.
Also keep in mind that in a corporate environment, you may not be able to perform some of these steps, either by policy or lack of system permissions.
Also, this blog was written on Outlook 2016 as my baseline. This "should" work for older versions (maybe newer ones, once they come out). Your resuls may vary.
When it comes to performance, let's just hit the obvious first. Insure you have decent hardware. If you are trying to run Office 2016 on some old system, just know you're not going to have that great of an experience.
Some of this will seem basic and similar to other apps, like the Excel blog. Simply put, some troubleshooting concepts in Office (as are in other Windows apps)
Step: Empty the User’s temp folder
I have often found that the user’s temp folder will cause a lot of crashes to simply not re-occur. You do not need admin rights for this, as this is a user folder. The %windir%\temp folder requires administrator access and is not relevant to this troubleshoot.
To do this, close all running apps, open File Explorer, navigate to %temp% and delete everything. You may not be able to delete some files in use (like live logs).
Step: Look at security software
Now, I know the usual suspect is antivirus, antimalware, and the like. And, it’s easy to blame things that their sole purpose is to keep things from loading. Not so fast – there were some instances where this was the case. In one case, I found Microsoft’s EMET loaded on a Windows 10 system, which actually shouldn’t be there. Portions of EMET were baked into later versions of Windows 10, so there was no need to have it installed.
Before tearing out anything that looks like security software, investigate any logs and see if you can find obvious signs of something being denied access or was blocked. This would be great justification to test without it. Some modern antivirus/security software does have pretty comprehensive logging, be it to text or one of their internal mechanisms.
If you choose to go this route, keep in mind the words “I disabled antivirus” aren’t definitive words. The only way to truly test without antivirus is to uninstall it. Why? Antivirus typically carries with it not one, but two calls to Windows. The first call is the filter driver that says “should I scan this file”, and even in a disabled state, you can expect this process to trigger. The second is the actual scan driver which checks the file in question for anything suspicious.
Step: Run Outlook in Safe Mode (Disable Add-Ins)
Add-ins are also problematic at times. Instead of disabling one add-in at a time, try going into Safe Mode, which will disable them all at once. If this solves your problem, then insure you go into Outlook and start disabling add-ins one by one. Hopefully in your case, the issue you’re facing is an easy repro (like crashes within 10 seconds of startup).
To load Safe Mode, either:
- Load Outlook from the “Run” box with outlook /safe
- Hold down the Ctrl key while double clicking the Outlook icon. You'll get a prompt saying "You're holding down the Ctrl key. Do you want to start Outlook in safe mode?"
Step: GPO Troubleshooting
There are two ways a user profile can be affected. Policy settings (GPOs) can set on Outlook, but also something that could be in the user profile.
If you are testing GPO settings, insure these things are true:
- There are no computer policies applying Outlook settings. This would invalidate any user setting testing, as policies applied at the computer level cover all users. If you need to for testing, you can deny the computer account “Apply Group Policy” permissions temporarily on the policy with the Outlook settings.
- The two user accounts you are testing do not have the same policies applied, more specifically ones that are specific to Outlook. Like the above point, you can deny one of the users “Apply Group Policy” permissions temporarily on the user settings that hold the Outlook settings.
Let’s not always blame GPOs, however. Something can be wrong in the user profile. Just to insure that it’s not the profile, log in as a different user.
A common pitfall in GPO troubleshooting is "let's throw it in another OU". This is a dangerous practice for a couple of reasons. First, this may rule out GPOs, but often people keep that so the user "can get back to work", and leave the setting. This is until the next time, when we need to "just toss it in another OU". This poses a huge problem as four things are working against you.
- A single object can only be in one OU at a time.
- You may not be sure what exactly fixed the condition, just "dropping it in a new OU".
- If you did need that object to be special and exist in two OUs, you would have to create a third OU to apply just the two policies. Look into security groups here for processing GPO.
- Most importantly, moving an object between OUs can be lowering your security standards (making you non-compliant) while opening you up to attack.
Something to note: The beloved "RSOP" (rsop.msc) has been deprecated and shouldn't be used. You can get gpo info via gpresult /r (a personal favorite which just gives the basic info) or gpresult /h. Both of those methods are still supported. Remember to run this in an elevated session or you won't get system policy info.
Step: Delete the Office Keys from the Registry
If you feel that this could be settings related (and likely from a GPO), you can delete the Office portion of the registry. BE CAREFUL HERE as you may lose user settings in the process of fixing the problem (you’ve been warned).
For computer settings, navigate to HKLM\Software\Microsoft\Office.
For user settings, navigate to HKCU\Software\Microsoft\Office.
Note, if the problem applies to everyone on the system, it could be either Computer (or Computer GPO) or User (User GPO) related.
Step: Disable Hardware Graphic Acceleration
You may try to disable the Hardware Graphic Acceleration and verify the result:
You’ll find this setting by going to File / Options / Advanced and look for the Display section (not Display options for this workbook) and check the option for Disable Hardware Graphics Acceleration. Restart Outlook afterwards.
Let's get more Outlook specific
Step: Recreate the Outlook profile
Okay, don't hate me for saying this, or for saying it first. But the simple truth is recreating the profile simply works to resolve issues. Worse comes to worse, create another profile and switch to this as the default for troubleshooting.
Step: Recreate the OST File
Sometimes the offline cache file gets corrupted. If this is the case, simply shutting down Outlook and renaming the file (deleting it later) will resolve the issue on the next load of Outlook.
Step: Examine Folder Sizes
Again, the amount of info you keep in a single folder can impact your Outlook experience. This is applicable to both PST or OST files. When you switch into and out of these folders with a lot of items, you will see delays as the folders have to load and unload appropriately.
Microsoft says that this limit is 100,000 messages, but honestly have seen it at far less. Usually for me, I like keeping about 30 days in the inbox, and then moving all older items into a subfolder so that everything (like Outlook or even my phone and Windows 10 mail) have less to churn through.
If you are strictly using Outlook over the network (as in not in Exchange Cached Mode), a lot of that processing goes on at the server. There are some older documents out there that talk about performance and large item counts.
As a side note, the cleanup folder feature has worked pretty well for me, whereas it keeps relevant copies of messages and deletes what it considers duplicate messages.
Step: Disable Add-Ins
There can always be unused, old, or simply unneeded things being loaded. Check your add-ins by going to File / Options / Add-Ins and disabling things you do not need.
I can't express enough the need to check security Add-Ins here. I've seen many times that Outlook issues (both performance and security) could be caused by a security based Add-In (message encryption or spam filter, for example). Sometimes these add-ins aren't intended for the version or patch level of Outlook.
Another way to check to see if Add-ins are the problem is to start Outlook in Safe Mode (see above) and see if your performance increases because of this first.
Step: Check folder redirection
The user profile "AppData" folder stores some Outlook content like signatures, spell checking dictionary, and quick parts. If this is redirected to the network, this could slow things down while Outlook is reading and processing this info.
To check this, go to a standard command prompt and enter this command: echo %appdata% . You are looking for results that are not connected to the network drives, and only local drives. If this folder is redirected to a network, disable the redirection to see if performance improves.
Step: Check Indexing
Indexing can be both convenient and a pain. Outlook will only index while it is running, so a general practice is to start Outlook, lock your workstation, and leave your system on overnight to let indexing finish. You can also find out the status of indexing by going to File / Options / Search / Indexing Options.
Did Outlook crash?
Outlook is like Windows when it sustains a staggering crash when it senses a "dirty shutdown". Windows will do a disk check, and in Outlook's case, it will have to reconcile the database files (the PST and OSTs specifically). This adds overhead and processing to the Outlook startup process as it completes the reconciliation process.
Elephant in the Room: PST Files
Anyone who knows me knows my position that PST files deserve to die. They have caused a lot of trouble over the years both technically and politically, and are prone to breakage and data loss. We all have our horror stories here, and I'll leave mine out for now.
But, if you are using PST files, let's just say that size matters. For some historically, the maximum size of a PST file was 2GB back in Outlook's early days. Why was this? Back in the days of Windows 9x, FAT32 only supported files up to 2GB in size (NTFS did not have this limitation). Today, that supported file size is up to 50GB in size, but there's a price to be paid for large PST and OST files.
The smaller the file, the better the experience overall. If you are running on decent hardware (and a SSD disk), generally any PST or OST file should perform reasonably well. After about 10GB, things start getting a little fuzzy, where you may experience pauses while downloading, reading, moving, and deleting items. These pauses will get worse as the file continues to grow.
A couple ways to mitigate this would be to decrease the interval in which you check for and download messages (I know, we all love instant gratification from getting e-mail right away). There is a price to be paid for holding onto large files.
Suggestion: Remove items with large attachments and delete emails that aren't important. Some things are hard to let go of, but the several emails company bake sale from 1998 probably doesn't need to be archived. Your company should have retention policies that dictate how long you are supposed to keep data for.
Step: DO NOT use PST files over the network
This is where the anger of the IT crowd comes in. Of course, some have said "but we've been doing this for years". All I will say here is this: There is only one scenario in which this is a supported option: If you are running a VDI environment in a well connected network running Outlook 2010 or later with Windows Server 2008 R2 SP1 or later. This means if you're running a standard deskside client with a mapped drive and Outlook on some type of LAN/WAN, you're out of luck for support.
There should be no need for this method anymore, as disk space has become incredibly cheap, and the days of 10 or 100MB mailboxes are long gone. Give the user enough space to copy those PSTs to a single store (like Exchange) and then let them download the items into an OST. This will also help performance as Outlook isn't crossing datastores to reference data.
Outlook 2010 added a feature for PST files which allowed them to become locked and read only for the user (this is a nice compromise). This is for the user who expresses "but I only use this for reference". In this case, additional content can't be added to this file, it is read only. In that case, just copy it to the user's workstation and let them work on that copy, it won't change and there's no chance of data loss if it backed up elsewhere.
Step: PST Corruption
Unfortunately, PST files like I said earlier are prone to corruption. As a result, the old scanpst.exe tool is still out there and part of Office 2016. It's in the %programfiles%\Microsoft Office\Office16 folder (on 2016).
Keep in mind for large files, there are some potential issues.
- This process can take quite a while
- Expect some data loss (which some is better than total).
Troubleshooting Outlook's Quick Parts
Most people who send routine emails would love a thing called Quick Parts. This is a way of "shorthanding" a templated reply. A quick overview:
How to use this: Simply type the text that you want to save in a Quick Part. Select the text, click Insert, Quck Parts, and Save Selection to Quick Parts Gallery. Give it a name and click OK. Yes, it's documented better elsewhere. :)
Note: This won't work unless the option "Show Autocomplete Suggestions" is enabled in the editor (Options / Advanced).
Where this is stored: These files are saved in the user's profile in %appdata%\Microsoft\Templates. By default, C:\Users\username\AppData\Roaming\Microsoft\Templates in a file called NormalEmail.dotm. Back up this file to retain your quick parts. If using OS Deployment, make sure USMT is set to back this file up in a user state situation.
Wrapping it up
Thanks for sticking with me through my troubleshooting guide, there was a lot to cover and considered breaking this into separate blogs.
One final thought and unrelated to Outlook in general, for you MSI install fans of Office, the next release of Office (called 2019) will no longer have a MSI install, but a Click-To-Run (C2R) install only. Just a public service announcement.
— Easy link to my blog: http://aka.ms/leesteve —
If you like my blogs, please share it on social media and/or leave a comment.