我正在尝试为我的桌面应用程序生成 MSP 补丁安装程序。我每隔几天对应用程序进行更改并创建新的安装程序。但是,我注意到补丁升级并不总是有效。我已经成功地在 2 个安装程序版本上应用了补丁,但大约 5 次它不起作用。我只对应用程序进行更改,而不是对安装程序进行更改。
我尝试使用 msiexec 生成详细日志记录,日志看起来像这样:
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.
我无法理解它的哪些部分有效,哪些无效。我确实看到一些文件被替换了。但是无法替换主要的exe和dll。
安装补丁时可能出现什么问题?