我有一个基于 Wix 工具集的安装程序。当我从一个 MSI 升级到另一个 MSI 并以特定方式锁定特定文件时,安装程序会结束重新启动计算机以替换锁定的文件。一切都很好,但是重新启动后,锁定的文件丢失了,它们没有被新 MSI 中包含的文件替换。
更详细地说,场景如下:
现在与“Info 1903”消息关联的文件从系统中丢失,并且安装处于非工作状态。安装程序的退出代码并不表示任何错误。
在现实生活中,锁定是由我无法控制的病毒扫描程序执行的,并且它不是我可以杀死的进程。我制作了一个重现该问题的示例项目(不是使用病毒扫描程序,而是使用恰好能够重现该问题的 JRE 子集),可以从以下位置下载:
https://www.dropbox.com/s/bi5dfkozqmhwqac/WixUgradeMissingFilesAfterReboot.zip?dl=0
要重现该问题(Windows 2012 R2(或 Windows 8.1)+ Windows Installer 5):
如果从上面不清楚,我的问题是我的安装进入非工作状态,并且我没有收到表明我有问题的错误代码!请帮忙!
log1.txt:
=== Logging started: 12-10-2017 08:29:15 ===
Action start 08:29:15: INSTALL.
Action start 08:29:15: FindRelatedProducts.
Action ended 08:29:15: FindRelatedProducts. Return value 1.
Action start 08:29:15: LaunchConditions.
Action ended 08:29:15: LaunchConditions. Return value 1.
Action start 08:29:15: ValidateProductID.
Action ended 08:29:15: ValidateProductID. Return value 1.
Action start 08:29:15: CostInitialize.
Action ended 08:29:15: CostInitialize. Return value 1.
Action start 08:29:15: FileCost.
Action ended 08:29:15: FileCost. Return value 1.
Action start 08:29:15: CostFinalize.
Action ended 08:29:15: CostFinalize. Return value 1.
Action start 08:29:15: MigrateFeatureStates.
Action ended 08:29:15: MigrateFeatureStates. Return value 0.
Action start 08:29:15: InstallValidate.
Action ended 08:29:15: InstallValidate. Return value 1.
Action start 08:29:15: InstallInitialize.
Action ended 08:29:15: InstallInitialize. Return value 1.
Action start 08:29:15: RemoveExistingProducts.
Action ended 08:29:15: RemoveExistingProducts. Return value 1.
Action start 08:29:15: ProcessComponents.
Action ended 08:29:15: ProcessComponents. Return value 1.
Action start 08:29:15: UnpublishFeatures.
Action ended 08:29:15: UnpublishFeatures. Return value 1.
Action start 08:29:15: RemoveFiles.
Action ended 08:29:15: RemoveFiles. Return value 0.
Action start 08:29:15: InstallFiles.
Action ended 08:29:15: InstallFiles. Return value 1.
Action start 08:29:15: RegisterUser.
Action ended 08:29:15: RegisterUser. Return value 1.
Action start 08:29:15: RegisterProduct.
Action ended 08:29:15: RegisterProduct. Return value 1.
Action start 08:29:15: PublishFeatures.
Action ended 08:29:15: PublishFeatures. Return value 1.
Action start 08:29:15: PublishProduct.
Action ended 08:29:15: PublishProduct. Return value 1.
Action start 08:29:15: InstallFinalize.
Action ended 08:29:16: InstallFinalize. Return value 1.
Action ended 08:29:16: INSTALL. Return value 1.
Property(S): UpgradeCode = {40C1BE8C-35A3-41B6-8F30-5D5D8B87CDCB}
Property(S): JreBin = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\bin\
Property(S): JreBinServer = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\bin\server\
Property(S): JreLib = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\
Property(S): JreLibAmd64 = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\amd64\
Property(S): JreFolder = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\
Property(S): INSTALL_FOLDER = C:\Program Files (x86)\SomeCompany\SomeProduct\
Property(S): CompanyFolder = C:\Program Files (x86)\SomeCompany\
Property(S): ProgramFilesFolder = C:\Program Files (x86)\
Property(S): TARGETDIR = C:\
Property(S): SourceDir = C:\tmp\
Property(S): Manufacturer = SomeCompany
Property(S): ProductCode = {4FCBADA8-8B3C-43F7-A5A1-45F3F620DE8E}
Property(S): ProductLanguage = 1033
Property(S): ProductName = SomeProduct 1.1.0
Property(S): ProductVersion = 1.1.0
Property(S): SecureCustomProperties = WIX_DOWNGRADE_DETECTED;WIX_UPGRADE_DETECTED
Property(S): MsiLogFileLocation = C:\tmp\log1.txt
Property(S): PackageCode = {EB8F095B-7618-450A-86B2-E96F54B68555}
Property(S): ProductState = -1
Property(S): PackagecodeChanging = 1
Property(S): CURRENTDIRECTORY = C:\tmp
Property(S): CLIENTUILEVEL = 3
Property(S): CLIENTPROCESSID = 852
Property(S): VersionDatabase = 100
Property(S): VersionMsi = 5.00
Property(S): VersionNT = 603
Property(S): VersionNT64 = 603
Property(S): WindowsBuild = 9600
Property(S): ServicePackLevel = 0
Property(S): ServicePackLevelMinor = 0
Property(S): MsiNTProductType = 2
Property(S): WindowsFolder = C:\Windows\
Property(S): WindowsVolume = C:\
Property(S): System64Folder = C:\Windows\system32\
Property(S): SystemFolder = C:\Windows\SysWOW64\
Property(S): RemoteAdminTS = 1
Property(S): TempFolder = C:\Users\ADMINI~1\AppData\Local\Temp\
Property(S): CommonFilesFolder = C:\Program Files (x86)\Common Files\
Property(S): ProgramFiles64Folder = C:\Program Files\
Property(S): CommonFiles64Folder = C:\Program Files\Common Files\
Property(S): AppDataFolder = C:\Users\Administrator\AppData\Roaming\
Property(S): FavoritesFolder = C:\Users\Administrator\Favorites\
Property(S): NetHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
Property(S): PersonalFolder = C:\Users\Administrator\Documents\
Property(S): PrintHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
Property(S): RecentFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\
Property(S): SendToFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo\
Property(S): TemplateFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates\
Property(S): CommonAppDataFolder = C:\ProgramData\
Property(S): LocalAppDataFolder = C:\Users\Administrator\AppData\Local\
Property(S): MyPicturesFolder = C:\Users\Administrator\Pictures\
Property(S): AdminToolsFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
Property(S): StartupFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
Property(S): ProgramMenuFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
Property(S): StartMenuFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\
Property(S): DesktopFolder = C:\Users\Administrator\Desktop\
Property(S): FontsFolder = C:\Windows\Fonts\
Property(S): GPTSupport = 1
Property(S): OLEAdvtSupport = 1
Property(S): ShellAdvtSupport = 1
Property(S): MsiAMD64 = 6
Property(S): Msix64 = 6
Property(S): Intel = 6
Property(S): PhysicalMemory = 6071
Property(S): VirtualMemory = 6003
Property(S): AdminUser = 1
Property(S): MsiTrueAdminUser = 1
Property(S): LogonUser = Administrator
Property(S): UserSID = S-1-5-21-2265845470-1617532221-1463728152-500
Property(S): UserLanguageID = 1030
Property(S): ComputerName = WIN-6FTE5M0IU82
Property(S): SystemLanguageID = 1030
Property(S): ScreenX = 1024
Property(S): ScreenY = 768
Property(S): CaptionHeight = 23
Property(S): BorderTop = 1
Property(S): BorderSide = 1
Property(S): TextHeight = 16
Property(S): TextInternalLeading = 3
Property(S): ColorBits = 32
Property(S): TTCSupport = 1
Property(S): Time = 08:29:16
Property(S): Date = 12-10-2017
Property(S): MsiNetAssemblySupport = 4.0.30319.33440
Property(S): MsiWin32AssemblySupport = 6.3.9600.17415
Property(S): RedirectedDllSupport = 2
Property(S): MsiRunningElevated = 1
Property(S): Privileged = 1
Property(S): USERNAME = Windows User
Property(S): DATABASE = C:\Windows\Installer\2a222.msi
Property(S): OriginalDatabase = C:\tmp\SomeProduct.msi
Property(S): UILevel = 2
Property(S): ACTION = INSTALL
Property(S): ROOTDRIVE = C:\
Property(S): CostingComplete = 1
Property(S): OutOfDiskSpace = 0
Property(S): OutOfNoRbDiskSpace = 0
Property(S): PrimaryVolumeSpaceAvailable = 0
Property(S): PrimaryVolumeSpaceRequired = 0
Property(S): PrimaryVolumeSpaceRemaining = 0
Property(S): INSTALLLEVEL = 1
Property(S): SOURCEDIR = C:\tmp\
Property(S): SourcedirProduct = {4FCBADA8-8B3C-43F7-A5A1-45F3F620DE8E}
Property(S): ProductToBeRegistered = 1
MSI (s) (C4:FC) [08:29:16:614]: Product: SomeProduct 1.1.0 -- Installation completed successfully.
MSI (s) (C4:FC) [08:29:16:614]: Windows Installer installed the product. Product Name: SomeProduct 1.1.0. Product Version: 1.1.0. Product Language: 1033. Manufacturer: SomeCompany. Installation success or error status: 0.
=== Logging stopped: 12-10-2017 08:29:16 ===
log2.txt:
=== Logging started: 12-10-2017 08:31:37 ===
Action start 08:31:37: INSTALL.
Action start 08:31:37: FindRelatedProducts.
Action ended 08:31:37: FindRelatedProducts. Return value 1.
Action start 08:31:37: LaunchConditions.
Action ended 08:31:37: LaunchConditions. Return value 1.
Action start 08:31:37: ValidateProductID.
Action ended 08:31:37: ValidateProductID. Return value 1.
Action start 08:31:37: CostInitialize.
Action ended 08:31:37: CostInitialize. Return value 1.
Action start 08:31:37: FileCost.
Action ended 08:31:37: FileCost. Return value 1.
Action start 08:31:37: CostFinalize.
Action ended 08:31:37: CostFinalize. Return value 1.
Action start 08:31:37: MigrateFeatureStates.
Action ended 08:31:37: MigrateFeatureStates. Return value 1.
Action start 08:31:37: InstallValidate.
Action ended 08:31:37: InstallValidate. Return value 1.
Action start 08:31:37: InstallInitialize.
Action ended 08:31:37: InstallInitialize. Return value 1.
Action start 08:31:37: RemoveExistingProducts.
Action start 08:31:37: INSTALL.
Action start 08:31:37: FindRelatedProducts.
Action ended 08:31:37: FindRelatedProducts. Return value 0.
Action start 08:31:37: LaunchConditions.
Action ended 08:31:37: LaunchConditions. Return value 1.
Action start 08:31:37: ValidateProductID.
Action ended 08:31:37: ValidateProductID. Return value 1.
Action start 08:31:37: CostInitialize.
Action ended 08:31:37: CostInitialize. Return value 1.
Action start 08:31:37: FileCost.
Action ended 08:31:37: FileCost. Return value 1.
Action start 08:31:37: CostFinalize.
Action ended 08:31:37: CostFinalize. Return value 1.
Action start 08:31:37: MigrateFeatureStates.
Action ended 08:31:37: MigrateFeatureStates. Return value 0.
Action start 08:31:37: InstallValidate.
Action ended 08:31:37: InstallValidate. Return value 1.
Action start 08:31:37: InstallInitialize.
Action ended 08:31:37: InstallInitialize. Return value 1.
Action start 08:31:37: RemoveExistingProducts.
Action ended 08:31:37: RemoveExistingProducts. Return value 0.
Action start 08:31:37: ProcessComponents.
Action ended 08:31:37: ProcessComponents. Return value 1.
Action start 08:31:37: UnpublishFeatures.
Action ended 08:31:37: UnpublishFeatures. Return value 1.
Action start 08:31:37: RemoveFiles.
Action ended 08:31:37: RemoveFiles. Return value 0.
Action start 08:31:37: InstallFiles.
Action ended 08:31:37: InstallFiles. Return value 1.
Action start 08:31:37: RegisterUser.
Action ended 08:31:37: RegisterUser. Return value 0.
Action start 08:31:37: RegisterProduct.
Action ended 08:31:37: RegisterProduct. Return value 1.
Action start 08:31:37: PublishFeatures.
Action ended 08:31:37: PublishFeatures. Return value 1.
Action start 08:31:37: PublishProduct.
Action ended 08:31:37: PublishProduct. Return value 1.
Action start 08:31:37: InstallFinalize.
Info 1903.Scheduling reboot operation: Deleting file C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\jsse.jar. Must reboot to complete operation.
Info 1903.Scheduling reboot operation: Deleting file C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\rt.jar. Must reboot to complete operation.
Action ended 08:31:37: InstallFinalize. Return value 1.
Action ended 08:31:37: INSTALL. Return value 1.
Property(N): UpgradeCode = {40C1BE8C-35A3-41B6-8F30-5D5D8B87CDCB}
Property(N): JreBin = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\bin\
Property(N): JreBinServer = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\bin\server\
Property(N): JreLib = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\
Property(N): JreLibAmd64 = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\amd64\
Property(N): JreFolder = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\
Property(N): INSTALL_FOLDER = C:\Program Files (x86)\SomeCompany\SomeProduct\
Property(N): CompanyFolder = C:\Program Files (x86)\SomeCompany\
Property(N): ProgramFilesFolder = C:\Program Files (x86)\
Property(N): TARGETDIR = C:\
Property(N): Manufacturer = SomeCompany
Property(N): ProductCode = {4FCBADA8-8B3C-43F7-A5A1-45F3F620DE8E}
Property(N): ProductLanguage = 1033
Property(N): ProductName = SomeProduct 1.1.0
Property(N): ProductVersion = 1.1.0
Property(N): SecureCustomProperties = WIX_DOWNGRADE_DETECTED;WIX_UPGRADE_DETECTED
Property(N): PackageCode = {EB8F095B-7618-450A-86B2-E96F54B68555}
Property(N): ProductState = 5
Property(N): UPGRADINGPRODUCTCODE = {5C3E5D66-D7F0-4EF6-BFEE-E9811820258F}
Property(N): CLIENTPROCESSID = 2660
Property(N): CLIENTUILEVEL = 3
Property(N): REMOVE = ALL
Property(N): PRODUCTLANGUAGE = 1033
Property(N): VersionDatabase = 100
Property(N): VersionMsi = 5.00
Property(N): VersionNT = 603
Property(N): VersionNT64 = 603
Property(N): WindowsBuild = 9600
Property(N): ServicePackLevel = 0
Property(N): ServicePackLevelMinor = 0
Property(N): MsiNTProductType = 2
Property(N): WindowsFolder = C:\Windows\
Property(N): WindowsVolume = C:\
Property(N): System64Folder = C:\Windows\system32\
Property(N): SystemFolder = C:\Windows\SysWOW64\
Property(N): RemoteAdminTS = 1
Property(N): TempFolder = C:\Users\ADMINI~1\AppData\Local\Temp\
Property(N): CommonFilesFolder = C:\Program Files (x86)\Common Files\
Property(N): ProgramFiles64Folder = C:\Program Files\
Property(N): CommonFiles64Folder = C:\Program Files\Common Files\
Property(N): AppDataFolder = C:\Users\Administrator\AppData\Roaming\
Property(N): FavoritesFolder = C:\Users\Administrator\Favorites\
Property(N): NetHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
Property(N): PersonalFolder = C:\Users\Administrator\Documents\
Property(N): PrintHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
Property(N): RecentFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\
Property(N): SendToFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo\
Property(N): TemplateFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates\
Property(N): CommonAppDataFolder = C:\ProgramData\
Property(N): LocalAppDataFolder = C:\Users\Administrator\AppData\Local\
Property(N): MyPicturesFolder = C:\Users\Administrator\Pictures\
Property(N): AdminToolsFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
Property(N): StartupFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
Property(N): ProgramMenuFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
Property(N): StartMenuFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\
Property(N): DesktopFolder = C:\Users\Administrator\Desktop\
Property(N): FontsFolder = C:\Windows\Fonts\
Property(N): GPTSupport = 1
Property(N): OLEAdvtSupport = 1
Property(N): ShellAdvtSupport = 1
Property(N): MsiAMD64 = 6
Property(N): Msix64 = 6
Property(N): Intel = 6
Property(N): PhysicalMemory = 6071
Property(N): VirtualMemory = 6006
Property(N): AdminUser = 1
Property(N): MsiTrueAdminUser = 1
Property(N): LogonUser = Administrator
Property(N): UserSID = S-1-5-21-2265845470-1617532221-1463728152-500
Property(N): UserLanguageID = 1030
Property(N): ComputerName = WIN-6FTE5M0IU82
Property(N): SystemLanguageID = 1030
Property(N): ScreenX = 1024
Property(N): ScreenY = 768
Property(N): CaptionHeight = 23
Property(N): BorderTop = 1
Property(N): BorderSide = 1
Property(N): TextHeight = 16
Property(N): TextInternalLeading = 3
Property(N): ColorBits = 32
Property(N): TTCSupport = 1
Property(N): Time = 08:31:37
Property(N): Date = 12-10-2017
Property(N): MsiNetAssemblySupport = 4.0.30319.33440
Property(N): MsiWin32AssemblySupport = 6.3.9600.17415
Property(N): RedirectedDllSupport = 2
Property(N): MsiRunningElevated = 1
Property(N): Privileged = 1
Property(N): USERNAME = Windows User
Property(N): Installed = 00:00:00
Property(N): DATABASE = C:\Windows\Installer\2a225.msi
Property(N): OriginalDatabase = C:\Windows\Installer\2a225.msi
Property(N): UILevel = 2
Property(N): Preselected = 1
Property(N): ACTION = INSTALL
Property(N): ROOTDRIVE = C:\
Property(N): CostingComplete = 1
Property(N): OutOfDiskSpace = 0
Property(N): OutOfNoRbDiskSpace = 0
Property(N): PrimaryVolumeSpaceAvailable = 0
Property(N): PrimaryVolumeSpaceRequired = 0
Property(N): PrimaryVolumeSpaceRemaining = 0
Property(N): INSTALLLEVEL = 1
MSI (s) (C4:04) [08:31:37:489]: Windows Installer requires a system restart. Product Name: SomeProduct 1.1.0. Product Version: 1.1.0. Product Language: 1033. Manufacturer: SomeCompany. Type of System Restart: 1. Reason for Restart: 1.
Property(N): ReplacedInUseFiles = 1
CustomAction returned actual error code -1 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 08:31:37: RemoveExistingProducts. Return value 1.
Action start 08:31:37: ProcessComponents.
Action ended 08:31:37: ProcessComponents. Return value 1.
Action start 08:31:37: UnpublishFeatures.
Action ended 08:31:37: UnpublishFeatures. Return value 1.
Action start 08:31:37: RemoveFiles.
Action ended 08:31:37: RemoveFiles. Return value 0.
Action start 08:31:37: InstallFiles.
Action ended 08:31:37: InstallFiles. Return value 1.
Action start 08:31:37: RegisterUser.
Action ended 08:31:37: RegisterUser. Return value 1.
Action start 08:31:37: RegisterProduct.
Action ended 08:31:37: RegisterProduct. Return value 1.
Action start 08:31:37: PublishFeatures.
Action ended 08:31:37: PublishFeatures. Return value 1.
Action start 08:31:37: PublishProduct.
Action ended 08:31:37: PublishProduct. Return value 1.
Action start 08:31:37: InstallFinalize.
Action ended 08:31:38: InstallFinalize. Return value 1.
Action ended 08:31:38: INSTALL. Return value 1.
You must restart your system for the configuration changes made to SomeProduct 1.2.0 to take effect. Click Yes to restart now or No if you plan to manually restart later.
Property(S): UpgradeCode = {40C1BE8C-35A3-41B6-8F30-5D5D8B87CDCB}
Property(S): JreBin = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\bin\
Property(S): JreBinServer = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\bin\server\
Property(S): JreLib = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\
Property(S): JreLibAmd64 = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\lib\amd64\
Property(S): JreFolder = C:\Program Files (x86)\SomeCompany\SomeProduct\Jre\
Property(S): INSTALL_FOLDER = C:\Program Files (x86)\SomeCompany\SomeProduct\
Property(S): CompanyFolder = C:\Program Files (x86)\SomeCompany\
Property(S): ProgramFilesFolder = C:\Program Files (x86)\
Property(S): TARGETDIR = C:\
Property(S): SourceDir = C:\tmp\
Property(S): Manufacturer = SomeCompany
Property(S): ProductCode = {5C3E5D66-D7F0-4EF6-BFEE-E9811820258F}
Property(S): ProductLanguage = 1033
Property(S): ProductName = SomeProduct 1.2.0
Property(S): ProductVersion = 1.2.0
Property(S): SecureCustomProperties = WIX_DOWNGRADE_DETECTED;WIX_UPGRADE_DETECTED
Property(S): WIX_UPGRADE_DETECTED = {4FCBADA8-8B3C-43F7-A5A1-45F3F620DE8E}
Property(S): MsiLogFileLocation = C:\tmp\log2.txt
Property(S): PackageCode = {38ECAF6B-3C6B-4FEB-8148-EE6FBA44A659}
Property(S): ProductState = -1
Property(S): PackagecodeChanging = 1
Property(S): CURRENTDIRECTORY = C:\tmp
Property(S): CLIENTUILEVEL = 3
Property(S): CLIENTPROCESSID = 2660
Property(S): VersionDatabase = 100
Property(S): VersionMsi = 5.00
Property(S): VersionNT = 603
Property(S): VersionNT64 = 603
Property(S): WindowsBuild = 9600
Property(S): ServicePackLevel = 0
Property(S): ServicePackLevelMinor = 0
Property(S): MsiNTProductType = 2
Property(S): WindowsFolder = C:\Windows\
Property(S): WindowsVolume = C:\
Property(S): System64Folder = C:\Windows\system32\
Property(S): SystemFolder = C:\Windows\SysWOW64\
Property(S): RemoteAdminTS = 1
Property(S): TempFolder = C:\Users\ADMINI~1\AppData\Local\Temp\
Property(S): CommonFilesFolder = C:\Program Files (x86)\Common Files\
Property(S): ProgramFiles64Folder = C:\Program Files\
Property(S): CommonFiles64Folder = C:\Program Files\Common Files\
Property(S): AppDataFolder = C:\Users\Administrator\AppData\Roaming\
Property(S): FavoritesFolder = C:\Users\Administrator\Favorites\
Property(S): NetHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
Property(S): PersonalFolder = C:\Users\Administrator\Documents\
Property(S): PrintHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
Property(S): RecentFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\
Property(S): SendToFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo\
Property(S): TemplateFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates\
Property(S): CommonAppDataFolder = C:\ProgramData\
Property(S): LocalAppDataFolder = C:\Users\Administrator\AppData\Local\
Property(S): MyPicturesFolder = C:\Users\Administrator\Pictures\
Property(S): AdminToolsFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
Property(S): StartupFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
Property(S): ProgramMenuFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
Property(S): StartMenuFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\
Property(S): DesktopFolder = C:\Users\Administrator\Desktop\
Property(S): FontsFolder = C:\Windows\Fonts\
Property(S): GPTSupport = 1
Property(S): OLEAdvtSupport = 1
Property(S): ShellAdvtSupport = 1
Property(S): MsiAMD64 = 6
Property(S): Msix64 = 6
Property(S): Intel = 6
Property(S): PhysicalMemory = 6071
Property(S): VirtualMemory = 6007
Property(S): AdminUser = 1
Property(S): MsiTrueAdminUser = 1
Property(S): LogonUser = Administrator
Property(S): UserSID = S-1-5-21-2265845470-1617532221-1463728152-500
Property(S): UserLanguageID = 1030
Property(S): ComputerName = WIN-6FTE5M0IU82
Property(S): SystemLanguageID = 1030
Property(S): ScreenX = 1024
Property(S): ScreenY = 768
Property(S): CaptionHeight = 23
Property(S): BorderTop = 1
Property(S): BorderSide = 1
Property(S): TextHeight = 16
Property(S): TextInternalLeading = 3
Property(S): ColorBits = 32
Property(S): TTCSupport = 1
Property(S): Time = 08:31:38
Property(S): Date = 12-10-2017
Property(S): MsiNetAssemblySupport = 4.0.30319.33440
Property(S): MsiWin32AssemblySupport = 6.3.9600.17415
Property(S): RedirectedDllSupport = 2
Property(S): MsiRunningElevated = 1
Property(S): Privileged = 1
Property(S): USERNAME = Windows User
Property(S): DATABASE = C:\Windows\Installer\2a226.msi
Property(S): OriginalDatabase = C:\tmp\SomeProduct.msi
Property(S): UILevel = 2
Property(S): ACTION = INSTALL
Property(S): MIGRATE = {4FCBADA8-8B3C-43F7-A5A1-45F3F620DE8E}
Property(S): ROOTDRIVE = C:\
Property(S): CostingComplete = 1
Property(S): OutOfDiskSpace = 0
Property(S): OutOfNoRbDiskSpace = 0
Property(S): PrimaryVolumeSpaceAvailable = 0
Property(S): PrimaryVolumeSpaceRequired = 0
Property(S): PrimaryVolumeSpaceRemaining = 0
Property(S): INSTALLLEVEL = 1
Property(S): SOURCEDIR = C:\tmp\
Property(S): SourcedirProduct = {5C3E5D66-D7F0-4EF6-BFEE-E9811820258F}
Property(S): ProductToBeRegistered = 1
MSI (s) (C4:FC) [08:31:38:271]: Product: SomeProduct 1.2.0 -- Installation completed successfully.
MSI (s) (C4:FC) [08:31:38:271]: Windows Installer installed the product. Product Name: SomeProduct 1.2.0. Product Version: 1.2.0. Product Language: 1033. Manufacturer: SomeCompany. Installation success or error status: 0.
MSI (s) (C4:FC) [08:31:38:271]: Windows Installer requires a system restart. Product Name: SomeProduct 1.2.0. Product Version: 1.2.0. Product Language: 1033. Manufacturer: SomeCompany. Type of System Restart: 1. Reason for Restart: 0.
=== Logging stopped: 12-10-2017 08:31:38 ===
几年后仍然遇到类似的问题。
我正在使用
msiexec /I my.msi /L*vx install.log
在安装过程中获取详细日志。
安装的是msi MajorUpgrade,所以看起来它想卸载以前的产品并安装更新。
更新期间,文件
my.exe
正在使用中,并且在版本之间没有更改。
在卸载阶段,日志显示:
MSI (s) (68:38) [16:36:23:834]: Verifying accessibility of file: my.exe
MSI (s) (68:38) [16:36:23:834]: Note: 1: 2205 2: 3: Error
MSI (s) (68:38) [16:36:23:834]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1903
Info 1903.Scheduling reboot operation: Deleting file C:\Program Files\MyApp\my.exe. Must reboot to complete operation.
随后:
MSI (s) (68:78) [16:36:59:695]: Executing op: FileCopy(SourceName=my.exe,SourceCabKey=flsKtzzZ3VXb.pLLKiHl7g6HJe2i7k,DestName=scriba.exe,Attributes=512,FileSize=330248,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=1646957652,HashPart2=-1441641143,HashPart3=-631674000,HashPart4=239543849,,)
MSI (s) (68:78) [16:36:59:695]: File: C:\Program Files\MyApp\my.exe; Won't Overwrite; Won't patch; Existing file is unversioned and unmodified - hash matches source file
重新启动后,文件
my.exe
将在重新启动期间被删除,并且安装处于不完整状态。
到目前为止,我发现的唯一解决方法是将版本号包含在安装路径中。即安装到
ProgramFiles/MyApp/1.23/my.exe
并防止一起替换文件。