Wix自定义操作方法修改未生效,安装流程持续抛出异常
问题描述
我已修改相关自定义操作(Custom Action),并在安装序列的指定位置调用了该方法,但修改未在实际安装流程中生效,该方法始终抛出异常。即使我从安装序列中移除该调用语句,仍会触发同一方法的异常。
安装日志
操作结束 6:43:41: InstallFinalize。返回值 1。 MSI (s) (6C:24) [06:43:41:955]: 跳过操作: CopyLogFile (条件不成立) MSI (s) (6C:24) [06:43:41:955]: 跳过操作: RegisterAspWithIISAction (条件不成立) MSI (s) (6C:24) [06:43:41:955]: 执行操作: RemoveVsixTrash 操作 6:43:41: RemoveVsixTrash。 操作开始 6:43:41: RemoveVsixTrash。 MSI (s) (6C:24) [06:43:41:970]: 为线程 4132 创建类型为 790542 的 MSIHANDLE (2051) MSI (s) (6C:D8) [06:43:41:970]: 调用远程自定义操作。DLL: C:\WINDOWS\Installer\MSI7FE9.tmp,入口点: RemoveVsixTrash MSI (s) (6C!98) [06:43:42:064]: 为线程 4248 创建类型为 790531 的 MSIHANDLE (2052) SFXCA: 将自定义操作提取到临时目录: C:\WINDOWS\Installer\MSI7FE9.tmp-\ MSI (s) (6C!98) [06:43:42:126]: 关闭线程 4248 的类型为 790531 的 MSIHANDLE (2052) MSI (s) (6C!98) [06:43:42:173]: 为线程 4248 创建类型为 790531 的 MSIHANDLE (2053) SFXCA: 绑定到 CLR 版本 v4.0.30319 MSI (s) (6C!98) [06:43:42:189]: 关闭线程 4248 的类型为 790531 的 MSIHANDLE (2053) MSI (s) (6C!98) [06:43:42:236]: 为线程 4248 创建类型为 790531 的 MSIHANDLE (2054) 调用自定义操作 Allscripts.Automation.CustomAction!Allscripts.Automation.CustomAction.CustomActions.RemoveVsixTrash MSI (s) (6C!98) [06:43:42:251]: 关闭线程 4248 的类型为 790531 的 MSIHANDLE (2054) MSI (s) (6C!98) [06:43:42:267]: 为线程 4248 创建类型为 790531 的 MSIHANDLE (2055) 自定义操作抛出异常: MSI (s) (6C!98) [06:43:42:283]: 关闭线程 4248 的类型为 790531 的 MSIHANDLE (2055) MSI (s) (6C!98) [06:43:42:298]: 为线程 4248 创建类型为 790531 的 MSIHANDLE (2056) System.Reflection.TargetInvocationException: 调用的目标发生了异常。---> System.ComponentModel.Win32Exception: 系统找不到指定的文件 在 System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 在 System.Diagnostics.Process.Start() 在 Allscripts.Automation.CustomAction.CustomActions.GetVsVersionInstallDirectories() 在 Allscripts.Automation.CustomAction.CustomActions.RemoveVsixTrash(Session session) --- 内部异常堆栈跟踪结束 --- 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 在 Microsoft.Deployment.WindowsInstaller.CustomActionProxy.InvokeCustomAction(Int32 sessionHandle, String entryPoint, IntPtr remotingDelegatePtr) MSI (s) (6C!98) [06:43:42:298]: 关闭线程 4248 的类型为 790531 的 MSIHANDLE (2056) 自定义操作 RemoveVsixTrash 返回实际错误代码 1603(注意如果在沙盒内进行了转换,此值可能并非100%准确) MSI (s) (6C:D8) [06:43:42:345]: 关闭线程 4132 的类型为 790542 的 MSIHANDLE (2051) 操作结束 6:43:42: RemoveVsixTrash。返回值 3。 操作结束 6:43:42: INSTALL。返回值 3。
内容的提问来源于stack exchange,提问作者Nachiket Phaltane
相关产品推荐
相关产品推荐

