0

I am trying to generate MSP patch installer for my desktop application. I make changes to the application and create new installer every few days. However, I have noticed that the Patch upgrade does not always work. I have successfuly been able to apply patch on 2 installer builds, but around 5 times it did not work. I only make changes to the application, not the installer.

I tried to generate the verbose logging using msiexec and the log looks something like this:

            MSI (c) (80:10) [17:49:49:580]: Final Patch Application Order:
            MSI (c) (80:10) [17:49:49:580]: {672C1689-31E8-4E86-BB54-A2AFF542D99A} - 
            MSI (c) (80:10) [17:49:49:580]: {9AE74D6A-16DA-4539-8F00-B8C5F6D143DA} - D:\8.4.5.0\20 Feb 2015\pro.msp
            MSI (c) (80:10) [17:49:49:580]: {9E203516-CC4E-463E-9DD0-E920AC11A7DE} - 
            === Logging started: 2/20/2015  17:49:49 ===
            Action 17:49:49: INSTALL. 
            Action start 17:49:49: INSTALL.
            Action 17:49:49: PrepareDlg. 
            Action start 17:49:49: PrepareDlg.
            Info 2898.For WixUI_Font_Normal textstyle, the system created a 'Tahoma' font, in 1 character set, of 13 pixels height.
            Info 2898.For WixUI_Font_Bigger textstyle, the system created a 'Tahoma' font, in 1 character set, of 19 pixels height.
            Action 17:49:49: PrepareDlg. Dialog created
            Action ended 17:49:49: PrepareDlg. Return value 1.
            Action 17:49:49: AppSearch. Searching for installed applications
            Action start 17:49:49: AppSearch.
            Action ended 17:49:49: AppSearch. Return value 0.
            Action 17:49:49: FindRelatedProducts. Searching for related applications
            Action start 17:49:49: FindRelatedProducts.
            Action ended 17:49:49: FindRelatedProducts. Return value 0.
            Action 17:49:49: LaunchConditions. Evaluating launch conditions
            Action start 17:49:49: LaunchConditions.
            Action ended 17:49:49: LaunchConditions. Return value 1.
            Action 17:49:49: CheckForClickOnce. 
            Action start 17:49:49: CheckForClickOnce.
            SFXCA: Extracting custom action to temporary directory: C:\Users\shugoyal\AppData\Local\Temp\MSI32D0.tmp-\
            SFXCA: Binding to CLR version v4.0.30319
            Calling custom action InstallCA!InstallCA.ClickOnceActions.CheckForClickOnce
            Action ended 17:49:49: CheckForClickOnce. Return value 1.
            Action 17:49:49: ValidateProductID. 
            Action start 17:49:49: ValidateProductID.
            Action ended 17:49:49: ValidateProductID. Return value 1.
            Action 17:49:49: CostInitialize. Computing space requirements
            Action start 17:49:49: CostInitialize.
            Action ended 17:49:49: CostInitialize. Return value 1.
            Action 17:49:49: FileCost. Computing space requirements
            Action start 17:49:49: FileCost.
            Action ended 17:49:49: FileCost. Return value 1.
            Action 17:49:49: CostFinalize. Computing space requirements
            Action start 17:49:49: CostFinalize.
            Action ended 17:49:53: CostFinalize. Return value 1.
            Action 17:49:53: MigrateFeatureStates. Migrating feature states from related applications
            Action start 17:49:53: MigrateFeatureStates.
            Action ended 17:49:53: MigrateFeatureStates. Return value 0.
            Action 17:49:53: WelcomeDlg. 
            Action start 17:49:53: WelcomeDlg.
            Action 17:49:53: WelcomeDlg. Dialog created
            Info 2898.For WixUI_Font_Title textstyle, the system created a 'Tahoma' font, in 1 character set, of 14 pixels height.
            Action 17:49:54: VerifyReadyDlg. Dialog created
            Action ended 17:49:55: WelcomeDlg. Return value 1.
            Action 17:49:55: ProgressDlg. 
            Action start 17:49:55: ProgressDlg.
            Action 17:49:55: ProgressDlg. Dialog created
            Action ended 17:49:55: ProgressDlg. Return value 1.
            Action 17:49:55: ExecuteAction. 
            Action start 17:49:55: ExecuteAction.
            MSI (s) (CC:58) [17:49:56:220]: Final Patch Application Order:
            MSI (s) (CC:58) [17:49:56:220]: {672C1689-31E8-4E86-BB54-A2AFF542D99A} - 
            MSI (s) (CC:58) [17:49:56:220]: {9AE74D6A-16DA-4539-8F00-B8C5F6D143DA} - D:\8.4.5.0\20 Feb 2015\pro.msp
            MSI (s) (CC:58) [17:49:56:220]: {9E203516-CC4E-463E-9DD0-E920AC11A7DE} - 
            Action 17:49:56: INSTALL. 
            Action start 17:49:56: INSTALL.
            Action 17:49:56: FindRelatedProducts. Searching for related applications
            Action start 17:49:56: FindRelatedProducts.
            Action ended 17:49:56: FindRelatedProducts. Return value 0.
            Action 17:49:56: LaunchConditions. Evaluating launch conditions
            Action start 17:49:56: LaunchConditions.
            Action ended 17:49:56: LaunchConditions. Return value 1.
            Action 17:49:56: ValidateProductID. 
            Action start 17:49:56: ValidateProductID.
            Action ended 17:49:56: ValidateProductID. Return value 1.
            Action 17:49:56: CostInitialize. Computing space requirements
            Action start 17:49:56: CostInitialize.
            Action ended 17:49:56: CostInitialize. Return value 1.
            Action 17:49:56: FileCost. Computing space requirements
            Action start 17:49:56: FileCost.
            Action ended 17:49:56: FileCost. Return value 1.
            Action 17:49:56: CostFinalize. Computing space requirements
            Action start 17:49:56: CostFinalize.
            Action ended 17:49:59: CostFinalize. Return value 1.
            Action 17:49:59: SetODBCFolders. Initializing ODBC directories
            Action start 17:49:59: SetODBCFolders.
            Action ended 17:49:59: SetODBCFolders. Return value 0.
            Action 17:49:59: MigrateFeatureStates. Migrating feature states from related applications
            Action start 17:49:59: MigrateFeatureStates.
            Action ended 17:49:59: MigrateFeatureStates. Return value 0.
            Action 17:49:59: InstallValidate. Validating install
            Action start 17:49:59: InstallValidate.
            Action ended 17:50:01: InstallValidate. Return value 1.
            Action 17:50:01: InstallInitialize. 
            Action start 17:50:01: InstallInitialize.
            Action ended 17:50:01: InstallInitialize. Return value 1.
            Action 17:50:01: RemoveExistingProducts. Removing applications
            Action start 17:50:01: RemoveExistingProducts.
            Action ended 17:50:01: RemoveExistingProducts. Return value 0.
            Action 17:50:01: ProcessComponents. Updating component registration
            Action start 17:50:01: ProcessComponents.
            Action 17:50:01: GenerateScript. Generating script operations for action:
            GenerateScript: Updating component registration
            Action ended 17:50:01: ProcessComponents. Return value 1.
            Action 17:50:01: UnpublishFeatures. Unpublishing Product Features
            Action start 17:50:01: UnpublishFeatures.
            Action ended 17:50:01: UnpublishFeatures. Return value 1.
            Action 17:50:01: RemoveODBC. Removing ODBC components
            Action start 17:50:01: RemoveODBC.
            RemoveODBC: 
            Action ended 17:50:01: RemoveODBC. Return value 1.
            Action 17:50:01: RemoveRegistryValues. Removing system registry values
            Action start 17:50:01: RemoveRegistryValues.
            Action ended 17:50:01: RemoveRegistryValues. Return value 1.
            Action 17:50:01: RemoveIniValues. Removing INI files entries
            Action start 17:50:01: RemoveIniValues.
            Action ended 17:50:01: RemoveIniValues. Return value 1.
            Action 17:50:01: RemoveShortcuts. Removing shortcuts
            Action start 17:50:01: RemoveShortcuts.
            Action ended 17:50:01: RemoveShortcuts. Return value 1.
            Action 17:50:01: RemoveDuplicateFiles. Removing duplicated files
            Action start 17:50:01: RemoveDuplicateFiles.
            Action ended 17:50:01: RemoveDuplicateFiles. Return value 1.
            Action 17:50:01: RemoveFiles. Removing files
            Action start 17:50:01: RemoveFiles.
            Action ended 17:50:01: RemoveFiles. Return value 1.
            Action 17:50:01: RemoveFolders. Removing folders
            Action start 17:50:01: RemoveFolders.
            Action ended 17:50:01: RemoveFolders. Return value 1.
            Action 17:50:01: CreateFolders. Creating folders
            Action start 17:50:01: CreateFolders.
            CreateFolders: Folder: Creating folders
            Action ended 17:50:01: CreateFolders. Return value 1.
            Action 17:50:01: InstallFiles. Copying new files
            Action start 17:50:01: InstallFiles.
            InstallFiles: File: Copying new files,  Directory: ,  Size: 
            Action ended 17:50:02: InstallFiles. Return value 1.
            Action 17:50:02: DuplicateFiles. Creating duplicate files
            Action start 17:50:02: DuplicateFiles.
            Action ended 17:50:02: DuplicateFiles. Return value 1.
            Action 17:50:02: CreateShortcuts. Creating shortcuts
            Action start 17:50:02: CreateShortcuts.
            CreateShortcuts: Shortcut: Creating shortcuts
            Action ended 17:50:02: CreateShortcuts. Return value 1.
            Action 17:50:02: WriteRegistryValues. Writing system registry values
            Action start 17:50:02: WriteRegistryValues.
            WriteRegistryValues: Key: Writing system registry values, Name: , Value: 
            Action ended 17:50:02: WriteRegistryValues. Return value 1.
            Action 17:50:02: WriteIniValues. Writing INI files values
            Action start 17:50:02: WriteIniValues.
            WriteIniValues: File: Writing INI files values,  Section: ,  Key: , Value: 
            Action ended 17:50:02: WriteIniValues. Return value 1.
            Action 17:50:02: InstallODBC. Installing ODBC components
            Action start 17:50:02: InstallODBC.
            Action ended 17:50:02: InstallODBC. Return value 0.
            Action 17:50:02: RegisterUser. Registering user
            Action start 17:50:02: RegisterUser.
            Action ended 17:50:02: RegisterUser. Return value 0.
            Action 17:50:02: RegisterProduct. Registering product
            Action start 17:50:02: RegisterProduct.
            RegisterProduct: Registering product
            Action ended 17:50:02: RegisterProduct. Return value 1.
            Action 17:50:02: PublishFeatures. Publishing Product Features
            Action start 17:50:02: PublishFeatures.
            PublishFeatures: Feature: Publishing Product Features
            Action ended 17:50:03: PublishFeatures. Return value 1.
            Action 17:50:03: PublishProduct. Publishing product information
            Action start 17:50:03: PublishProduct.
            PublishProduct: 
            Action ended 17:50:03: PublishProduct. Return value 1.
            Action 17:50:03: InstallFinalize. 
            Action start 17:50:03: InstallFinalize.
            InstallFinalize: 
            Action 17:50:03: ProcessComponents. Updating component registration
            1: {31E86D7B-2C8C-464C-9DE8-A6A76546F786} 2: {05B8FFF8-33D6-4386-9D31-56492B03E1FE} 3: 01:\Software\Microsoft\xx\installed 
            1: {31E86D7B-2C8C-464C-9DE8-A6A76546F786} 2: {A53A6027-1830-40BB-88BE-4829D51274AE} 3: 01:\Software\Microsoft\xx\installed 
            1: {31E86D7B-2C8C-464C-9DE8-A6A76546F786} 2: {5401A405-671D-432D-969E-7A874A9319E6} 3: 01:\Software\Microsoft\xx\installed 
             -------
             -------
             -------
            Property(C): SecureCustomProperties = EIGHTOFOUND;EIGHTONEORLATERFOUND;SEVENOFOUND;SEVENSP3FOUND;SIXTWOFOUND;UNSUPPORTEDSIXO;UNSUPPORTEDSIXONE;WIX_DOWNGRADE_DETECTED;WIX_UPGRADE_DETECTED
            Property(C): MyPicturesFolder = C:\Users\shugoyal\Pictures\
            Property(C): MSPSRC9AE74D6A16DA45398F00B8C5F6D143DA = D:\8.4.5.0\20 Feb 2015\PPrSetup\patch\Ppro84sp5.msp
            Property(C): SendToFolder = C:\Users\shugoyal\AppData\Roaming\Microsoft\Windows\SendTo\
            Property(C): MsiWin32AssemblySupport = 6.1.7601.17514
            Property(C): _9E203516CC4E463E9DD0E920AC11A7DE.AllowRemoval = 1
            Property(C): AdminToolsFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
            Property(C): ProgramFiles64Folder = C:\Program Files\
            Property(C): Date = 2/20/2015
            Property(C): Time = 17:50:08
            Property(C): CURRENTDIRECTORY = D:\8.4.5.0\20 Feb 2015\PPro\patch
            Property(C): PrintHoodFolder = C:\Users\shugoyal\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
            Property(C): TempFolder = C:\Users\shugoyal\AppData\Local\Temp\
            Property(C): MSPSRC672C168931E84E86BB54A2AFF542D99A = C:\windows\Installer\8ae3449.msp
            Property(C): ROOTDRIVE = C:\
            Property(C): PersonalFolder = C:\Users\shugoyal\Documents\
            Property(C): _9E203516CC4E463E9DD0E920AC11A7DE.PatchCode = {9E203516-CC4E-463E-9DD0-E920AC11A7DE}
            Property(C): RemoteAdminTS = 1
            Property(C): RecentFolder = C:\Users\shugoyal\AppData\Roaming\Microsoft\Windows\Recent\
            Property(C): MsiLogFileLocation = D:\8.4.5.0\20 Feb 2015\PPro\patch\log.txt
            Property(C): _672C168931E84E86BB54A2AFF542D99A.AllowRemoval = 1
            Property(C): _672C168931E84E86BB54A2AFF542D99A.PatchCode = {672C1689-31E8-4E86-BB54-A2AFF542D99A}
            Property(C): PATCHNEWPACKAGECODE = {9E203516-CC4E-463E-9DD0-E920AC11A7DE}
            Property(C): PATCHNEWSUMMARYSUBJECT = Various fixes for xxxx
            Property(C): PATCHNEWSUMMARYCOMMENTS = xx R8.4.3
            Property(C): UILevel = 5
            Property(C): ACTION = INSTALL
            Property(C): SystemLanguageID = 1033
            Property(C): OriginalDatabase = C:\windows\Installer\8ae33d7.msi
            Property(C): ScreenY = 900
            Property(C): StartMenuFolder = C:\ProgramData\Microsoft\Windows\Start Menu\
            Property(C): PhysicalMemory = 8066
            Property(C): RedirectedDllSupport = 2
            Property(C): COMPANYNAME = Or Corporation
            Property(C): MsiRunningElevated = 1
            Property(C): ColorBits = 32
            Property(C): EXECUTEACTION = INSTALL
            Property(C): GPTSupport = 1
            Property(C): MsiNetAssemblySupport = 4.0.30319.17929
            Property(C): PATCH = D:\8.4.5.0\20 Feb 2015\PPro\patch\Ppro84sp5.msp
            Property(C): DATABASE = C:\windows\Installer\8ae33d7.msi
            Property(C): WindowsBuild = 7601
            Property(C): TextHeight = 16
            Property(C): ProductToBeRegistered = 1
            Property(C): BorderTop = 1
            Property(C): MsiSystemRebootPending = 1
            Property(C): CLIENTUILEVEL = 0
            Property(C): BorderSide = 1
            Property(C): OLEAdvtSupport = 1
            Property(C): DesktopFolder = C:\Users\Public\Desktop\
            Property(C): CaptionHeight = 22
            Property(C): VersionMsi = 5.00
            Property(C): CLIENTPROCESSID = 8064
            Property(C): MsiAMD64 = 6
            Property(C): FontsFolder = C:\windows\Fonts\
            Property(C): FavoritesFolder = C:\Users\shugoyal\Favorites\
            Property(C): ServicePackLevel = 1
            Property(C): VersionHandler = 5.00
            Property(C): _9AE74D6A16DA45398F00B8C5F6D143DA.PatchCode = {9AE74D6A-16DA-4539-8F00-B8C5F6D143DA}
            Property(C): _9AE74D6A16DA45398F00B8C5F6D143DA.AllowRemoval = 1
            Property(C): VersionNT = 601
            Property(C): VersionDatabase = 200
            Property(C): WindowsVolume = C:\
            Property(C): Msix64 = 6
            Property(C): ScreenX = 1600
            Property(C): LogonUser = shugoyal
            Property(C): Intel = 6
            Property(C): USERNAME = shubhi goyal
            Property(C): QFEUpgrade = 2
            Property(C): CommonFiles64Folder = C:\Program Files\Common Files\
            Property(C): MsiTrueAdminUser = 1
            Property(C): TTCSupport = 1
            Property(C): WindowsFolder = C:\windows\
            Property(C): CommonFilesFolder = C:\Program Files (x86)\Common Files\
            Property(C): MsiNTProductType = 1
            Property(C): NetHoodFolder = C:\Users\shugoyal\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
            Property(C): StartupFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\
            Property(C): ComputerName = SHUGOYAL-IN
            Property(C): AdminUser = 1
            Property(C): TextInternalLeading = 3
            Property(C): UserSID = S-1-5-21-3098710931-791696102-2953731999-1000
            Property(C): VirtualMemory = 8093
            Property(C): ProductState = 5
            Property(C): ShellAdvtSupport = 1
            Property(C): AppDataFolder = C:\Users\shugoyal\AppData\Roaming\
            Property(C): UserLanguageID = 1033
            Property(C): System64Folder = C:\windows\system32\
            Property(C): ServicePackLevelMinor = 0
            Property(C): PRODUCTLANGUAGE = 1033
            Property(C): MSPSRC9E203516CC4E463E9DD0E920AC11A7DE = C:\windows\Installer\8ae3440.msp
            Property(C): _672C168931E84E86BB54A2AFF542D99A = C:\windows\Installer\8ae3449.msp
            Property(C): TemplateFolder = C:\ProgramData\Microsoft\Windows\Templates\
            Property(C): LocalAppDataFolder = C:\Users\shugoyal\AppData\Local\
            Property(C): _9AE74D6A16DA45398F00B8C5F6D143DA = D:\8.4.5.0\20 Feb 2015\PPro\patch\Ppro84sp5.msp
            Property(C): PackageCode = {A1D9886F-F035-4107-855A-EA81ADFEC070}
            Property(C): _9E203516CC4E463E9DD0E920AC11A7DE = C:\windows\Installer\8ae3440.msp
            Property(C): CostingComplete = 1
            Property(C): OutOfDiskSpace = 0
            Property(C): OutOfNoRbDiskSpace = 0
            Property(C): PrimaryVolumeSpaceAvailable = 0
            Property(C): PrimaryVolumeSpaceRequired = 0
            Property(C): PrimaryVolumeSpaceRemaining = 0
            Property(C): REINSTALL = PMgr,Vis,Standalone_Migration
            Property(C): INSTALLLEVEL = 1
            Property(C): WixUI_InstallMode = Update
            === Logging stopped: 2/20/2015  17:50:08 ===
            MSI (c) (80:10) [17:50:08:754]: Product: xx - Update 'xx R8.4.5' installed successfully.

            MSI (c) (80:10) [17:50:08:755]: Windows Installer installed an update. Product Name: xx. Product Version: 8.4.0. Product Language: 1033. Manufacturer: Or Corporation. Update Name: xx R8.4.5. Installation success or error status: 0.

            MSI (c) (80:10) [17:50:08:755]: Product: xx -- Configuration completed successfully.

            MSI (c) (80:10) [17:50:08:756]: Windows Installer reconfigured the product. Product Name: xx. Product Version: 8.4.0. Product Language: 1033. Manufacturer: Or Corporation. Reconfiguration success or error status: 0.

I cannot understand what part of it worked and what didn't. I did see some files getting replaced. But the major exe and dll could not be replaced.

What could be wrong while installing the patch?

jetty
  • 859
  • 2
  • 17
  • 37
  • That logging is not verbose by the looks of it. The logging command should be /l*vx . – PhilDW Feb 21 '15 at 18:59
  • I enabled verbose logging.What errors or return codes should i look for as red flags? – jetty Feb 22 '15 at 12:20
  • I notice that the AppSearch, migrateFeatureStates, FindRelatedProducts, RemoveExistingProducts return value is 0. – jetty Feb 22 '15 at 12:38
  • None of which are relevant to the why a patch would work or not. As an example, a full log would show the setting of every property. You would also see entries about each file being patched and whether the existing file was replaced or not. Useful stuff for when a patch fails. See also my answer in http://stackoverflow.com/questions/28613887/patch-minor-upgrade-creation-issues-with-msm-merge-modules – PhilDW Feb 22 '15 at 20:50

0 Answers0