wix:MSI从添加/删除程序修复提示临时目录MSI

wix:MSI从添加/删除程序修复提示临时目录MSI,wix,installation,Wix,Installation,我正在使用WiX为我的应用程序创建一个MSI,并使用Innosetup将其包装在一个.exe中 从“添加/删除程序”列表中选择“修复”时,我总是会收到Windows Installer提示,在我的临时文件夹中查找.msi,很明显,.msi文件不在那里,无法修复。如果我运行原始安装程序.exe,我可以很好地修复。同时运行裸MSI也允许我选择修复选项 我的MSI中是否缺少正确缓存安装程序以便进行修复的内容 立即使用日志更新 我不是WiX方面的专家,但我已经知道如何启用详细日志记录,这是我执行修复时的

我正在使用WiX为我的应用程序创建一个MSI,并使用Innosetup将其包装在一个.exe中

从“添加/删除程序”列表中选择“修复”时,我总是会收到Windows Installer提示,在我的临时文件夹中查找.msi,很明显,.msi文件不在那里,无法修复。如果我运行原始安装程序.exe,我可以很好地修复。同时运行裸MSI也允许我选择修复选项

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

立即使用日志更新

我不是WiX方面的专家,但我已经知道如何启用详细日志记录,这是我执行修复时的日志。我可以看到,它是在临时目录中寻找最初的微星,但显然这是行不通的。。。我只是不明白我需要改变什么来解决这个问题:

=== 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 ===

MSI缓存.MSI,但不将其用作修复源,因此它会提示输入“真实”源以重新安装文件。(在Windows 7之前,MSI会从.MSI的缓存副本中删除任何嵌入文件。自Windows 7以来,MSI会保持这些文件的完整性,以便不会使数字签名无效,但仍不会将其用作源。)WiX链接器Burn会缓存包并向MSI注册源,以便修复正常工作。

我不确定我是否理解。。那么,当我点击“添加/删除程序”中的“修复”按钮时,到底发生了什么呢?我编辑了我的回答以澄清:MSI为内部结构保留了.MSI的缓存副本,但不将其缓存用作实际文件的源。这需要不同的缓存。要详细说明,修复将尝试将已安装的产品恢复到MSI文件中定义的初始状态,这可能涉及重新安装丢失或损坏的文件。这需要在原始安装位置访问原始MSI文件。看起来您使用了一个安装程序,将MSI文件放入临时位置并从那里安装,这不是您应该做的。@PhilDW好的,我想这就是正在发生的事情。哪里是一个更“标准”的位置把我的微星呢?或者我应该一起删除修复选项,因为我的产品的安装程序文件始终在线可用?