Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS with no warranties, and confer no rights. Additionally, views expressed herein are my own and not those of my employer, Microsoft.
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:
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.
<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 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:
******* 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.
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).
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
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?