Mark's Stuff

My Foray Into Weblogging. Using this to store interesting items for later review.

Monday, September 21, 2009

Fixing Error 1603 on MSI installs

For some reason that I have not been able to figure out yet, I have been having problems with some software installations failing on my Windows 7 system with a message like this (or similar to this):


In this case, it was installing Intellipoint, but I had the problem with installing Mozy Backup client, VirtualBox, and a couple other apps that I don't remember right now.  I was able to fix each of these installations individually, and will describe it here (so that I can find it again when I need it).  But this does not seem to be a widespread problem, and I am still not sure why my system does this and not (many) others.

I used the instructions on John McBride's blog (Virtual Box 3 and Windows 7 (Making it work!)), with a couple of additional items relating to logging the install and finding the msi installation package.

  1. First, we need to see the log to see what caused the 1603 error above.  By default, any system does not keep the installation logs or the installer files when it fails.  So first we need to have Windows Installer log its steps so the we can see what caused the error.  Using instructions from MS Support (How to enable Windows Installer logging) I edit the registry with the following entry:


    Or you can save this to a file and dbl-click it to install it in your registry.  This will create a log file in your temp directory for each installation using Windows installer. 
  2. So now run your install that will fail again.  Don't answer the error message yet!  When you answer, it will clean up the installation files and you may want to grab those files first.

    Did you start the installation by running an .msi file?  Then that is good, you have the file that you need to possibly fix.  But it is likely you started using an .exe file, and it is a compressed self-extracting file, the .msi is packed in that file with other files for the setup process.  We want the files that were extracted.

    Go to your Temp directory to open the log file.  (Tip: at least in Vista and Win7, you can easily get to your Temp directory by clicking Start button and typing "%Temp%" without the dbl-quotes; hit enter and you're there.)  The log file will be named Msi*.log, and probably the most current file is the one you are after.  Open it in your favorite text editor.

    In the log file, within the first 20 lines or so, it will tell you where the temp directory that the files were extracted.  In this case, it's a line like this:

    Package we're running from ==> C:\Users\Mark\AppData\Local\Temp\msiB374.tmp\mozy.msi

    This shows our installation files are in C:\Users\Mark\AppData\Local\Temp\msiB374.tmp\, so go there are copy the directory to another directory so you have copies of the files to work with.

    Now you can answer the error message and let the installation clean up after itself. 
  3. (The rest of this is from John McBride's blog (Virtual Box 3 and Windows 7 (Making it work!)).)
    You will need Orca MSI Editor from the Platform SDK installation ( I used Windows 7 Platform SDK).  For these particular errors, it a problem with the DIFXAPP drivers in the installation package.  I got updated files DIFxApp.dll and DIFxAppA.dll from the Windows Driver Kit for Windows 7 and Windows Server 2008 (from MSDN Downloads).
  4. Open the MSI file in Orca MSI Editor.  Select the Binary table on the left.  You should see the 2 dll's listed on the right.
  5. Delete each of these rows: right-click on the row and select "Drop Row".
  6. Right click in empty area on the right side and select "Add Row".  Navigate to the location of the updated drivers from the Drivers Library (C:\WinDDK\7100.0.0\redist\DIFx\DIFxApp\WixLib\x86).  Add both the DIFxApp.dll and DIFxAppA.dll files, making sure the row name is the same as the DLL file name.
  7. Save the MSI file.
  8. Install.

That's it.  Each of the 4 installations worked for me then.

Labels: , ,