troubleshooting the windows installer

36
Troubleshooting the Troubleshooting the Windows Installer Windows Installer Bob Kelly Bob Kelly Founder: AppDeploy.com Founder: AppDeploy.com SW36 SW36

Upload: itninja

Post on 28-Jun-2015

1.730 views

Category:

Documents


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Troubleshooting the Windows Installer

Troubleshooting the Troubleshooting the Windows Installer Windows Installer

Bob KellyBob KellyFounder: AppDeploy.comFounder: AppDeploy.com

SW36SW36

Page 2: Troubleshooting the Windows Installer

Bob Kelly

AppDeploy Libraryhttp://www.appdeploy.com/library

Windows Vista communityhttp://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

Page 3: Troubleshooting the Windows Installer

Overview

Interpreting Errors

Controlling Logs

Enabling Logging

Reading Logs

Troubleshooting Tools

Common Errors

Page 4: Troubleshooting the Windows Installer

Interpreting ErrorsInterpreting Errors

The errors reported by Windows The errors reported by Windows Installer are internal errorsInstaller are internal errors

Keep a print out of the errors and Keep a print out of the errors and their definitions.their definitions.

Microsoft Windows SDK (Vista) DocumentationMicrosoft Windows SDK (Vista) DocumentationWin32 and COM Development > Administration and Win32 and COM Development > Administration and Management > Application Installation and Servicing Management > Application Installation and Servicing > Windows Installer > Windows Installer Reference > > Windows Installer > Windows Installer Reference > Error Reference > Windows Installer Error MessagesError Reference > Windows Installer Error Messages

MSDN Library OnlineMSDN Library Onlinehttp://msdn2.microsoft.com/en-us/library/http://msdn2.microsoft.com/en-us/library/aa372835.aspxaa372835.aspx

AppDeploy Online ReferenceAppDeploy Online Referencehttp://www.appdeploy.com/msierrors/http://www.appdeploy.com/msierrors/

Page 5: Troubleshooting the Windows Installer

Controlling LogsControlling Logs

Logging Values (voice warm up)Logging Values (voice warm up)VV = Verbose output = Verbose output

O O = Out of disk space messages= Out of disk space messages

II = Status messages = Status messages

CC = Initial UI parameters = Initial UI parameters

EE = All error messages = All error messages

WW = Non-fatal warnings = Non-fatal warnings

A A = Startup of actions= Startup of actions

RR = Action-specific records = Action-specific records

MM = Out of memory or fatal exit information = Out of memory or fatal exit information

UU = User requests = User requests

PP = Show properties = Show properties

++ = Append to existing file = Append to existing file

! ! = Empty the logging cache= Empty the logging cache

Page 6: Troubleshooting the Windows Installer

Verbose LoggingSample with

Sample without

MSI (c) (CC:8C) [14:46:35:671]: Doing action: AppSearchMSI (c) (CC:8C) [14:46:35:671]: Doing action: AppSearchAction 14:46:35: AppSearch. Searching for installed applicationsAction 14:46:35: AppSearch. Searching for installed applicationsAction start 14:46:35: AppSearch.Action start 14:46:35: AppSearch.MSI (c) (CC:8C) [14:46:35:671]: Note: 1: 2262 2: AppSearch 3: -2147287038 MSI (c) (CC:8C) [14:46:35:671]: Note: 1: 2262 2: AppSearch 3: -2147287038 Action ended 14:46:35: AppSearch. Return value 1.Action ended 14:46:35: AppSearch. Return value 1.MSI (c) (CC:8C) [14:46:35:671]: Doing action: LaunchConditionsMSI (c) (CC:8C) [14:46:35:671]: Doing action: LaunchConditionsAction 14:46:35: LaunchConditions. Evaluating launch conditionsAction 14:46:35: LaunchConditions. Evaluating launch conditionsAction start 14:46:35: LaunchConditions.Action start 14:46:35: LaunchConditions.MSI (c) (CC:8C) [14:46:35:687]: Note: 1: 2262 2: LaunchCondition 3: -MSI (c) (CC:8C) [14:46:35:687]: Note: 1: 2262 2: LaunchCondition 3: -2147287038 2147287038 Action ended 14:46:35: LaunchConditions. Return value 1.Action ended 14:46:35: LaunchConditions. Return value 1.

Action 14:48:40: AppSearch. Searching for installed applicationsAction 14:48:40: AppSearch. Searching for installed applicationsAction start 14:48:40: AppSearch.Action start 14:48:40: AppSearch.Action ended 14:48:40: AppSearch. Return value 1.Action ended 14:48:40: AppSearch. Return value 1.Action 14:48:40: LaunchConditions. Evaluating launch conditionsAction 14:48:40: LaunchConditions. Evaluating launch conditionsAction start 14:48:40: LaunchConditions.Action start 14:48:40: LaunchConditions.Action ended 14:48:40: LaunchConditions. Return value 1.Action ended 14:48:40: LaunchConditions. Return value 1.

Page 7: Troubleshooting the Windows Installer

Methods to Enable Logging

MSI Command Line

EXE Command Line

From EXE INI File

From System Registry

From Group Policy

Page 8: Troubleshooting the Windows Installer

MSI Command Line LoggingMsiexec.exe /i <msipackage> /lv* c:\

logfile.txt /qb

Msiexec.exe /i winzip9.zip /lv* c:\logs\winzip9.log /qb

Page 9: Troubleshooting the Windows Installer

EXE Command Line Loggingsetup.exe /v"/L*v <logfile> /qb"

setup.exe /v"/L*v \“c:\logs\winzip9.log\" /qb"

Page 10: Troubleshooting the Windows Installer

EXE/INI Triggered Logging

setup.exesetup.exe /settings <path to custom INI>

[Logging][Logging]Type=v*Type=v*Path=c:\logsPath=c:\logs

Page 11: Troubleshooting the Windows Installer

Registry Triggered LoggingSubkey: HKLM\Software\Policies\

Microsoft\Windows\Installer

Value:Logging (REG_SZ)

Data:voicewarmup

Page 12: Troubleshooting the Windows Installer

Policy Triggered Logging

Page 13: Troubleshooting the Windows Installer

Reading LogsReading Logs

Use the find function to locate Use the find function to locate instances of the keyword instances of the keyword ““errorerror””Installer log return codes for logged Installer log return codes for logged actionsactions

00 = Action not invoked; may not exist = Action not invoked; may not exist

11 = Completed actions successfully = Completed actions successfully

22 = User terminated prematurely = User terminated prematurely

33 = Unrecoverable error occurred = Unrecoverable error occurred

44 = Sequence suspended, to resume later = Sequence suspended, to resume later

Page 14: Troubleshooting the Windows Installer

Windows Installer ToolsWindows Installer Tools

WiLogUtlWiLogUtl

Windows Installer Cleanup UtilityWindows Installer Cleanup Utility

MSIZAPMSIZAP

ORCAORCA

Page 15: Troubleshooting the Windows Installer

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.comhttp://www.appdeploy.com/techhomes/windowsinstaller.asp

Page 16: Troubleshooting the Windows Installer

WiLogUtl

Helps make sense of Windows Installer Error logs

Page 17: Troubleshooting the Windows Installer

Using WiLogUtilUsing WiLogUtil

Page 18: Troubleshooting the Windows Installer

Windows Installer CleanupWindows Installer CleanupGUI Interface for MSIZAP

http://http://support.microsoft.cosupport.microsoft.com/kb/290301m/kb/290301

Page 19: Troubleshooting the Windows Installer

MSIZAPMSIZAPEliminates all traces of Windows Installer data from the local Eliminates all traces of Windows Installer data from the local

machinemachine

T T = remove all info for given product code= remove all info for given product code

P P = remove In-Progress key= remove In-Progress key

S S = remove Rollback Information= remove Rollback Information

A A = for any specified removal, change ACLs to Admin Full Control= for any specified removal, change ACLs to Admin Full Control

WW = perform removal for all users (default is for current user only) = perform removal for all users (default is for current user only)

MM = remove managed patch registration info = remove managed patch registration info

GG = remove orphaned cached Windows Installer data files for all users = remove orphaned cached Windows Installer data files for all users

L L = remove corrupted source list information= remove corrupted source list information

! ! = force a positive response to any verification prompts= force a positive response to any verification prompts

* * = remove all Windows Installer folders and registry keys; adjust = remove all Windows Installer folders and registry keys; adjust shared DLL counts; stop Windows Installer serviceshared DLL counts; stop Windows Installer service

/nologo /nologo = Do not display the logo message. This should be the last = Do not display the logo message. This should be the last optionoption

Page 20: Troubleshooting the Windows Installer

ORCA

More like the WordPad vs. the Notepad of Windows Installer Editorshttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/orca_exe.asp

Can be used to perform MSI validation Can be used to perform MSI validation

Supports working with merge modulesSupports working with merge modules

Transform creationTransform creation

Indicates any changes made by a Indicates any changes made by a transformtransform

Page 21: Troubleshooting the Windows Installer

ORCA Features for ORCA Features for TroubleshootingTroubleshooting

Page 22: Troubleshooting the Windows Installer

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

Page 23: Troubleshooting the Windows Installer

Broken Windows InstallerBroken Windows Installer

Reregister the Windows Installer Reregister the Windows Installer serviceservice

msiexec /unregistermsiexec /unregister

msiexec /regservermsiexec /regserver

Reinstallation or upgrade to latestReinstallation or upgrade to latest

Error 1719: Error 1719: ““The Windows Installer service could not be accessedThe Windows Installer service could not be accessed””

Page 24: Troubleshooting the Windows Installer

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 dependencyRemove custom action that performs the check using a transform fileSpecify a public property (ISSETUPDRIVEN) at the command line

Page 25: Troubleshooting the Windows Installer

Dealing with Dealing with InstallShield ScriptInstallShield Script

Page 26: Troubleshooting the Windows Installer
Page 27: Troubleshooting the Windows Installer

Application Log EntriesApplication Log Entries

Significant events are logged to the Significant events are logged to the Application Event LogApplication Event Log

Products and components are often Products and components are often identified by GUIDidentified by GUID

Lookup in RegistryLookup in Registry

Run install from command line:Run install from command line:msiexec /i <GUID>msiexec /i <GUID>

Page 28: Troubleshooting the Windows Installer

Interpreting Interpreting Application Event Log Application Event Log EntriesEntries

Page 29: Troubleshooting the Windows Installer

Inaccessible Network Location

Network location cannot be accessed

The CostFinalize action verifies all potential install folders in directory table

Inadvertent entriesEntries that do not start with a drive letterRoaming profile location on network in unavailable share

Error 1606: Error 1606: ““The feature identifier is not registered.The feature identifier is not registered.””

Page 30: Troubleshooting the Windows Installer

Fatal Error During InstallFatal Error During Install

Create verbose log to see actual Create verbose log to see actual problemproblem

One common cause: InstallShield One common cause: InstallShield Script DCOM securityScript DCOM security

Error 1603: Error 1603: ““A fatal error occurred during installationA fatal error occurred during installation””

1: Event 'E3250601' is created1: Event 'E3250601' is created1: GetInstallDriver, Can not find InstallDriver in ROT 1: GetInstallDriver, Can not find InstallDriver in ROT table, Return code = 0x800401e3table, Return code = 0x800401e31: [GUID]1: [GUID]1: ISMsiServerStartup Failure, Failed to create 1: ISMsiServerStartup Failure, Failed to create InstallDriver, Error = 0x8000401a Action ended InstallDriver, Error = 0x8000401a Action ended ISMsiServerStartup. Return Value 1603ISMsiServerStartup. Return Value 1603

Page 31: Troubleshooting the Windows Installer

Invalid Source LocationInvalid Source Location

Always know your sourceAlways know your source

Use DFS share or consistently Use DFS share or consistently available network driveavailable network drive

Beware of self extracting packages!Beware of self extracting packages!

Error 1603: Error 1603: ““No valid source could be found for product No valid source could be found for product ””

Page 32: Troubleshooting the Windows Installer

Common CA Problems

Windows Script Host is not availableWScript.CreateObjectWScript.QuitWScript.SleepWScript.Echo

Know your exit codes (any non-zero return is failure and will result in rollback)

Page 33: Troubleshooting the Windows Installer

Reference Materials

MicrosoftHow 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

Page 34: Troubleshooting the Windows Installer

Contact Bob Kelly

www.AppDeploy.com/Contact.asp

Page 35: Troubleshooting the Windows Installer

© 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.

Page 36: Troubleshooting the Windows Installer