SW36Troubleshooting theWindows InstallerBob KellyFounder: AppDeploy.com
Bob Kelly  AppDeploy Library    http://www.appdeploy.com/library  Windows Vista community    http://www.realtime-vista.com...
Overview Interpreting Errors Controlling Logs Enabling Logging Reading Logs Troubleshooting Tools Common Errors
Interpreting Errors The errors reported by Windows Installer are internal errors Keep a print out of the errors and their ...
Controlling Logs Logging Values (voice warm up)  V = Verbose output  O = Out of disk space messages  I = Status messages  ...
Verbose LoggingSample withMSI (c) (CC:8C) [14:46:35:671]: Doing action: AppSearchAction 14:46:35: AppSearch. Searching for...
Methods to Enable Logging MSI Command Line EXE Command Line From EXE INI File From System Registry From Group Policy
MSI Command Line LoggingMsiexec.exe /i <msipackage> /lv* c:logfile.txt /qbMsiexec.exe /i winzip9.zip /lv* c:logswinzip9.lo...
EXE Command Line Loggingsetup.exe /v"/L*v <logfile> /qb"setup.exe /v"/L*v “c:logswinzip9.log" /qb"
EXE/INI Triggered Loggingsetup.exesetup.exe /settings <path to custom INI>[Logging]Type=v*Path=c:logs
Registry Triggered LoggingSubkey:   HKLMSoftwarePoliciesMicrosoftWindow   sInstallerValue:   Logging (REG_SZ)Data:   voice...
Policy Triggered Logging
Reading Logs Use the find function to locate instances of the keyword “error” Installer log return codes for logged action...
Windows Installer Tools  WiLogUtl  Windows Installer Cleanup Utility  MSIZAP  ORCA
Obtaining Tools Windows SDK for Windows Vista and .NET Framework 3.0 Runtime Components      Choose: Developer Tools > Win...
WiLogUtl Helps make sense of Windows Installer Error logs
Using WiLogUtil
Windows Installer Cleanup                   GUI Interface for                   MSIZAP                     http://support....
MSIZAPEliminates all traces of Windows Installer data from the local machine     T = remove all info for given product cod...
ORCA More like the WordPad vs. the Notepad of Windows Installer Editors http://msdn.microsoft.com/library/default.asp?url=...
ORCA Features forTroubleshooting
Common Errors Problems with Windows Installer MSI packages that require Setup.exe Understanding Application Log Entries In...
Broken Windows InstallerError 1719: “The Windows Installer service could not be accessed”    Reregister the Windows Instal...
Dealing with InstallScript  InstallShield Script (InstallScript) has many  benefits for developers, but can be  problemati...
Dealing withInstallShield Script
Application Log Entries  Significant events are logged to the  Application Event Log  Products and components are often  i...
Interpreting ApplicationEvent Log Entries
Inaccessible Network LocationError 1606: “The feature identifier is not registered.”    Network location cannot be accesse...
Fatal Error During InstallError 1603: “A fatal error occurred during installation”    Create verbose log to see actual pro...
Invalid Source LocationError 1603: “No valid source could be found for product ”    Always know your source    Use DFS sha...
Common CA Problems Windows Script Host is not available   WScript.CreateObject   WScript.Quit   WScript.Sleep   WScript.Ec...
Reference Materials  Microsoft    How to use a setup log file to troubleshoot    setup problems in Office           http:/...
Contact Bob Kelly www.AppDeploy.com/Contact.asp
© 2007 Microsoft Corporation. All rights reserved.Microsoft, Windows, Windows Vista and other product names are or may be ...
Troubleshooting the Windows Installer
Troubleshooting the Windows Installer
Upcoming SlideShare
Loading in …5
×

Troubleshooting the Windows Installer

2,810 views

Published on

A presentation by Bob Kelly from the 2007 Microsoft Management Summit about troubleshooting Windows Installer (MSI) installations.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,810
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • The AppDeploy Library contains an extensive document library and hours of video presentations on system and application deployment topics Admin Script Editor is a powerful suite of scripting tools for Windows Administrators
  • Interpreting errors- what the different error codes mean and where to find out more about them Controlling logs– the different values and what the real difference is between a verbose and non verbose log Enabling Logging- there are a handful of ways to enable logging and we will briefly cover those Reading Logs– understanding the log files and the information presented.
  • SDK help file is also often provided with professional MSI editors like Package Studio and AdminStudio, however the tools that come with the Windows Installer SDK are not redistributable and while some may be downloaded individually, the platform SDK is the only way to obtain them all. Windows Installer errors have an error code of 1000 or greater 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Windows Installer Error 1603 – “A fatal error occurred during installation” = You need a log! Before discussing where and how to turn on logging, it is important to understand what can be logged… * Wildcard is to log all information except for “V”. To get it all, use “*V”
  • Verbose obviously logs more information. The hexadecimal values you see in parentheses indicate what process is performing the logged action. With the exception of Windows 9x/ME systems that run all actions as one process, Windows Installer runs installations as two distinct processes: client and server. The client process runs the UI in the user context (collects user information and displays the UI). The server process runs as a service and performs the main installation (executes the installation script). Both processes occur on the same computer and are logged to the same file. This code 2262 here (if we referred to our error list) indicates that the stream is not available– in other words, there are no LaunchConditions specified for this particular package. Not really an error, but just informational– without verbose logging, this is not even called to our attention.
  • When enabling logging from the command line, you start with whatever action you wish to perform (and log) such as install or uninstall. The MSI file in question and then for the logging value it is /l and then (with no space) what you want to log (voicewarmup). This /lv* gets us everything. Then add a space and provide the path and file name for the log file you wish to generate. The path you specify for the log file must exist or you will get a pop-up message that the log file could not be opened.
  • With many InstallShield setups you may find that they are wrapped within an executable. The good news from the command line is that you can still pass arguments into the embedded MSI with the /v argument. The /v argument must be the last InstallShield parameter on the command line. Though supported Windows Installer parameters may be passed through to the MSI package, no InstallShield command-line parameters can follow the /v argument. Although it was not really necessary in this example, I wanted to show that if you need to put quotes in the command line (such as when dealing with spaces) – because the /v argument itself is enclosed in quotes, you must precede any quotes with a backslash to “escape” them.
  • Some setups such as MS office, provide an INI file for the setup which you may modify to dictate the behavior of the installation. For office, this file is to be stored at the admin installation point in a subfolder named “setup”. There is even a Setup INI customization wizard to help you manage this file. There is a logging section and you can change the type value to reflect what it is you want logged. You can also specify a path for log files by adding a Path value to this logging section. If you modify the Setup.ini file in the Files\\Setup folder of your administrative installation, you do not need a custom command line. However, if you rename the modified Setup.ini file, or it is located in a location other than the Files\\Setup folder of your Office installation, use a command line that is similar to the following to reference the new settings file More: http://support.microsoft.com/kb/308279
  • If installing via group policy or if you want to log the installation of an advertised package (or first use feature) you don ’t have these command line options available. For these we can edit the registry or use group policy… The wildcard does not work well here, use VOICEWARMUP to get a good log.
  • The policy is located under computer configuration &gt; administrative templates &gt; windows components &gt; Windows Installer – here you can set your logging control values we discussed earlier (voicewarmup) When set to run via policy (either by registry edit or policy edit) you do not have the ability to specify the path for the log file– they are generated in the %temp% folder with a randomly generated name that starts with MSI and ends with .LOG. If the setup is running via group policy with nobody logged on, the log file will appear in the windows/temp folder. So if you don ’t see it in your temp folder, check there.
  • Quite often one error will generate another and so forth. Therefore you may see several errors when you view a log file. It can sometimes be the case that the error returned in the end is not always the cause but may be the result of an earlier error. The error returned is often helpful, but the entries in a verbose log leading up to the error can sometimes be even more revealing. When searching this log– start from the top of the file an search for the word “error”. You may be used to seeing zero to indicate success; not here . A return value of 4 typically means that the action cannot be completed until the computer is restarted.
  • Now one very helpful tool to analyzing logs is WiLogUtil from Microsoft. This is a good segway into the other freely available tools you may make use of in troubleshooting problems so I ’ll take a quick time out from the log discussion to cover how to obtain these tools…
  • Note that the Windows Installer is included in the Windows SDK but you will have a hard time finding mention of it. During installation choose (at a minimum) the “Developer Tools &gt; Windows Development Tools &gt; Win32 Development Tools” feature to get the Windows Installer Tools (about 16mb required). Tools are installed here by default: C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0\\Bin If you want the Windows Installer documentation (recommend) you should also choose the “Documentation &gt; Win32” feature The Windows Installer SDK was available by itself previously, and the download is less than 8mb. It ’s not the latest information or tools, but it is much easier to obtain if you need one of the tools quickly. 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • AdminStudio comes with a nice MSI Log Analyzer, which I recommend looking into if you happen to own that product.
  • In the original release, there were two versions of the Windows Installer Clean Up Utility: Msicu.exe (for use in Microsoft Windows 95, Windows 98 and Windows ME), and Msicuu.exe (for use in Windows NT, Windows 2000, Windows XP, and Windows Server 2003). Msicu.exe was removed because Msicuu.exe now works with all 32-bit versions of Microsoft Windows. 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • MsiZap requires admin privileges to run correctly. The W option requires that the profiles for all of the users be loaded. Included in SDK and in the separately available Windows Installer Cleanup Utility (a much faster download if this is all you are after) 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Quick like notepad– just right click on an MSI file, choose Edit with ORCA and it opens almost immediately– great for taking a look at an MSI. For major changes or authoring of an MSI a more robust tools is strongly recommended due to the relational nature of the MSI database and the many complex decimal values that translate to settings for the item in question. 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Orca is a type of whale, which explains the odd icon.
  • 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • For administrators InstallScript adds an additional level of complication in the need for installation of the InstallScript Runtime. To ensure that the required InstallScript Runtime is available MSI packages that utilize it must be launched from an accompanying setup.exe which can perform a check and if necessary an installation/upgrade of InstallScript as well as any custom InstallScript code prior to proceeding with the call to the MSI package. This makes it difficult to deploy- particularly via Group Policy which requires an MSI directly. It also makes it difficult to customize as you cannot create a response transform with most tools (all request a target MSI which is launched, in this case an MSI that cannot be launched directly). Further, this can make it difficult to include the installation using any conflict detection/resolution utilities.
  • 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. This video covers how to work with InstallScript packages by either: creating an MST to remove the check for InstallScript or to pass a public property which will bypass the check. It is about seven minutes in length.
  • Any pop up messages (or would be pop up messages) appear in the Application Log
  • Any directories in the Directory table will be validated by the CostFinalize sequence. Any entries that do not start with a drive letter are seen as network paths. If you have a mapped drive or redirected folder listed and the package is running with no user logged on, these paths may be inaccessible. Clean up your Directory table.
  • about as helpful as “contact your administrator” The Default Impersonation Level must be set to Identify for installations assigned to computers or otherwise set to run when no user profile is active. Verify that the DCOM Configuration Properties Default Impersonation Level is set correctly. Users that have their Default Impersonation Level set to Anonymous experience this error message. To change the impersonation level, follow these steps: Click on the Start button. Select Run. Enter DCOMCNFG then click OK. Select NO for any Warning screens that are presented. The &quot;Distributed COM Configuration Properties&quot; screen is displayed. Select the Default Properties tab. The &quot;Defaults Impersonation Level&quot; field must be set to &quot;Identify&quot;. Select Apply then OK. Article on AppDeploy for more, but you can also delete the place in the registry where the impersonation level is set and the default is appropriate to bypass this issue. 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Many self-extracting packages decompress and run from a temporary location. This will be the default source location when a repair is triggered and if not managed, the user will be prompted for source. 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • In particular if you do not handle when a custom action will run, it may try to run during uninstall. If this will fail, then your uninstall will fail and rollback to a “installed” state when you try to remove it. To fix this you would need to edit the locally cached MSI in the Installer directory or use MSIZAP. The installer runs script custom actions directly and does not use the Windows Script Host. The WScript object cannot be used inside a script custom action because this object is provided by the Windows Script Host. Objects in the Windows Script Host object model can only be used in custom actions if Windows Script Host is installed on the computer by creating new instances of the object, with a call to CreateObject, and providing the ProgId of the object (for example &quot;WScript.Shell&quot;). Depending on the type of script custom action, access to some objects and methods of the Windows Script Host object model may be denied for security reasons.
  • 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 10/24/12 16:16 Microsoft Management Summit 2007, March 26-30, 2007, San Diego, California© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Troubleshooting the Windows Installer

    1. 1. SW36Troubleshooting theWindows InstallerBob KellyFounder: AppDeploy.com
    2. 2. Bob Kelly AppDeploy Library http://www.appdeploy.com/library Windows Vista community http://www.realtime-vista.com Author and editor for several books, articles and papers on the topics of scripting and desktop administration… http://www.bkelly.com
    3. 3. Overview Interpreting Errors Controlling Logs Enabling Logging Reading Logs Troubleshooting Tools Common Errors
    4. 4. Interpreting Errors The errors reported by Windows Installer are internal errors Keep a print out of the errors and their definitions. Microsoft Windows SDK (Vista) Documentation Win32 and COM Development > Administration and Management > Application Installation and Servicing > Windows Installer > Windows Installer Reference > Error Reference > Windows Installer Error Messages MSDN Library Online http://msdn2.microsoft.com/en-us/library/aa372835.aspx AppDeploy Online Reference http://www.appdeploy.com/msierrors/
    5. 5. Controlling Logs Logging Values (voice warm up) V = Verbose output O = Out of disk space messages I = Status messages C = Initial UI parameters E = All error messages W = Non-fatal warnings A = Startup of actions R = Action-specific records M = Out of memory or fatal exit information U = User requests P = Show properties + = Append to existing file ! = Empty the logging cache
    6. 6. Verbose LoggingSample withMSI (c) (CC:8C) [14:46:35:671]: Doing action: AppSearchAction 14:46:35: AppSearch. Searching for installed applicationsAction start 14:46:35: AppSearch.MSI (c) (CC:8C) [14:46:35:671]: Note: 1: 2262 2: AppSearch 3: -2147287038Action ended 14:46:35: AppSearch. Return value 1.MSI (c) (CC:8C) [14:46:35:671]: Doing action: LaunchConditionsAction 14:46:35: LaunchConditions. Evaluating launch conditionsAction start 14:46:35: LaunchConditions.MSI (c) (CC:8C) [14:46:35:687]: Note: 1: 2262 2: LaunchCondition 3: -2147287038Action ended 14:46:35: LaunchConditions. Return value 1.Sample withoutAction 14:48:40: AppSearch. Searching for installed applicationsAction start 14:48:40: AppSearch.Action ended 14:48:40: AppSearch. Return value 1.Action 14:48:40: LaunchConditions. Evaluating launch conditionsAction start 14:48:40: LaunchConditions.Action ended 14:48:40: LaunchConditions. Return value 1.
    7. 7. Methods to Enable Logging MSI Command Line EXE Command Line From EXE INI File From System Registry From Group Policy
    8. 8. MSI Command Line LoggingMsiexec.exe /i <msipackage> /lv* c:logfile.txt /qbMsiexec.exe /i winzip9.zip /lv* c:logswinzip9.log /qb
    9. 9. EXE Command Line Loggingsetup.exe /v"/L*v <logfile> /qb"setup.exe /v"/L*v “c:logswinzip9.log" /qb"
    10. 10. EXE/INI Triggered Loggingsetup.exesetup.exe /settings <path to custom INI>[Logging]Type=v*Path=c:logs
    11. 11. Registry Triggered LoggingSubkey: HKLMSoftwarePoliciesMicrosoftWindow sInstallerValue: Logging (REG_SZ)Data: voicewarmup
    12. 12. Policy Triggered Logging
    13. 13. Reading Logs Use the find function to locate instances of the keyword “error” Installer log return codes for logged actions 0 = Action not invoked; may not exist 1 = Completed actions successfully 2 = User terminated prematurely 3 = Unrecoverable error occurred 4 = Sequence suspended, to resume later
    14. 14. Windows Installer Tools WiLogUtl Windows Installer Cleanup Utility MSIZAP ORCA
    15. 15. Obtaining Tools Windows SDK for Windows Vista and .NET Framework 3.0 Runtime Components Choose: Developer Tools > Windows Development Tools > Win32 Development Tools http://download.microsoft.com/download/a/7/7/a7767f09-0136-4a96- a1f8-276bf0ee31fa/Setup.exe Windows Installer SDK (v1) http://www.microsoft.com/downloads/details.aspx?FamilyID=e96f8abc- 62c3-4cc3-93ad-bfc98e3ae4a3&DisplayLang=en AppDeploy.com http://www.appdeploy.com/techhomes/windowsinstaller.asp
    16. 16. WiLogUtl Helps make sense of Windows Installer Error logs
    17. 17. Using WiLogUtil
    18. 18. Windows Installer Cleanup GUI Interface for MSIZAP http://support.microsoft. com/kb/290301
    19. 19. MSIZAPEliminates all traces of Windows Installer data from the local machine T = remove all info for given product code P = remove In-Progress key S = remove Rollback Information A = for any specified removal, change ACLs to Admin Full Control W = perform removal for all users (default is for current user only) M = remove managed patch registration info G = remove orphaned cached Windows Installer data files for all users L = remove corrupted source list information ! = force a positive response to any verification prompts * = remove all Windows Installer folders and registry keys; adjust shared DLL counts; stop Windows Installer service /nologo = Do not display the logo message. This should be the last option
    20. 20. ORCA More like the WordPad vs. the Notepad of Windows Installer Editors http://msdn.microsoft.com/library/default.asp?url=/library/en- us/msi/setup/orca_exe.asp Can be used to perform MSI validation Supports working with merge modules Transform creation Indicates any changes made by a transform
    21. 21. ORCA Features forTroubleshooting
    22. 22. Common Errors Problems with Windows Installer MSI packages that require Setup.exe Understanding Application Log Entries Inaccessible Network Location Fatal Error During Installation Invalid Source Location Common Custom Action Problems
    23. 23. Broken Windows InstallerError 1719: “The Windows Installer service could not be accessed” Reregister the Windows Installer service msiexec /unregister msiexec /regserver Reinstallation or upgrade to latest
    24. 24. Dealing with InstallScript InstallShield Script (InstallScript) has many benefits for developers, but can be problematic for administrators due to requirement for setup.exe Deploy ISSETUP.MSI beforehand Remove the SETUP.EXE dependency Remove custom action that performs the check using a transform file Specify a public property (ISSETUPDRIVEN) at the command line
    25. 25. Dealing withInstallShield Script
    26. 26. Application Log Entries Significant events are logged to the Application Event Log Products and components are often identified by GUID Lookup in Registry Run install from command line: msiexec /i <GUID>
    27. 27. Interpreting ApplicationEvent Log Entries
    28. 28. Inaccessible Network LocationError 1606: “The feature identifier is not registered.” Network location cannot be accessed The CostFinalize action verifies all potential install folders in directory table Inadvertent entries Entries that do not start with a drive letter Roaming profile location on network in unavailable share
    29. 29. Fatal Error During InstallError 1603: “A fatal error occurred during installation” Create verbose log to see actual problem One common cause: InstallShield Script DCOM security 1: Event E3250601 is created 1: GetInstallDriver, Can not find InstallDriver in ROT table, Return code = 0x800401e3 1: [GUID] 1: ISMsiServerStartup Failure, Failed to create InstallDriver, Error = 0x8000401a Action ended ISMsiServerStartup. Return Value 1603
    30. 30. Invalid Source LocationError 1603: “No valid source could be found for product ” Always know your source Use DFS share or consistently available network drive Beware of self extracting packages!
    31. 31. Common CA Problems Windows Script Host is not available WScript.CreateObject WScript.Quit WScript.Sleep WScript.Echo Know your exit codes (any non-zero return is failure and will result in rollback)
    32. 32. Reference Materials Microsoft How to use a setup log file to troubleshoot setup problems in Office http://support.microsoft.com/kb/826511 AppDeploy  Windows Installer Error Forum  http://www.appdeploy.com/messageboards/tt.asp?forumid=13  Windows Installer Error Reference  http://www.appdeploy.com/msierrors  Windows Installer Tech Home  http://www.appdeploy.com/techhomes/windowsinstaller.asp
    33. 33. Contact Bob Kelly www.AppDeploy.com/Contact.asp
    34. 34. © 2007 Microsoft Corporation. All rights reserved.Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

    ×