Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Help me help you if you have setup bugs

Help me help you if you have setup bugs

Rate This
  • Comments 74

I've gotten some email questions from customers about setup failures that they've seen on their computers.  Some of them are 1935 errors that match some of the previous blog posts I've written, some are .NET Framework errors, and some are general problems getting some program installed.

I cannot guarantee that I will be able to help solve all setup-related problems you may encounter, but I can guarantee that I will take a look and try to help if I can.  In order to do so I would like to ask that you try to gather some detailed information and send it to me if you contact me via email to aid in troubleshooting and debugging:

  1. As much detail about the error message as possible, including the full text of any error messages.
  2. Any troubleshooting steps that you have already tried, including links to any of my other blog posts that you've already tried.
  3. Most importantly - log files from the setup if at all possible.  You can zip and upload log files to a file server of your choice and include a link to the log files when you contact me.  My preference is http://skydrive.live.com because it is free, gives you a lot of storage space, and doesn't contain annoying ads to try to get you to pay for "premium" services like faster download speeds.

Most setups are Windows Installer MSIs.  For those products, you can enable verbose logging by setting a couple of registry values and then reproducing the problem.  Here are a set of steps you can use to gather a Windows Installer verbose log file:

Important note - some MSI-based setups, including the .NET Framework 2.0, 3.0, 3.5 and higher, will not create log files named %temp%\msi*.log even if using the instructions listed below.  Please see this blog post for more details about why that is the case and also for a list of some products that I know of that use different log file creation logic and the locations of the log files that they create.

  1. If you are running Windows XP or older:  Click on the Start menu, choose Run, type cmd and click OK
  2. If you are running Windows Vista or newer:  Click on the Start menu, choose All Programs, then Accessories, then right-click on the item named Command prompt and choose Run as administrator
  3. Copy this command into the cmd prompt and press enter to run it:  reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Debug /t REG_DWORD /d 7 /f 
  4. Copy this command into the cmd prompt and press enter to run it:  reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Logging /t REG_SZ /d voicewarmupx! /f
  5. Re-run the setup and let it fail one more time
  6. Go to your temporary folder (go to the Start menu, choose Run, and type %temp%)
  7. Locate a file named msi*.log (where * is a randomly generated set of letters and numbers)
  8. Zip the msi*.log file (because it tends to be very large but since it is text it compresses nicely)
  9. Run this command in the cmd prompt:  reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Debug /f
  10. Run this command in the cmd prompt:  reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v Logging /f
  11. Upload the zipped log files to a file server such as http://skydrive.live.com

<update date="3/27/2007"> Changed steps to enable/disable verbose logging to not require downloading .reg files from my file server </update>

<update date="2/27/2008"> Added a link to a new blog post with information about some products that create their own verbose log files and therefore do not create %temp%\msi*.log, even when the verbose logging policy is enabled on the system. </update>

<update date="12/2/2010"> Added information about uploading log files to http://skydrive.live.com. </update>

<update date="11/17/2011"> Added clarifications to steps 2 and 3 to indicate that the commands need to be run separately, not as a single command. Also added a note about running as administrator on Windows Vista or later. </update>

 

  • A while back, I posted a list of instructions that can be used to enable Windows Installer verbose logging

  • A while back, I posted a list of instructions that can be used to enable Windows Installer verbose logging

  • A while back, I posted a set of instructions that can be used to try to resolve .NET Framework installation

  • A while back, I posted a set of instructions that can be used to try to resolve .NET Framework installation

  • I'm hit by the transient resiliency repair window...

    All I get in the verbose MSI log is:

    === Verbose logging started: 2008/04/09  11:55:45  Build type: SHIP UNICODE 3.01.4000.4039  Calling process: I:\PROGRA~1\MI1933~1\OFFICE11\WINWORD.EXE ===

    MSI (c) (E4:70) [11:55:45:223]: Resetting cached policy values

    MSI (c) (E4:70) [11:55:45:223]: Machine policy value 'Debug' is 7

    MSI (c) (E4:70) [11:55:45:223]: ******* RunEngine:

              ******* Product: {9AE192E3-7B50-4EF0-9993-3B3280240AD2}

              ******* Action:

              ******* CommandLine:  ADDDEFAULT=_MainFeature

    MSI (c) (E4:70) [11:55:45:238]: Client-side and UI is none or basic: Running entire install on the server.

    MSI (c) (E4:70) [11:55:45:238]: Grabbed execution mutex.

    MSI (c) (E4:70) [11:55:45:801]: Cloaking enabled.

    MSI (c) (E4:70) [11:55:45:801]: Attempting to enable all disabled priveleges before calling Install on Server

    MSI (c) (E4:70) [11:55:45:847]: Incrementing counter to disable shutdown. Counter after increment: 0

    MSI (s) (5C:4C) [11:55:46:160]: Grabbed execution mutex.

    MSI (s) (5C:04) [11:55:46:160]: Resetting cached policy values

    MSI (s) (5C:04) [11:55:46:175]: Machine policy value 'Debug' is 7

    MSI (s) (5C:04) [11:55:46:175]: ******* RunEngine:

              ******* Product: {9AE192E3-7B50-4EF0-9993-3B3280240AD2}

              ******* Action:

              ******* CommandLine:  ADDDEFAULT=_MainFeature CURRENTDIRECTORY="H:\" CLIENTUILEVEL=2  CLIENTPROCESSID=4580

    MSI (s) (5C:04) [11:55:46:175]: Machine policy value 'DisableUserInstalls' is 0

    MSI (s) (5C:04) [11:55:46:207]: MainEngineThread is returning 1605

    MSI (c) (E4:70) [11:55:46:222]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1

    MSI (c) (E4:70) [11:55:46:222]: MainEngineThread is returning 1605

    MSI (c) (E4:C8) [11:55:46:285]: Entering MsiProvideComponentFromDescriptor. Descriptor: ']gAVn-}f(ZXfeAR6.jiHandWritingFiles>Wz_B='plK=LZgdoVXdYG, PathBuf: 127A0C, pcchPathBuf: 127A08, pcchArgsOffset: 127968

    MSI (c) (E4:C8) [11:55:46:285]: Machine policy value 'DisableUserInstalls' is 0

    MSI (c) (E4:C8) [11:55:46:378]: MsiProvideComponentFromDescriptor is returning: 0

    === Verbose logging stopped: 2008/04/09  11:55:46 ===

    Any clue? How do I determine why that product is "needed" by e.g. Word and how to remove that dependency?

    P.S. msiexec /x '{9AE192E3-7B50-4EF0-9993-3B3280240AD2}' tells me the product is not installed

  • Hi Sba - For resiliency repairs like this, I typically look at the application event log first.  There should be 2 warnings logged at the time that you see this repair pop up on your system.  They will be from the source named MsiInstaller.  They should list the product code of the MSI being repaired.  One of the warnings should list the exact component GUID of the component that is being accessed that initiates the health check and the other warning should list the exact component GUID and resource that is missing that triggers the repair.

    Hopefully this helps you narrow this down further.

  • A while back, I posted a list of possible log files for .NET Framework 3.5 and Visual Studio 2008 setup

  • Hi Aaron,

    I'm trying to install a Win32 Shared assembly using IS12. I've got Error 1935.An error occurred during the installation of assembly component.

    The HRESULT is 0x800736B5 (The manifest file contains one or more syntax error). I have also a line with "MsiProvideAssembly is returning: 1607"

    Regards

  • Hi Nicol@s - This sounds like a problem with the files that you are adding to your setup and/or a problem with the authoring of your MSI.  I'd suggest checking the syntax of your Win32 assembly manifest first.  Also, error code 1607 means "the component identifier is not registered."  I don't have enough familiarity with InstallShield to know what to suggest to try to resolve that type of error, but it sounds like something with the way you are authoring your components.  Maybe they have an FAQ on their site that could help suggest some fixes, or maybe someone on their forums would be able to suggest some things for you to check in your setup authoring.

  • Hi Aaron,

    I'm not sure there was a syntax error in my manifest. I solved my problem renaming the manifest file (it was not the same name as in the manifest file itself) and changing the publicKeyToken value (it was a wrong value, because I have 3 chained certificates, I do not execute the pktextract on the good one).

    Regards

  • Question: I am attempting to automate the installation of the Visual Studio 2008 SDK , but have not been

  • hi

    i try now xx hours to install vcs btw net framework 3.5 sp1

    error:

    [11/07/08,22:51:43] Microsoft .NET Framework 3.0 SP2 x86: [2] Error: Installation failed for component Microsoft .NET Framework 3.0 SP2 x86. MSI returned error code 1603

    i open now dd_dotnetfxinstall and search for value:3

    i found that

    [11/08/08,03:02:29] Setup.exe: GetGlobalCustomProperty - Property: {2B7DE335-914B-476F-AF77-E9EF03938188} - PropertyName: Component Number - Value: 3

    [11/08/08,03:02:29] Setup.exe: GetGlobalCustomProperty - Property: {2B7DE335-914B-476F-AF77-E9EF03938188} - PropertyName: Component Number - Value: 3

    i have them around 20times

    i olso look on file called MSIdc507 but here i dont find a value 3

    thx i realy end of my power about this :(

  • Hi Koksi - The file dd_dotnetfxinstall35.txt is not a verbose MSI log, so searching for "return value 3" in that log won't help.  You will need to look at the verbose log file for the .NET Framework 3.0 SP2.  .NET Framework setup configures verbose logging by default, and the logs will be in the locations listed in the blog post at http://blogs.msdn.com/astebner/archive/2008/04/30/8445569.aspx.

    Specifically, you will want to look for a log named %temp%\dd_net_framework30*.txt, and then search for "return value 3" in that log.

    Hopefully this helps.

  • so now i should have correct file

    dd_NET_Framework30_setupFB

    at least i saw in that log "Verbose logging stopped"

    MSI (s) (7C:8C) [05:12:58:171]: PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '3'.

    MSI (s) (7C:8C) [05:13:07:343]: Note: 1: 2262 2: Error 3: -2147287038

    MSI (s) (7C:8C) [05:13:07:343]: Transforming table Error.

    from them i have many

    MSI (s) (7C:8C) [05:13:07:359]: Attempting to delete file C:\WINDOWS.0\Installer\f6931.msp

    MSI (s) (7C:8C) [05:13:07:359]: Unable to delete the file. LastError = 32

    (i try to locate this file but could not find them)

    i copy them out what i think that could be intresting

    exactly that i not find value 3 or value:3

    btw i olso tryed msciuu2 cleaning tool and dotnetfx_cleanup_tool olso without success :(

    thx for your time

  • Hi Koksi - Could you please zip your .NET Framework log files and post them to a file server (such as skydrive.live.com), and then post a link back here so I can download them and take a look to see if I can figure out what is causing this installation failure on your system?

Page 3 of 5 (74 items) 12345
Leave a Comment
  • Please add 7 and 8 and type the answer here:
  • Post