One thing I’ve found with Outlook 2010 the hard way is if settings are corrupted or not what Outlook is expecting it will crash on start-up. People who know me know I hate to rebuild a PC to fix a problem…so here we go. Last time had Outlook issues it was possible to rapidly find a solution without any logging tools as documented here Troubleshooting 101
This case I’m not so lucky.
Immediately after launching we see this – Microsoft Outlook has stopped working:
Launching Outlook /safe we get the same thing. If we do this twice we then get this message
Repair does not fix the problem. New user logging onto machine, same issue.
Initially I used ProcMon (http://live.sysinternals.com/ProcMon.exe) to look for any obvious causes of an app crash (i.e. missing DLLs, ACCESS DENIED events, etc)
This didn’t get me anywhere so I brought out WinDbg. To start ensure you’ve set up access to public Microsoft Symbols by running the following command from an administrative command prompt:
setx _NT_SYMBOL_PATH “srv*c:\symbols*http://msdl.microsoft.com/download/symbols” /M
You can get WinDbg from the Microsoft Windows SDK (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en)
You can start by opening the executable using Ctrl+E or File | Open Executable…
So immediately I break into the debugger and in the command line i hit g [enter] where g is for GO.
I get warning of another first chance exception. These are OK if the program handles them. Only when these are unhandled do we get a crash. I hit g to go again, and we can see the status is *BUSY* so we know outlook is still running.
Then we break into our exception. First chance I hit g, second chance. Hmm. This is bad, lots of exclamation marks.
If you’ve ever tried analysing system crashes, in the application crash you can also use !analyze –v command, but here the information is often less useful then when dealing with system crashes.
I used .restart command in debugger to restart Outlook. This time before we hit “g” for go we enable API logging with the following command:
!logexts.loge
API logging will give information about what Windows API are called with what parameters and the return codes, etc.
Now we can “g” for GO to start logging. However for some reason API logging didn’t work on Outlook.exe, I don’t know if this is some kind of protection built into the program or what, as using this same processes on other machines has worked fine. Instead whenever logging was enabled I just got errors Access violation – code c0000005
EDIT: Thanks Takashi Toyota from Japan (http://www.ttoyota.com/) pointing out the reason for this error is that I was using AMD64 version of WinDbg on a 32-bit process. To do API logging of 32-bit process in 64-bit Windows I must also install the x86 version of the Windows Debugging Tools. From the WinDbg docoumentation when using x64 host:
- If you are analyzing a dump file, and if the dump file was made on Windows XP or a later version of Windows, you can use either the 32-bit package or the x64 package. (It is not important whether the dump file is a user-mode dump file or a kernel-mode dump file, and it is not important whether the dump file was made on an x86-based or an x64-based platform.)
- If you are analyzing a dump file, and if the dump file was made on Windows 2000 operating system, you should use the 32-bit package. (It is not important whether the dump file is a user-mode dump file or a kernel-mode dump file)
- If you are performing live kernel-mode debugging, and if the target computer is running Windows XP or a later version of Windows, you can use either the 32-bit package or the x64 package. (This situation applies to both x86-based and x64-based targets.)
- If you are performing live kernel-mode debugging, and if the target computer is running Windows 2000, you should use the 32-bit package.
- If you are performing live user-mode debugging, use the x64 package for debugging WOW64 with both 64-bit and 32-bit code. To debug other targets, use a 32-bit debugger to debug 32-bit code. ]
To install all versions of Debugging Tools when installing Windows SDK select “Debugging Tools” under Redistributable Packages
If this had worked you would have seen a folder called LogExts on your Desktop and inside it two new files from this trace – in this case Outlook.exe.lgv and Outlook.exe.txt. The .lgv file is opened using logviewer.exe from the Debugging tools. You can use logger.exe from Debugging tools to generate these logs as well.
With not much luck going on here I launched the Mail Setup control panel applet. In this case I launched it from C:\Program Files (x86)\Microsoft Office\Office14\mlcfg32.cpl
This time when clicking E-mail Accounts… I got an error message box:
This application has requested the Runtime to terminate it in an unusual way. Please contact the application’s support team for more information.
Now this time I used the simple feature of ProcMon to find the process ID of the process. One of my favourite inbuilt features of ProcMon/ProcExp is the Window Finder. I just click and drag this over the message box to set a filter on that process. I then looked in the PID column to find the relevant process ID.
With the Process ID in hand I then went back into WinDbg and hit F6 to attach to a Process. I specified the Process ID I found in ProcMon and clicked OK.
Now debugger is attached, the program execution has stopped until I hit “g” to go again. However this case I didn’t want to go, but I ran the classic analyze –v again.
0:000:x86> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\olmapi32.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\MLCFG32.CPL –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\olmapi32.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\MLCFG32.CPL –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Common Files\Microsoft Shared\office14\mso.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Common Files\Microsoft Shared\office14\mso.dll –
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1
FAULTING_IP:
KERNELBASE!RaiseException+58
FAULTING_IP:
KERNELBASE!RaiseException+58
7524b727 c9 leave
7524b727 c9 leave
EXCEPTION_RECORD:
EXCEPTION_RECORD: ffffffffffffffff — (.exr 0xffffffffffffffff)
ffffffffffffffff — (.exr 0xffffffffffffffff)
ExceptionAddress: 000000007524b727 (KERNELBASE!RaiseException+0x0000000000000058)
ExceptionCode: e06d7363 (C++ EH exception)
ExceptionFlags: 00000001
NumberParameters: 3
Parameter[0]: 0000000019930520
Parameter[1]: 00000000000de190
Parameter[2]: 000000006bc6054c
ExceptionAddress: 000000007524b727 (KERNELBASE!RaiseException+0x0000000000000058)
ExceptionCode: e06d7363 (C++ EH exception)
ExceptionFlags: 00000001
NumberParameters: 3
Parameter[0]: 0000000019930520
Parameter[1]: 00000000000de190
Parameter[2]: 000000006bc6054c
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: msvcrt!EHExceptionRecord ***
*** ***
*************************************************************************
FAULTING_THREAD: 0000000000001a7c
DEFAULT_BUCKET_ID: ZEROED_STACK
PROCESS_NAME: rundll32.exe
ERROR_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>
EXCEPTION_PARAMETER1: 0000000019930520
EXCEPTION_PARAMETER2: 00000000000de190
EXCEPTION_PARAMETER3: 000000006bc6054c
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 70
APPLICATION_VERIFIER_FLAGS: 0
PRIMARY_PROBLEM_CLASS: ZEROED_STACK
BUGCHECK_STR: APPLICATION_FAULT_ZEROED_STACK
LAST_CONTROL_TRANSFER: from 0000000073bfdf60 to 000000007524b727
STACK_TEXT:
FAULTING_THREAD: 0000000000001a7c
DEFAULT_BUCKET_ID: ZEROED_STACK
PROCESS_NAME: rundll32.exe
ERROR_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>
EXCEPTION_PARAMETER1: 0000000019930520
EXCEPTION_PARAMETER2: 00000000000de190
EXCEPTION_PARAMETER3: 000000006bc6054c
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 70
APPLICATION_VERIFIER_FLAGS: 0
PRIMARY_PROBLEM_CLASS: ZEROED_STACK
BUGCHECK_STR: APPLICATION_FAULT_ZEROED_STACK
LAST_CONTROL_TRANSFER: from 0000000073bfdf60 to 000000007524b727
STACK_TEXT:
000de148 73bfdf60 e06d7363 00000001 00000003 KERNELBASE!RaiseException+0x58
000de180 6bc4b93e 000de190 6bc6054c 6bc3296c MSVCR90!_CxxThrowException+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 161]
WARNING: Stack unwind information not available. Following frames may be wrong.
000de1a0 6bc4b484 93e042cf 00000000 029b1528 omsxp32!XPProviderInit+0x45f0
000de1c8 6bc4b960 000de1e4 93e04107 00000000 omsxp32!XPProviderInit+0x4136
000de200 6bc4870b 65746b33 6bc44aff 00000028 omsxp32!XPProviderInit+0x4612
000de208 6bc44aff 00000028 93e04137 00010010 omsxp32!XPProviderInit+0x13bd
000de230 5f080b36 6bc30000 76c266bc 5f07a6ee omsxp32!ABProviderInit+0x39
000de294 5f08067e 029b0d48 029b1290 029213a8 olmapi32!ScCopyProps+0x965
000de334 5f07fbb8 029b0d48 3d010102 5f100ea0 olmapi32!ScCopyProps+0x4ad
000de3d4 5f07bac1 029b0d48 00000000 00000000 olmapi32!Ordinal297+0x82b
000de43c 5f07b54b 00000000 02920b58 00000000 olmapi32!MAPILogonEx+0x6b8
000de484 6fad2779 00000000 0238a104 00000000 olmapi32!MAPILogonEx+0x142
000de4a0 6fad5245 0238a104 0238a1c8 00128022 MLCFG32!DllMain+0x557
000de4c8 5f099f52 0238a100 0238a1d0 0238a100 MLCFG32!CPlApplet+0x28d
000dea4c 6fad563d 009a6268 0238a100 00000000 olmapi32!RPCTRACE+0x4ae
000dea70 6fad44dc 003514ae 02920e48 00000000 MLCFG32!CPlApplet+0x685
000deb0c 759f62fa 003514ae 00000111 00000454 MLCFG32!DllMain+0x22ba
000deb38 75a1f943 6fad442f 003514ae 00000111 USER32!InternalCallWinProc+0x23
000debb4 75a1f784 0051d4fc 6fad442f 003514ae USER32!UserCallDlgProcCheckWow+0x10f
000dec04 75a1f889 00e52e90 00000000 00000111 USER32!DefDlgProcWorker+0xb7
000dec24 759f62fa 003514ae 00000111 00000454 USER32!DefDlgProcW+0x29
000dec50 759f6d3a 75a1f860 003514ae 00000111 USER32!InternalCallWinProc+0x23
000decc8 759f965e 0051d4fc 776d4684 003514ae USER32!UserCallWinProcCheckWow+0x109
000ded0c 759f96c5 00e52e90 00000000 776d4684 USER32!SendMessageWorker+0x581
000ded30 75a35fbb 003514ae 00000111 00000454 USER32!SendMessageW+0x7f
000ded48 75a360fc 00e94570 00000000 00000000 USER32!xxxButtonNotifyParent+0x66
000ded70 75a2312e 0055cac8 00000000 00000001 USER32!xxxBNReleaseCapture+0x138
000dee0c 75a370b2 00e94570 00000000 00000202 USER32!ButtonWndProcWorker+0xa07
000dee34 759f62fa 00441602 00000202 00000000 USER32!ButtonWndProcW+0x54
000dee60 759f6d3a 75a3705e 00441602 00000202 USER32!InternalCallWinProc+0x23
000deed8 759f77c4 0051d4fc 7773819c 00441602 USER32!UserCallWinProcCheckWow+0x109
000def38 759f788a 7773819c 00000000 000def74 USER32!DispatchMessageWorker+0x3bc
000def48 75a1c81f 000def90 00000001 00e52e90 USER32!DispatchMessageW+0xf
000def74 75a1cde7 003514ae 00000000 0038156c USER32!IsDialogMessageW+0x5f6
000defb8 75a1cf5c 003514ae 0038156c 00000000 USER32!DialogBox2+0x15f
000defe4 75a1ce8a 68cb0000 68d6c174 0038156c USER32!InternalDialogBox+0xe5
000df004 75a1d009 68cb0000 68d6c174 0038156c USER32!DialogBoxIndirectParamAorW+0x37
000df028 6fad5add 68cb0000 0000044d 0038156c USER32!DialogBoxParamW+0x3f
000df074 6fad455a 68cb0000 0000044d 0038156c MLCFG32!CPlApplet+0xb25
000df09c 6fad463f 0038156c 00000000 02920e48 MLCFG32!DllMain+0x2338
000df0b8 6fad4e52 0038156c 02920dd8 0038156c MLCFG32!DllMain+0x241d
000df158 6fad4ef6 0038156c 0051dfb8 00000000 MLCFG32!DllMain+0x2c30
000df16c 75f69e2e 0038156c 00000005 00000000 MLCFG32!DllMain+0x2cd4
000df194 75f55fc1 0051dfb8 0038156c 00000005 SHELL32!CPL_CallEntry+0x3d
000dfa14 760c563e 0038156c 00170000 00515fec SHELL32!CPL_SwitchToOrLaunch+0x44c
000dfa30 0017137d 0038156c 00170000 00515fec SHELL32!Control_RunDLLNoFallback+0x18
000dfaa8 00171326 760c5626 0038156c 00170000 rundll32!CallRunDllFunction+0x22
000dfaf4 00171901 00515fa2 00000000 00515fec rundll32!wWinMain+0x122
000dfb88 75cf33ca 7efde000 000dfbd4 778c9ed2 rundll32!_initterm_e+0x1b1
000dfb94 778c9ed2 7efde000 7fac1d4b 00000000 kernel32!BaseThreadInitThunk+0xe
000dfbd4 778c9ea5 0017178c 7efde000 00000000 ntdll32!__RtlUserThreadStart+0x70
000dfbec 00000000 0017178c 7efde000 00000000 ntdll32!_RtlUserThreadStart+0x1b
000de148 73bfdf60 e06d7363 00000001 00000003 KERNELBASE!RaiseException+0x58
000de180 6bc4b93e 000de190 6bc6054c 6bc3296c MSVCR90!_CxxThrowException+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 161]
WARNING: Stack unwind information not available. Following frames may be wrong.
000de1a0 6bc4b484 93e042cf 00000000 029b1528 omsxp32!XPProviderInit+0x45f0
000de1c8 6bc4b960 000de1e4 93e04107 00000000 omsxp32!XPProviderInit+0x4136
000de200 6bc4870b 65746b33 6bc44aff 00000028 omsxp32!XPProviderInit+0x4612
000de208 6bc44aff 00000028 93e04137 00010010 omsxp32!XPProviderInit+0x13bd
000de230 5f080b36 6bc30000 76c266bc 5f07a6ee omsxp32!ABProviderInit+0x39
000de294 5f08067e 029b0d48 029b1290 029213a8 olmapi32!ScCopyProps+0x965
000de334 5f07fbb8 029b0d48 3d010102 5f100ea0 olmapi32!ScCopyProps+0x4ad
000de3d4 5f07bac1 029b0d48 00000000 00000000 olmapi32!Ordinal297+0x82b
000de43c 5f07b54b 00000000 02920b58 00000000 olmapi32!MAPILogonEx+0x6b8
000de484 6fad2779 00000000 0238a104 00000000 olmapi32!MAPILogonEx+0x142
000de4a0 6fad5245 0238a104 0238a1c8 00128022 MLCFG32!DllMain+0x557
000de4c8 5f099f52 0238a100 0238a1d0 0238a100 MLCFG32!CPlApplet+0x28d
000dea4c 6fad563d 009a6268 0238a100 00000000 olmapi32!RPCTRACE+0x4ae
000dea70 6fad44dc 003514ae 02920e48 00000000 MLCFG32!CPlApplet+0x685
000deb0c 759f62fa 003514ae 00000111 00000454 MLCFG32!DllMain+0x22ba
000deb38 75a1f943 6fad442f 003514ae 00000111 USER32!InternalCallWinProc+0x23
000debb4 75a1f784 0051d4fc 6fad442f 003514ae USER32!UserCallDlgProcCheckWow+0x10f
000dec04 75a1f889 00e52e90 00000000 00000111 USER32!DefDlgProcWorker+0xb7
000dec24 759f62fa 003514ae 00000111 00000454 USER32!DefDlgProcW+0x29
000dec50 759f6d3a 75a1f860 003514ae 00000111 USER32!InternalCallWinProc+0x23
000decc8 759f965e 0051d4fc 776d4684 003514ae USER32!UserCallWinProcCheckWow+0x109
000ded0c 759f96c5 00e52e90 00000000 776d4684 USER32!SendMessageWorker+0x581
000ded30 75a35fbb 003514ae 00000111 00000454 USER32!SendMessageW+0x7f
000ded48 75a360fc 00e94570 00000000 00000000 USER32!xxxButtonNotifyParent+0x66
000ded70 75a2312e 0055cac8 00000000 00000001 USER32!xxxBNReleaseCapture+0x138
000dee0c 75a370b2 00e94570 00000000 00000202 USER32!ButtonWndProcWorker+0xa07
000dee34 759f62fa 00441602 00000202 00000000 USER32!ButtonWndProcW+0x54
000dee60 759f6d3a 75a3705e 00441602 00000202 USER32!InternalCallWinProc+0x23
000deed8 759f77c4 0051d4fc 7773819c 00441602 USER32!UserCallWinProcCheckWow+0x109
000def38 759f788a 7773819c 00000000 000def74 USER32!DispatchMessageWorker+0x3bc
000def48 75a1c81f 000def90 00000001 00e52e90 USER32!DispatchMessageW+0xf
000def74 75a1cde7 003514ae 00000000 0038156c USER32!IsDialogMessageW+0x5f6
000defb8 75a1cf5c 003514ae 0038156c 00000000 USER32!DialogBox2+0x15f
000defe4 75a1ce8a 68cb0000 68d6c174 0038156c USER32!InternalDialogBox+0xe5
000df004 75a1d009 68cb0000 68d6c174 0038156c USER32!DialogBoxIndirectParamAorW+0x37
000df028 6fad5add 68cb0000 0000044d 0038156c USER32!DialogBoxParamW+0x3f
000df074 6fad455a 68cb0000 0000044d 0038156c MLCFG32!CPlApplet+0xb25
000df09c 6fad463f 0038156c 00000000 02920e48 MLCFG32!DllMain+0x2338
000df0b8 6fad4e52 0038156c 02920dd8 0038156c MLCFG32!DllMain+0x241d
000df158 6fad4ef6 0038156c 0051dfb8 00000000 MLCFG32!DllMain+0x2c30
000df16c 75f69e2e 0038156c 00000005 00000000 MLCFG32!DllMain+0x2cd4
000df194 75f55fc1 0051dfb8 0038156c 00000005 SHELL32!CPL_CallEntry+0x3d
000dfa14 760c563e 0038156c 00170000 00515fec SHELL32!CPL_SwitchToOrLaunch+0x44c
000dfa30 0017137d 0038156c 00170000 00515fec SHELL32!Control_RunDLLNoFallback+0x18
000dfaa8 00171326 760c5626 0038156c 00170000 rundll32!CallRunDllFunction+0x22
000dfaf4 00171901 00515fa2 00000000 00515fec rundll32!wWinMain+0x122
000dfb88 75cf33ca 7efde000 000dfbd4 778c9ed2 rundll32!_initterm_e+0x1b1
000dfb94 778c9ed2 7efde000 7fac1d4b 00000000 kernel32!BaseThreadInitThunk+0xe
000dfbd4 778c9ea5 0017178c 7efde000 00000000 ntdll32!__RtlUserThreadStart+0x70
000dfbec 00000000 0017178c 7efde000 00000000 ntdll32!_RtlUserThreadStart+0x1b
FOLLOWUP_IP:
FOLLOWUP_IP:
omsxp32!XPProviderInit+45f0
omsxp32!XPProviderInit+45f0
6bc4b93e cc int 3
6bc4b93e cc int 3
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: omsxp32!XPProviderInit+45f0
FOLLOWUP_NAME: MachineOwner
MODULE_NAME:
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: omsxp32!XPProviderInit+45f0
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: omsxp32
omsxp32
IMAGE_NAME: omsxp32.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 4abf1222
STACK_COMMAND: ~0s ; kb
FAILURE_BUCKET_ID: ZEROED_STACK_e06d7363_omsxp32.dll!XPProviderInit
BUCKET_ID: X64_APPLICATION_FAULT_ZEROED_STACK_omsxp32!XPProviderInit+45f0
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1
Followup: MachineOwner
———
IMAGE_NAME: omsxp32.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 4abf1222
STACK_COMMAND: ~0s ; kb
FAILURE_BUCKET_ID: ZEROED_STACK_e06d7363_omsxp32.dll!XPProviderInit
BUCKET_ID: X64_APPLICATION_FAULT_ZEROED_STACK_omsxp32!XPProviderInit+45f0
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1
Followup: MachineOwner
———
Looking above we were getting crash pointing to a function omsxp32.dll. I then clicked the hyperlink of this dll name, which caused WinDbg to automatically run command lmvm omsxp32 which lists details of this module. I highlight a key thing:
0:000:x86> lmvm omsxp32
0:000:x86> lmvm omsxp32
start end module name
6bc30000 6bc69000 omsxp32 (export symbols) C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
Loaded symbol image file: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
Image path: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
Image name: omsxp32.dll
Timestamp: Sun Sep 27 17:20:02 2009 (4ABF1222)
CheckSum: 0003B96E
ImageSize: 00039000
File version: 14.0.4514.1004
Product version: 14.0.4514.0
File flags: 22 (Mask 3F) Pre-release Special
File OS: 40004 NT Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0000.04e4
CompanyName: Microsoft Corporation
ProductName: Microsoft Office 2010
InternalName: OMS
OriginalFilename: OMSXP32.DLL
ProductVersion: 14.0.4514.1004
FileVersion: 14.0.4514.1004
start end module name
6bc30000 6bc69000 omsxp32 (export symbols) C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
Loaded symbol image file: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
Image path: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
Image name: omsxp32.dll
Timestamp: Sun Sep 27 17:20:02 2009 (4ABF1222)
CheckSum: 0003B96E
ImageSize: 00039000
File version: 14.0.4514.1004
Product version: 14.0.4514.0
File flags: 22 (Mask 3F) Pre-release Special
File OS: 40004 NT Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0000.04e4
CompanyName: Microsoft Corporation
ProductName: Microsoft Office 2010
InternalName: OMS
OriginalFilename: OMSXP32.DLL
ProductVersion: 14.0.4514.1004
FileVersion: 14.0.4514.1004
FileDescription: Microsoft Outlook Mobile Service Provider
LegalCopyright: © 2009 Microsoft Corporation. All rights reserved.
FileDescription: Microsoft Outlook Mobile Service Provider
LegalCopyright: © 2009 Microsoft Corporation. All rights reserved.
If we look at Outlook.exe product version, doesn’t look like a match:
So I renamed omsxp32.dll to omsxp32.dll.bak and restarted Outlook:
OK so Outlook is running again. In this case the machine had previously had a beta version of Office 2010 thus the out-dated DLL file. The uninstall of beta mustn’t have worked properly, and this file wasn’t updated/replaced by the RTM version. Outlook still tried to load it though and didn’t have much luck with it.
Microsoft has an automated ‘Fix-It’ utility when versions of Office do not properly uninstall located here. http://support.microsoft.com/kb/290301
Because there was potential to be other issues with beta left overs I used the Fix-It utility to completely remove Office 2010, then re-install.
Great troubleshooting! Thanks for documenting it, still useful with office 2016 issues.