wix:从“添加/删除程序”修复MSI会提示输入TEMP目录MSI

时间:2014-03-03 23:51:57

标签: wix installer

我使用WiX为我的应用程序制作MSI,然后用Innosetup将它包装在.exe中。

从添加/删除程序列表中选择修复时,我总是得到一个Windows Installer提示,在我的TEMP文件夹中查找.msi,显然.msi文件没有中断修复。如果我运行原始安装程序.exe我可以修复。另外运行裸MSI也允许我修复选项。

我的MSI中是否缺少正确缓存安装程序以便进行修复的内容?

现在更新日志记录!

我不是WiX的专家,但我已经弄明白了如何启用详细日志记录,这是我执行修复时的日志。我可以看到它首先在temp目录中查找原始MSI,但显然这不起作用......我只是不明白我需要更改以解决这个问题:

=== Verbose logging started: 3/4/2014  10:01:40  Build type: SHIP UNICODE 5.00.7600.00  Calling process: C:\Windows\Explorer.EXE ===
MSI (c) (F0:10) [10:01:40:810]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (F0:10) [10:01:40:810]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (F0:D8) [10:01:40:857]: Resetting cached policy values
MSI (c) (F0:D8) [10:01:40:857]: Machine policy value 'Debug' is 0
MSI (c) (F0:D8) [10:01:40:857]: ******* RunEngine:
           ******* Product: {12152253-D5C3-4E75-9100-D53D7ED69262}
           ******* Action: 
           ******* CommandLine: **********
MSI (c) (F0:D8) [10:01:40:857]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (F0:D8) [10:01:40:857]: Grabbed execution mutex.
MSI (c) (F0:D8) [10:01:40:935]: Cloaking enabled.
MSI (c) (F0:D8) [10:01:40:935]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (F0:D8) [10:01:40:935]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (BC:54) [10:01:40:935]: Running installation inside multi-package transaction {12152253-D5C3-4E75-9100-D53D7ED69262}
MSI (s) (BC:54) [10:01:40:935]: Grabbed execution mutex.
MSI (s) (BC:28) [10:01:40:935]: Resetting cached policy values
MSI (s) (BC:28) [10:01:40:935]: Machine policy value 'Debug' is 0
MSI (s) (BC:28) [10:01:40:935]: ******* RunEngine:
           ******* Product: {12152253-D5C3-4E75-9100-D53D7ED69262}
           ******* Action: 
           ******* CommandLine: **********
MSI (s) (BC:28) [10:01:40:935]: Machine policy value 'DisableUserInstalls' is 0
MSI (s) (BC:28) [10:01:40:935]: Setting cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: Attempting to recache package via ProductCode. Beginning source resolution.
MSI (s) (BC:28) [10:01:40:935]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (BC:28) [10:01:40:935]: User policy value 'DisableMedia' is 0
MSI (s) (BC:28) [10:01:40:935]: Machine policy value 'AllowLockdownMedia' is 1
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Looking for sourcelist for product {12152253-D5C3-4E75-9100-D53D7ED69262}
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Adding {12152253-D5C3-4E75-9100-D53D7ED69262}; to potential sourcelist list (pcode;disk;relpath).
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Ignoring last used source.
MSI (s) (BC:28) [10:01:40:935]: Using cached product context: machine assigned for product: 352251213C5D57E419005DD3E76D2926
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Now checking product {12152253-D5C3-4E75-9100-D53D7ED69262}
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Processing net source list.
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Trying source C:\Users\qa\AppData\Local\Temp\is-5O84H.tmp\.
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3: 2 
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 2203 2: C:\Users\qa\AppData\Local\Temp\is-5O84H.tmp\softphone.msi 3: -2147287037 
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 1706 2: -2147483647 3: softphone.msi 
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Processing media source list.
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 2203 2:  3: -2147287037 
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 1706 2: -2147483647 3: softphone.msi 
MSI (s) (BC:28) [10:01:40:935]: SOURCEMGMT: Processing URL source list.
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 1402 2: UNKNOWN\URL 3: 2 
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 1706 2: -2147483647 3: softphone.msi 
MSI (s) (BC:28) [10:01:40:935]: Note: 1: 1706 2:  3: softphone.msi 
MSI (c) (F0:10) [10:01:40:935]: User policy value 'SearchOrder' is 'nmu'
MSI (c) (F0:10) [10:01:40:935]: User policy value 'DisableMedia' is 0
MSI (c) (F0:10) [10:01:40:935]: Machine policy value 'AllowLockdownMedia' is 1
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Prompting user for a valid source.
MSI (c) (F0:10) [10:01:40:935]: Machine policy value 'DisableBrowse' is 0
MSI (c) (F0:10) [10:01:40:935]: Machine policy value 'AllowLockdownBrowse' is 0
MSI (c) (F0:10) [10:01:40:935]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (F0:10) [10:01:40:935]: Machine policy value 'DisableMsi' is 0
MSI (c) (F0:10) [10:01:40:935]: Machine policy value 'AlwaysInstallElevated' is 0
MSI (c) (F0:10) [10:01:40:935]: User policy value 'AlwaysInstallElevated' is 0
MSI (c) (F0:10) [10:01:40:935]: Product {12152253-D5C3-4E75-9100-D53D7ED69262} is admin assigned: LocalSystem owns the publish key.
MSI (c) (F0:10) [10:01:40:935]: Product {12152253-D5C3-4E75-9100-D53D7ED69262} is managed.
MSI (c) (F0:10) [10:01:40:935]: Running product '{12152253-D5C3-4E75-9100-D53D7ED69262}' with elevated privileges: Product is assigned.
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Browsing is enabled - but requires cred prompt.
MSI (c) (F0:10) [10:01:40:935]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Now checking product {12152253-D5C3-4E75-9100-D53D7ED69262}
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Attempting to use LastUsedSource from source list.
MSI (c) (F0:10) [10:01:40:935]: Note: 1: 1706 2:  3: softphone.msi 
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Processing net source list.
MSI (c) (F0:10) [10:01:40:935]: Note: 1: 1706 2: -2147483647 3: softphone.msi 
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Processing media source list.
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Trying media source ;.
MSI (c) (F0:10) [10:01:40:935]: Note: 1: 1706 2:  3: softphone.msi 
MSI (c) (F0:10) [10:01:40:935]: SOURCEMGMT: Processing URL source liMSI (s) (BC:54) [10:01:46:357]: I/O on thread 2564 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:357]: I/O on thread 2556 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:357]: I/O on thread 500 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:357]: I/O on thread 1672 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:435]: I/O on thread 580 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:435]: I/O on thread 2272 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:435]: I/O on thread 1332 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:435]: I/O on thread 1756 could not be cancelled. Error: 1168
MSI (s) (BC:54) [10:01:46:435]: I/O on thread 296 could not be cancelled. Error: 1168
MSI (s) (BC:28) [10:01:46:435]: SOURCEMGMT: Failed to resolve source
MSI (s) (BC:28) [10:01:46:435]: MainEngineThread is returning 1612
st.
MSI (c) (F0:10) [10:01:40:935]: Note: 1: 1402 2: UNKNOWN\URL 3: 2 
MSI (c) (F0:10) [10:01:40:935]: Note: 1: 1706 2: -2147483647 3: softphone.msi 
MSI (c) (F0:10) [10:01:40:935]: Note: 1: 1706 2:  3: softphone.msi 
MSI (c) (F0:2C) [10:01:44:372]: SOURCEMGMT: Trying source C:\Users\qa\AppData\Local\Temp\is-5O84H.tmp\.
MSI (c) (F0:2C) [10:01:44:372]: Note: 1: 2203 2: C:\Users\qa\AppData\Local\Temp\is-5O84H.tmp\softphone.msi 3: -2147287037 
MSI (c) (F0:2C) [10:01:44:372]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (c) (F0:2C) [10:01:44:372]: Note: 1: 1706 2: -2147483647 3: softphone.msi 
MSI (c) (F0:2C) [10:01:44:372]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (s) (BC:54) [10:01:46:435]: User policy value 'DisableRollback' is 0
MSI (s) (BC:54) [10:01:46:435]: Machine policy value 'DisableRollback' is 0
MSI (s) (BC:54) [10:01:46:435]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (BC:54) [10:01:46:435]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (BC:54) [10:01:46:435]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (BC:54) [10:01:46:435]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2 
MSI (s) (BC:54) [10:01:46:435]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2 
MSI (s) (BC:54) [10:01:46:435]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (s) (BC:54) [10:01:46:435]: Restoring environment variables
MSI (c) (F0:D8) [10:01:46:482]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (F0:D8) [10:01:46:497]: MainEngineThread is returning 1612
=== Verbose logging stopped: 3/4/2014  10:01:46 ===

1 个答案:

答案 0 :(得分:1)

MSI缓存.msi但不使用它作为修复源,因此它会提示“真正的”来源重新安装文件。 (在Windows 7之前,MSI将从.msi的缓存副本中删除任何嵌入文件。从Windows 7开始,它保持原样不变,以便不使数字签名无效,但仍然不将它们用作源。)烧伤, WiX chainer,缓存包并使用MSI注册源代码,因此修复工作正常。