由于MSI检索不正确,修补程序删除失败

时间:2015-12-18 17:29:27

标签: windows wix windows-installer patch

我有一个可以使用MSI安装的软件包。执行msiexec命令时,此程序包的安装日志显示以下属性:

Property(S): DATABASE = C:\Windows\Installer\2bb7bb.msi
Property(S): OriginalDatabase = C:\temp\DDS_COM_ETMS_Win-2008-64_01-04-01_install_09\ElektronTMS.msi
Property(S): UILevel = 2
Property(S): ACTION = INSTALL
Property(S): ROOTDRIVE = D:\
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:\temp\DDS_COM_ETMS_Win-2008-64_01-04-01_install_09\
Property(S): SourcedirProduct = {7F03FFFD-D865-41D1-B4B5-B787F52336D8}

现在,我为这个软件包安装了一个补丁,我尝试对补丁进行卸载/回退,但我立即看到它使用了错误的软件包(原始软件包的缓存副本msi在C:\ Windows中) \ Installer \并且它是2bb7bb.msi)。

=== Verbose logging started: 18/12/2015  14:58:05  Build type: SHIP UNICODE 5.00.7601.00  Calling process: C:\Windows\SysWOW64\msiexec.exe ===
MSI (c) (04:A8) [14:58:05:290]: Resetting cached policy values
MSI (c) (04:A8) [14:58:05:290]: Machine policy value 'Debug' is 0
MSI (c) (04:A8) [14:58:05:290]: ******* RunEngine:
           ******* Product: {7F03FFFD-D865-41D1-B4B5-B787F52336D8}
           ******* Action: 
           ******* CommandLine: **********
MSI (c) (04:A8) [14:58:05:290]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (04:A8) [14:58:05:290]: Grabbed execution mutex.
MSI (c) (04:A8) [14:58:05:526]: Cloaking enabled.
MSI (c) (04:A8) [14:58:05:526]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (04:A8) [14:58:05:536]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (08:E0) [14:58:05:553]: Running installation inside multi-package transaction {7F03FFFD-D865-41D1-B4B5-B787F52336D8}
MSI (s) (08:E0) [14:58:05:553]: Grabbed execution mutex.
MSI (s) (08:EC) [14:58:05:555]: Resetting cached policy values
MSI (s) (08:EC) [14:58:05:555]: Machine policy value 'Debug' is 0
MSI (s) (08:EC) [14:58:05:555]: ******* RunEngine:
           ******* Product: {7F03FFFD-D865-41D1-B4B5-B787F52336D8}
           ******* Action: 
           ******* CommandLine: **********
MSI (s) (08:EC) [14:58:05:556]: Machine policy value 'DisableUserInstalls' is 0
MSI (s) (08:EC) [14:58:05:578]: SRSetRestorePoint skipped for this transaction.
MSI (s) (08:EC) [14:58:05:579]: End dialog not enabled
MSI (s) (08:EC) [14:58:05:579]: Original package ==> C:\Windows\Installer\2bb7c2.msi
MSI (s) (08:EC) [14:58:05:579]: Package we're running from ==> C:\Windows\Installer\2bb7c2.msi
MSI (s) (08:EC) [14:58:05:580]: APPCOMPAT: Uninstall Flags override found.
MSI (s) (08:EC) [14:58:05:580]: APPCOMPAT: Uninstall VersionNT override found.
MSI (s) (08:EC) [14:58:05:580]: APPCOMPAT: Uninstall ServicePackLevel override found.
MSI (s) (08:EC) [14:58:05:589]: APPCOMPAT: looking for appcompat database entry with ProductCode '{7F03FFFD-D865-41D1-B4B5-B787F52336D8}'.
MSI (s) (08:EC) [14:58:05:601]: APPCOMPAT: no matching ProductCode found in database.
MSI (s) (08:EC) [14:58:05:612]: MSCOREE not loaded loading copy from system32
MSI (s) (08:EC) [14:58:05:625]: Opening existing patch 'C:\Windows\Installer\fb55f.msp'.

这会导致问题......

MSI (s) (08:EC) [14:58:07:626]: Resolving source.
MSI (s) (08:EC) [14:58:07:626]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (08:EC) [14:58:07:626]: User policy value 'DisableMedia' is 0
MSI (s) (08:EC) [14:58:07:626]: Machine policy value 'AllowLockdownMedia' is 0
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Media enabled only if package is safe.
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Looking for sourcelist for product {7F03FFFD-D865-41D1-B4B5-B787F52336D8}
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Adding {7F03FFFD-D865-41D1-B4B5-B787F52336D8}; to potential sourcelist list (pcode;disk;relpath).
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Now checking product {7F03FFFD-D865-41D1-B4B5-B787F52336D8}
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Media is enabled for product.
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Attempting to use LastUsedSource from source list.
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Trying source C:\temp\DDS_COM_ETMS_Win-2008-64_01-04-01_install_09\.
MSI (s) (08:EC) [14:58:07:626]: Note: 1: 2203 2: C:\temp\DDS_COM_ETMS_Win-2008-64_01-04-01_install_09\ElektronTMS.msi 3: -2147287037 
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (08:EC) [14:58:07:626]: Note: 1: 1706 2: -2147483647 3: ElektronTMS.msi 
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Processing net source list.
MSI (s) (08:EC) [14:58:07:626]: Note: 1: 1706 2: -2147483647 3: ElektronTMS.msi 
MSI (s) (08:EC) [14:58:07:626]: SOURCEMGMT: Processing media source list.
MSI (s) (08:EC) [14:58:07:627]: Note: 1: 2203 2:  3: -2147287037 
MSI (s) (08:EC) [14:58:07:627]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (08:EC) [14:58:07:627]: Note: 1: 1706 2: -2147483647 3: ElektronTMS.msi 
MSI (s) (08:EC) [14:58:07:627]: SOURCEMGMT: Processing URL source list.
MSI (s) (08:EC) [14:58:07:627]: Note: 1: 1402 2: UNKNOWN\URL 3: 2 
MSI (s) (08:EC) [14:58:07:627]: Note: 1: 1706 2: -2147483647 3: ElektronTMS.msi 
MSI (s) (08:EC) [14:58:07:627]: Note: 1: 1706 2:  3: ElektronTMS.msi 
MSI (s) (08:EC) [14:58:07:627]: SOURCEMGMT: Failed to resolve source
MSI (s) (08:EC) [14:58:07:627]: Note: 1: 2205 2:  3: Error 

有谁知道它为什么使用不同的C:\ Windows \ Installer \ XXX.msi文件?它应该使用原始文件,然后使用它来重新安装原始DLL但由于某种原因它使用2bb7c2.msi而不是2bb7bb.msi(不存在)但2bb7c2.msi是原始的补丁和2bb7bb.msi一直是原始包MSI。

2 个答案:

答案 0 :(得分:2)

基本问题是您从临时位置安装,并且修补程序卸载需要访问原始MSI才能还原以前的文件。在没有任何其他显示实际错误的情况下,它并不复杂。它需要原始的MSI文件,包含所需的PackageCode,ProductCode等,并且它似乎丢失或不匹配,或者Windows已经失去了访问该文件的权限,如果实际上它存在的话。

答案 1 :(得分:0)

事实是,当您使用MSI补丁时,它会更改原始msi文件。之后,这个msi文件将安装产品,其中包含修补程序更改。而且,在您的情况下,更重要的是,只删除完整的修补产品。

如果要删除使用补丁获得的更新,但保留原始产品,则应转到Windows Update - >查看更新日志,然后单击已安装的更新(我的Windows版本不是英文版,但它的名称应该是这样的)。在本节中,您可以找到您的更新。单击“删除”将删除补丁。