Microsoft Office Mac Suddenly Stops Working – FIX!
Update: check this newer post for an Perl script that fixes all directories at once. Keep reading for details on why this problem happens and what the script is doing.
After combing the web for an explanation to why my Microsoft Office Mac suddenly stopped working with several errors similar to
Process: Microsoft Excel  Path: /Applications/Microsoft Office 2011/Microsoft Excel.app/Contents/MacOS/Microsoft Excel Identifier: com.microsoft.Excel Version: 14.2.5 (14.2.5) Build Info: Unknown-121010~0 Code Type: X86 (Native) Parent Process: launchd  User ID: 501 Date/Time: 2012-12-10 15:52:31.708 -0500 OS Version: Mac OS X 10.8.2 (12C60) Report Version: 10 Interval Since Last Report: 9 sec Crashes Since Last Report: 1 Per-App Interval Since Last Report: 1 sec Per-App Crashes Since Last Report: 1 Anonymous UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000 VM Regions Near 0: --> __PAGEZERO 0000000000000000-0000000000001000 [ 4K] ---/--- SM=NUL /Applications/Microsoft Office 2011/Microsoft Excel.app/Contents/MacOS/Microsoft Excel VM_ALLOCATE 0000000000001000-00000000000b4000 [ 716K] ---/--- SM=NUL
and not finding a solution other than a full manual, and laborious, unistall and followed by a fresh install I decided to look deeper into the issue. By running each Office little helper applications, like Microsoft Query.app (in the /Applications/Microsodt Office 2011/Office/), I found that one of them reported MicrosoftComponentPlugin.framework as “non existent”.
By listing the contents of /Applications/Microsodt Office 2011/Office/MicrosoftComponentPlugin.framework I saw that some of the symbolic links were broken. That gave me the hint to figure out what was going on – for some strange reason the links of several files in the Office directory were being corrupted.
To fix the problem you just need to find all broken links and then fix them one by one
cd /Applications/Microsoft\ Office\ 2011/Office/ find -L . -type l
You should see a list of all the broken links. Like this
find -L . -type l ./MSXML.framework/MSXML ./MSXML.framework/Versions/Current ./MViewLib.framework/MViewLib ./MViewLib.framework/Resources ./MViewLib.framework/Versions/Current ./OfficeArt.framework/OfficeArt ./OfficeArt.framework/Resources ./OfficeArt.framework/Versions/Current ./SmartArt.framework/Resources ./SmartArt.framework/SmartArt ./SmartArt.framework/Versions/Current ./wlmstrings.framework/Resources ./wlmstrings.framework/Versions/Current ./wlmstrings.framework/wlmstrings
Now you need to change to each directory and fix the links. You can do this manually, but since the problem was the same in all directories I wrote a small shell script that helps in this process. All you need to do is to run the script inside the main directory where the links are broken. So taking the list of broken links above notice that there are 3 broken links in each directory. The script fixes the 3 links at once, so you only need to run it once in each directory.
Here it is:
#!/bin/bash OFFICE="/Applications/Microsoft Office 2011/Office/" VERSION="14" RESOURCES="Versions/$VERSION/Resources" echo "Settings" echo "Office Directory : $OFFICE" echo "Office Version : $VERSION" echo "Resources Directory: $RESOURCES" echo sudo unlink Resources sudo ln -s $RESOURCES Resources cd Versions sudo unlink Current sudo ln -s $VERSION Current cd ..
Copy & Paste this to a text file (call it fixoffice.sh), and make if executable by running
chmod 700 fixoffice.sh
If your Office version is different change the VERSION variable. You can determine the version by listing the content of the Version sub folders of the folders with broken links. Example:
ls -als ./MSXML.framework/MSXML/Version
You should see something like:
drwxrwxr-x 4 root wheel 136B Dec 27 14:50 ./ drwxrwxr-x 5 root wheel 170B Dec 27 15:01 ../ drwxrwxr-x 6 root wheel 204B Dec 10 17:15 14/ lrwxr-xr-x 1 root wheel 2B Dec 27 14:50 Current@ -> ?:?
Notice the “?:?” (or similar) in the Current link. If all was ok Current should point to folder “14″ (in this example) which also is the Office version you have installed.
To fix the links run the fixoffice.sh inside the folder that has the broken links.
Once the links are corrected the folder should look like this:
drwxrwxr-x 5 root wheel 170B Dec 27 15:01 ./ drwxrwxr-x 109 root wheel 3.6K Dec 10 17:12 ../ lrwxr-xr-x 1 root wheel 41B Dec 10 17:04 MicrosoftComponentPlugin@ -> Versions/Current/MicrosoftComponentPlugin lrwxr-xr-x 1 root wheel 22B Dec 27 15:01 Resources@ -> Versions/14/Resources/ drwxrwxr-x 4 root wheel 136B Dec 27 14:50 Versions/
After you fix all the links in all the folders returned by the find command your Microsoft Office will work once again!
If you’d like to contribute a script that automates the total process you’ll be considered a “Rock Star”
Good luck. Let me know if this works for you.