Friday, August 22, 2008

Office 2008 12.1.2 Update Fails after Monolingual

My Office 2008 for mac downloaded the update 12.1.2 but failed to install. I assumed this was because I used Monolingual since it was the most aggressive "cleansing" product I had installed since updating Office 2008 to 12.1.1 (which installed fine). The error I got on 12.1.2 was:

"You cannot install Office 2008 12.1.2 Update on this Volume. A version of the software required to install this update was not found on this volume"

I was able to workaround this by doing these basic steps:

  1. Download the actual Office 2008 12.1.2 update file from microsoft (http://www.microsoft.com/mac/downloads.mspx) to your desktop
  2. Right click (cntrl click) the file and select show package contents
  3. Browse in finder to Contents/Resources
  4. Open the file package_updatable with TextEdit
  5. Scroll down to the line that says "found_valid_version=False"
  6. Change the word False to True
  7. Delete the text between "found_valid_version=False" and "if not found_valid_version:" but don't remove "if not found_valid_version:". I put a copy of my file below for reference.
  8. Close TextEdit and save the file when prompted.
  9. Overwrite the read only if/when prompted.
  10. Re-run the install by double-clicking the Office 2008 Update file.
Again, this worked for me. Hope someone else finds it useful as well.

Here's an example of the file after removing the text and changing false to true:






#!/usr/bin/python

#
#
#
#
#
#
#
#
#

import os, sys, cPickle
from popen2 import Popen3

def CheckSum(file_path):
"""
Validate the file checksum
"""
checksum=None
size=None
process=Popen3(['/usr/bin/cksum', file_path], False)
while True:
textline=process.fromchild.readline()
if (not textline) and (process.poll()!=-1): #
break
if textline:
textline=textline.rstrip('\n')
checksum=int(textline.split()[0])
size=int(textline.split()[1])
process_status=process.wait()
return checksum, size

script_path=sys.argv[0]
package_path=sys.argv[1]
install_path=sys.argv[2]
#
#

updatables=[]
updatables_path = os.path.join(package_path, 'Contents', 'Resources', 'updatables')
if os.path.exists(updatables_path):
fd = open(updatables_path)
updatables = cPickle.load(fd)
fd.close()
else:
print >>sys.stderr, "cannot find updatables file in '%s'" % updatables_path
sys.exit(48)

found_valid_version=True

if not found_valid_version:
sys.exit(48)

sys.exit(0)






5 comments:

Mark Hudson said...

It worked! I didn't use Monolingual, but a similar tool, but this solution solved the 12.1.2 problem.
Thank you so much!

Mark - Sydney, AUS

billywhite said...

When I try to save the changes from text edit, I get an error message saying 'package_updatable could not be saved. Any suggestions as to how to save the changes are appreciated.

Billy - Sebastopol, CA

Mark Hudson said...

You need to have write privileges on the installer file.

Usually OS X will prompt you to enter a username/password with write access?

billywhite said...

Thanks Mark, but before I can use the installer, I have to edit and save the changes to package_updatable in the Resources folder. I am unable to make a change to that folder in any way I can think of. I'm not getting a prompt for username/password.

Mark Hudson said...

Billy, presuming you saved the installed onto a hard disk (not a read only CD or something) all I can offer is what I did which is follow the instructions ;)

Perhaps try a different text editor? I think I just used TextEdit, but I can also recommend Smultron.

Sorry I can't be of more assistance!

MH