SlideShare une entreprise Scribd logo
1  sur  36
SW36




Troubleshooting the
Windows Installer

Bob Kelly
Founder: AppDeploy.com
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
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
 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/
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
Verbose Logging
Sample with
MSI (c) (CC:8C) [14:46:35:671]: Doing action: AppSearch
Action 14:46:35: AppSearch. Searching for installed applications
Action start 14:46:35: AppSearch.
MSI (c) (CC:8C) [14:46:35:671]: Note: 1: 2262 2: AppSearch 3: -2147287038
Action ended 14:46:35: AppSearch. Return value 1.
MSI (c) (CC:8C) [14:46:35:671]: Doing action: LaunchConditions
Action 14:46:35: LaunchConditions. Evaluating launch conditions
Action start 14:46:35: LaunchConditions.
MSI (c) (CC:8C) [14:46:35:687]: Note: 1: 2262 2: LaunchCondition 3: -2147287038
Action ended 14:46:35: LaunchConditions. Return value 1.

Sample without
Action 14:48:40: AppSearch. Searching for installed applications
Action start 14:48:40: AppSearch.
Action ended 14:48:40: AppSearch. Return value 1.
Action 14:48:40: LaunchConditions. Evaluating launch conditions
Action start 14:48:40: LaunchConditions.
Action ended 14:48:40: LaunchConditions. Return value 1.
Methods to Enable Logging
 MSI Command Line
 EXE Command Line
 From EXE INI File
 From System Registry
 From Group Policy
MSI Command Line Logging
Msiexec.exe /i <msipackage> /lv* c:logfile.txt /qb




Msiexec.exe /i winzip9.zip /lv* c:logswinzip9.log /qb
EXE Command Line Logging
setup.exe /v"/L*v <logfile> /qb"




setup.exe /v"/L*v “c:logswinzip9.log" /qb"
EXE/INI Triggered Logging
setup.exe
setup.exe /settings <path to custom INI>


[Logging]
Type=v*
Path=c:logs
Registry Triggered Logging
Subkey:
   HKLMSoftwarePoliciesMicrosoftWindow
   sInstaller
Value:
   Logging (REG_SZ)
Data:
   voicewarmup
Policy Triggered Logging
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
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 > 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
WiLogUtl
 Helps make sense of Windows Installer
 Error logs
Using WiLogUtil
Windows Installer Cleanup
                   GUI Interface for
                   MSIZAP
                     http://support.microsoft.
                     com/kb/290301
MSIZAP
Eliminates 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
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
ORCA Features for
Troubleshooting
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
Broken Windows Installer
Error 1719: “The Windows Installer service could not be accessed”

    Reregister the Windows Installer service
        msiexec /unregister
        msiexec /regserver
    Reinstallation or upgrade to latest
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
Dealing with
InstallShield Script
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>
Interpreting Application
Event Log Entries
Inaccessible Network Location
Error 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
Fatal Error During Install
Error 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
Invalid Source Location
Error 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!
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)
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
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 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

Contenu connexe

Tendances

January Patch Tuesday Webinar 2018
January Patch Tuesday Webinar 2018January Patch Tuesday Webinar 2018
January Patch Tuesday Webinar 2018Ivanti
 
Patch Tuesday Analysis - December 2015
Patch Tuesday Analysis - December 2015Patch Tuesday Analysis - December 2015
Patch Tuesday Analysis - December 2015Ivanti
 
December2016 patchtuesdayshavlik
December2016 patchtuesdayshavlikDecember2016 patchtuesdayshavlik
December2016 patchtuesdayshavlikLANDESK
 
Patch Tuesday Analysis - July 2015
Patch Tuesday Analysis - July 2015Patch Tuesday Analysis - July 2015
Patch Tuesday Analysis - July 2015Ivanti
 
Patch Tuesday Analysis - January 2016
Patch Tuesday Analysis - January 2016Patch Tuesday Analysis - January 2016
Patch Tuesday Analysis - January 2016Ivanti
 
Web Security 100
Web Security 100Web Security 100
Web Security 100Eric Smith
 
Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015Ivanti
 
October 2017 Ivanti Patch Tuesday Analysis
October 2017 Ivanti Patch Tuesday AnalysisOctober 2017 Ivanti Patch Tuesday Analysis
October 2017 Ivanti Patch Tuesday AnalysisIvanti
 
August Patch Tuesday Analysis
August Patch Tuesday AnalysisAugust Patch Tuesday Analysis
August Patch Tuesday AnalysisIvanti
 
Java Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesJava Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesLumension
 
Memory forensics cheat sheet
Memory forensics cheat sheetMemory forensics cheat sheet
Memory forensics cheat sheetMartin Cabrera
 
Ivanti Patch Tuesday November 2017
Ivanti Patch Tuesday November 2017Ivanti Patch Tuesday November 2017
Ivanti Patch Tuesday November 2017Ivanti
 
August Patch Tuesday 2016
August Patch Tuesday 2016August Patch Tuesday 2016
August Patch Tuesday 2016LANDESK
 
Patch Tuesday Analysis - August 2015
Patch Tuesday Analysis - August 2015Patch Tuesday Analysis - August 2015
Patch Tuesday Analysis - August 2015Ivanti
 
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)FFRI, Inc.
 
Windows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeology
Windows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeologyWindows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeology
Windows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeologyMichael Gough
 
Patch Tuesday Analysis - June 2016
Patch Tuesday Analysis - June 2016Patch Tuesday Analysis - June 2016
Patch Tuesday Analysis - June 2016Ivanti
 
Introducing Intelligence Into Your Malware Analysis
Introducing Intelligence Into Your Malware AnalysisIntroducing Intelligence Into Your Malware Analysis
Introducing Intelligence Into Your Malware AnalysisBrian Baskin
 

Tendances (18)

January Patch Tuesday Webinar 2018
January Patch Tuesday Webinar 2018January Patch Tuesday Webinar 2018
January Patch Tuesday Webinar 2018
 
Patch Tuesday Analysis - December 2015
Patch Tuesday Analysis - December 2015Patch Tuesday Analysis - December 2015
Patch Tuesday Analysis - December 2015
 
December2016 patchtuesdayshavlik
December2016 patchtuesdayshavlikDecember2016 patchtuesdayshavlik
December2016 patchtuesdayshavlik
 
Patch Tuesday Analysis - July 2015
Patch Tuesday Analysis - July 2015Patch Tuesday Analysis - July 2015
Patch Tuesday Analysis - July 2015
 
Patch Tuesday Analysis - January 2016
Patch Tuesday Analysis - January 2016Patch Tuesday Analysis - January 2016
Patch Tuesday Analysis - January 2016
 
Web Security 100
Web Security 100Web Security 100
Web Security 100
 
Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015
 
October 2017 Ivanti Patch Tuesday Analysis
October 2017 Ivanti Patch Tuesday AnalysisOctober 2017 Ivanti Patch Tuesday Analysis
October 2017 Ivanti Patch Tuesday Analysis
 
August Patch Tuesday Analysis
August Patch Tuesday AnalysisAugust Patch Tuesday Analysis
August Patch Tuesday Analysis
 
Java Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesJava Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant Vulnerabilities
 
Memory forensics cheat sheet
Memory forensics cheat sheetMemory forensics cheat sheet
Memory forensics cheat sheet
 
Ivanti Patch Tuesday November 2017
Ivanti Patch Tuesday November 2017Ivanti Patch Tuesday November 2017
Ivanti Patch Tuesday November 2017
 
August Patch Tuesday 2016
August Patch Tuesday 2016August Patch Tuesday 2016
August Patch Tuesday 2016
 
Patch Tuesday Analysis - August 2015
Patch Tuesday Analysis - August 2015Patch Tuesday Analysis - August 2015
Patch Tuesday Analysis - August 2015
 
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
 
Windows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeology
Windows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeologyWindows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeology
Windows File Auditing Cheat Sheet ver Oct 2016 - MalwareArchaeology
 
Patch Tuesday Analysis - June 2016
Patch Tuesday Analysis - June 2016Patch Tuesday Analysis - June 2016
Patch Tuesday Analysis - June 2016
 
Introducing Intelligence Into Your Malware Analysis
Introducing Intelligence Into Your Malware AnalysisIntroducing Intelligence Into Your Malware Analysis
Introducing Intelligence Into Your Malware Analysis
 

Similaire à Troubleshooting the Windows Installer

MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'Roel van Bueren
 
Advanced Debugging with Visual Studio 2013 Preview
Advanced Debugging with Visual Studio 2013 PreviewAdvanced Debugging with Visual Studio 2013 Preview
Advanced Debugging with Visual Studio 2013 PreviewDanijel Malik
 
R12 d49656 gc10-apps dba 02
R12 d49656 gc10-apps dba 02R12 d49656 gc10-apps dba 02
R12 d49656 gc10-apps dba 02zeesniper
 
Fcm rapid-install-11122-1634210
Fcm rapid-install-11122-1634210Fcm rapid-install-11122-1634210
Fcm rapid-install-11122-1634210raman pattanaik
 
Swift configurator installation-manual
Swift configurator installation-manualSwift configurator installation-manual
Swift configurator installation-manualPramod Sharma
 
Windows Server 2008 Management
Windows Server 2008 ManagementWindows Server 2008 Management
Windows Server 2008 ManagementHi-Techpoint
 
Windows Server 2008 Management
Windows Server 2008 ManagementWindows Server 2008 Management
Windows Server 2008 ManagementHi-Techpoint
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7llangit
 
Free tools for win server administration
Free tools for win server administrationFree tools for win server administration
Free tools for win server administrationConcentrated Technology
 
MS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsMS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsSpiffy
 
Windows service best practice
Windows service best practiceWindows service best practice
Windows service best practiceYu GUAN
 
Free tools for rapidly deploying software
Free tools for rapidly deploying softwareFree tools for rapidly deploying software
Free tools for rapidly deploying softwareConcentrated Technology
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and TechniquesBala Subra
 

Similaire à Troubleshooting the Windows Installer (20)

Windows 8.1 a closer look
Windows 8.1 a closer lookWindows 8.1 a closer look
Windows 8.1 a closer look
 
IIS Web Ecosystem
IIS Web EcosystemIIS Web Ecosystem
IIS Web Ecosystem
 
installaware_faq
installaware_faqinstallaware_faq
installaware_faq
 
MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'
 
Advanced Debugging with Visual Studio 2013 Preview
Advanced Debugging with Visual Studio 2013 PreviewAdvanced Debugging with Visual Studio 2013 Preview
Advanced Debugging with Visual Studio 2013 Preview
 
Rapidly deploying software
Rapidly deploying softwareRapidly deploying software
Rapidly deploying software
 
R12 d49656 gc10-apps dba 02
R12 d49656 gc10-apps dba 02R12 d49656 gc10-apps dba 02
R12 d49656 gc10-apps dba 02
 
Prepping software for w7 deployment
Prepping software for w7 deploymentPrepping software for w7 deployment
Prepping software for w7 deployment
 
Fcm rapid-install-11122-1634210
Fcm rapid-install-11122-1634210Fcm rapid-install-11122-1634210
Fcm rapid-install-11122-1634210
 
Swift configurator installation-manual
Swift configurator installation-manualSwift configurator installation-manual
Swift configurator installation-manual
 
Windows Server 2008 Management
Windows Server 2008 ManagementWindows Server 2008 Management
Windows Server 2008 Management
 
Windows Server 2008 Management
Windows Server 2008 ManagementWindows Server 2008 Management
Windows Server 2008 Management
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7
 
Free tools for win server administration
Free tools for win server administrationFree tools for win server administration
Free tools for win server administration
 
Vs2005p
Vs2005pVs2005p
Vs2005p
 
MS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsMS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applications
 
Windows service best practice
Windows service best practiceWindows service best practice
Windows service best practice
 
Free tools for rapidly deploying software
Free tools for rapidly deploying softwareFree tools for rapidly deploying software
Free tools for rapidly deploying software
 
Technical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a ServiceTechnical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a Service
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques
 

Troubleshooting the Windows Installer

  • 1. SW36 Troubleshooting the Windows Installer Bob Kelly Founder: AppDeploy.com
  • 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. Overview Interpreting Errors Controlling Logs Enabling Logging Reading Logs Troubleshooting Tools Common Errors
  • 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. 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. Verbose Logging Sample with MSI (c) (CC:8C) [14:46:35:671]: Doing action: AppSearch Action 14:46:35: AppSearch. Searching for installed applications Action start 14:46:35: AppSearch. MSI (c) (CC:8C) [14:46:35:671]: Note: 1: 2262 2: AppSearch 3: -2147287038 Action ended 14:46:35: AppSearch. Return value 1. MSI (c) (CC:8C) [14:46:35:671]: Doing action: LaunchConditions Action 14:46:35: LaunchConditions. Evaluating launch conditions Action start 14:46:35: LaunchConditions. MSI (c) (CC:8C) [14:46:35:687]: Note: 1: 2262 2: LaunchCondition 3: -2147287038 Action ended 14:46:35: LaunchConditions. Return value 1. Sample without Action 14:48:40: AppSearch. Searching for installed applications Action start 14:48:40: AppSearch. Action ended 14:48:40: AppSearch. Return value 1. Action 14:48:40: LaunchConditions. Evaluating launch conditions Action start 14:48:40: LaunchConditions. Action ended 14:48:40: LaunchConditions. Return value 1.
  • 7. Methods to Enable Logging MSI Command Line EXE Command Line From EXE INI File From System Registry From Group Policy
  • 8. MSI Command Line Logging Msiexec.exe /i <msipackage> /lv* c:logfile.txt /qb Msiexec.exe /i winzip9.zip /lv* c:logswinzip9.log /qb
  • 9. EXE Command Line Logging setup.exe /v"/L*v <logfile> /qb" setup.exe /v"/L*v “c:logswinzip9.log" /qb"
  • 10. EXE/INI Triggered Logging setup.exe setup.exe /settings <path to custom INI> [Logging] Type=v* Path=c:logs
  • 11. Registry Triggered Logging Subkey: HKLMSoftwarePoliciesMicrosoftWindow sInstaller Value: Logging (REG_SZ) Data: voicewarmup
  • 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. Windows Installer Tools WiLogUtl Windows Installer Cleanup Utility MSIZAP ORCA
  • 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. WiLogUtl Helps make sense of Windows Installer Error logs
  • 18. Windows Installer Cleanup GUI Interface for MSIZAP http://support.microsoft. com/kb/290301
  • 19. MSIZAP Eliminates 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. 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
  • 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. Broken Windows Installer Error 1719: “The Windows Installer service could not be accessed” Reregister the Windows Installer service msiexec /unregister msiexec /regserver Reinstallation or upgrade to latest
  • 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
  • 26.
  • 27. 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>
  • 29. Inaccessible Network Location Error 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
  • 30. Fatal Error During Install Error 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
  • 31. Invalid Source Location Error 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!
  • 32. 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)
  • 33. 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
  • 34. Contact Bob Kelly  www.AppDeploy.com/Contact.asp
  • 35. © 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.

Notes de l'éditeur

  1. 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.
  2. 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
  3. 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.
  4. 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.
  5. 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”
  6. 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.
  7. 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.
  8. 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.
  9. 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
  10. 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.
  11. 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.
  12. 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.
  13. 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…
  14. 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.
  15. AdminStudio comes with a nice MSI Log Analyzer, which I recommend looking into if you happen to own that product.
  16. 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.
  17. 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.
  18. 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.
  19. Orca is a type of whale, which explains the odd icon.
  20. 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.
  21. 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.
  22. 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.
  23. Any pop up messages (or would be pop up messages) appear in the Application Log
  24. 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.
  25. 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.
  26. 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.
  27. 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.
  28. 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.
  29. 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.
  30. 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.