Diagnosing Installation Failures

When a CAB file fails to install, we pop up an ambiguous error message.  We could put more detailed info there (and there is a bug sitting in our database saying we should investigate doing so) but the reality is that when a CAB fail, there's really nothing the typical user can do to fix it themselves... they are at the mercy of the developer who needs to provide a modified CAB file.

That said, it's obviously important that developers be able to diagnose these failures if they are reported by end users.  For this, we spit out a detailed log file which you can find in \Application Data\Volatile\setup.log.  It's long and it's XML so skimming line by line can be tedious.  To quickly find out where the installation failed, just do a quick search for the word "error" in that file.  There are a few edge cases where installation fails before we get a chance to spit out this file but I've found that this trick is almost always enough to point in the direction of what went wrong.

Oh... one other thing to check:  the most common reason I've seen for users reporting installation failures on Windows Mobile 5 is the new "timeout" mechanism.  When wceload shows its "we don't know where this came from.  do you really want to install it?" and the user doesn't respond within several minutes, the installtion fails and we show that ambiguous error message.  So when someone reports that a CAB failed, I first ask them to try again and respond to the prompt quickly.  If it still doesn't work, I ask for the log file.


Comments (19)

  1. Roopak says:

    I tried to find out the issue with the installation piece I was doing, I found the log file, but I still dont know whats wrong

    here is some part of the log file

    <characteristic-error type="FileOperation">

    <characteristic type="Program FilesXxxxxxxxxMTAApplicationsXxxxxxxTemplatesadmin" translation="install">

    <characteristic type="MakeDir"/>

    <characteristic type="purgeConfirm.html" translation="install">

    <characteristic type="Extract">

    <parm name="Source" value="PURGEC~1.055"/>



    <characteristic type="reInit.act" translation="install">


    There are lot of ….lines here (almost all the files that I am trying to copy)

    Why is the error in FileOperaton? And what is it

  2. Roopak says:

    This might be useful


    <characteristic type="Install">

    <parm name="InstallPhase" value="install"/>

    <parm name="ProcessorType" value="2577"/>

    <parm name="BuildNumberMin" value="0"/>

    <parm name="BuildNumberMax" value="-536870912"/>

    <parm name="UnsupportedPlatforms" value="HPC"/>

    <parm name="AppName" value="Xxxxxxxxx MTA Agent"/>

    <parm name="InstallDir" value="Program FilesXxxxxxxxMTA" translation="install"/>

    <parm name="NumDirs" value="18"/>

    <parm name="NumFiles" value="89"/>

    <parm name="NumRegKeys" value="0"/>

    <parm name="NumRegVals" value="0"/>

    <parm name="NumShortcuts" value="0"/>


    <characteristic-error type="FileOperation">

  3. DigitalAir says:

    The same story… =(

    I can’t find any explanation of the installation problem from the

    <characteristic-error type="Install">


    There is no any idea about a reason of the failure. What is really strange is that several files that I expected to be deleted after uninstallation are still alive and can be removed manually. So if I install application and then uninstall it, I can’t install it again. And when I try to install Application overy already installed one I have even more stange things happening.

    When I clean everything (registery and files) manually and restart Today or Softreset the device I can install Application again.

    Any ideas are highly appretiated!

  4. Brian says:

    Is there anywhere on a Mobile 5 device that the error log is saved? I would like to debug an issue, but I can not copy the file once the crash report, reports; I can only send the file? Thank you in advance.

  5. Nargis Ali says:

    This article helped me alot to debug the problem I was having with my application on Treo 700w.


    Nargis Ali

  6. Juro says:

    Brian, try on HTC device. We were wondering how to reproduce the installation problems and then we observed that the most of the people have the problem on HTC Wizard phones (Imate K-Jam aka QTEK 9100 aka MDA Vario,…). We have bought this phone and we are now able to reproduce this problem. Unfortunately we are not able to fix it. Application cannot be uninstalled (all the files leave on SD card) and it is not able to install the application which need to overwrite any file. I would love to cooperate on this ugly problem with anyone. I can give you any details you need.

  7. Jeremy says:

    Above you mention there are a few "edge" cases where installation fails before the setup.log file is created.  

    What is suggested in this case?

  8. Matthew says:

    I have an installer that works reliably on all the WM5 PPC phones I’ve tested it on. However, I have had SEVERE problems now that I am trying it on WM5 SP. I am using the Motorola Q, which SHOULD NOT be a shipping product in my opinion, but its waht I need to get stuff working on.

    I have a few Qs here with same software version but unaccountably different install behavoir. I’ve tried hard resetting to no avail. On some, the install works fine, but the update fails unless I put in a long sleep. The update pulls services from the registry, reboots, uses a separate service to lauch wceload with the CAB file, and then finally reboots via setup.dll at the end so the services are running when the device comes back up. With no wait, it always fails with the ambigous error of 3 failed directories when the install_exit routine is run in setup.dll, though clearly all the files and registry keys are NOT processed, though they have a fail count of 0. Adding a 5 sec sleep before launching wceload fixes it. This is NOT an issue on PPC, but SP is slow so maybe it needs time, fine.

    HOWEVER, I get the same damn error on another Q, with the exact same software versions, no matter when I launch the install. This is on the initial install, not update. I have looked at the setup.log but it  appears absolutely worthless. It lists everything in the CAB, all files, all registry entries. It startes out with "characteristic-error type" on the first file operation line, then proceeds to list everything it should do. There are 8 directories, which 3 are failing? What about all the files and registry keys? Is there a magic non-obvious way to read this log file, or is it just totally worthless?

    I’m in a time crunch, and seriously don’t have time to write my own installer, but I fear that may be waht I have to do if I can’t get wceload  to cease being the steaming pile of shit that it currently is.

  9. jklcom99 says:

    I tried to install this particular cab file on my PPC 6700 (Mobile 5) but I got the message that the installation was unsuccessful.  Where is the log file?  Please help, thank you.

  10. Mike Edwards says:

    Has anyone found a problem in overwriting an existing install? If I run my CAB file on the WM5 device the first time, it is fine. But if it has to overwrite the app (for example when I release a version update) it fails, and the program files and folders have to be manually erased. It is very frustrating and I cannot find out what I am doing wrong.

  11. ivarklung_X_gmail.com says:

    I have a CAB file that is being installed on a HTC TyTN WM 2005 and after confirming to install it, it installs and gives the completed successfully message.

    The log file is ok, with no errors on it.

    Watching the installation the files are extracted correctly (using file explorer)

    BUT just as the installation is being completed the files are simply deleted (but the registry information is still there)

    The app or cab files are NOT signed.

    Running the CAB on a WM 2003 SE device works fine. Also copying the files from WM03SE device to WM05 works fine and runs the software without any problems.

    What is the background for this strange behaviour?

    Thank you for anyhelp

  12. Jeff says:

    I have the same problem on some HTC devices. For the first time the cab file is installed successfully. Then I uninstalled the app and sometimes the exe file was left in the Windows folder. In this case if I reinstall the cab file it will fail with this in the setup.log:

    <characteristic-error type="Install">


    I have my own setup.dll and in the Uninstall_Init function I have terminated the process. My log file can confirm it.

  13. Rusty says:

    Is there any log file produced by cab installation failures on Windows Mobile 2003?  If not, what is the recommended method for debugging installation failures on Windows Mobile 2003?

  14. scyost says:

    Did you try the setup.log mentioned in this post?

  15. Rusty says:

    I searched the device from Vista while it was docked.  I did not find any folders called Application Data or Volatile nor a file called setup.log.

    I also search for other setup, log, and txt files, but I found nothing of interest.

    Is the log file missing due an edge case as mentioned above or does Windows Mobile 2003 not produce these log files?

  16. scyost says:

    Good question. Are you running Pocket PC or Smartphone? I think Pocket PC 2003 might not have produced the log files. (It didn’t yet support XML in CABs if I recall correctly) If not that, then it’s possible that the WMDC file explorer is hiding hiddensystem files. Is there a setting in the menus for that?

  17. Rusty says:

    It is an HP iPAQ h5555 Pocket PC.

    The "File Explorer" on the device has a context menu option titled "View All Files" that I keep checked.  Despite being a context menu, its state is static across all directories.

    Is there any other way to debug cab installation failures?

    Thanks for your help by the way.

  18. Tim Layton says:

    based on everything I read in this thread the error seems to be related to the device/platform and not all devices.  For example, I don’t think you will see this on an HTC device.  

  19. Martin says:

    In case of upgrade, Many times you have to search for old files of the program to install, delete then and try to install again. It worked for me.



Skip to main content