更新文件时卡死
lscgzwd opened this issue · 15 comments
引发的异常:“System.ObjectDisposedException”(位于 System.Data.SQLite.dll 中)
程序“[14120] PreAudit.exe”已退出,返回值为 -1 (0xffffffff)。
下载完文件,开始解压替换时候卡死
有可以测试复现的例子吗?这个错误信息很奇怪,System.Data.SQLite并不是更新程序依赖的问价。
有可以测试复现的例子吗?这个错误信息很奇怪,System.Data.SQLite并不是更新程序依赖的问价。
我的项目是CefSharp的,谷歌浏览器用到了SQLite,项目本身也用到了SQLite, 我想找到报错的点,但是我发现用github上的源码,每次执行到启动外部进程后,只执行完BeginCheckUpdateInProcess 就不执行后面的了,我看后面正常应该要弹窗确认,但是那个没弹出来。我怀疑是杀进程,可能cefsharp的进程杀不掉导致
我找到卡死的原因了。我用的是github上master分支的源码,在拉起的独立更新进程的updater.static.cs的Instance_UpdatesFound方法中,没有判断当前是不是在独立更新线程中,后面继续执行了showuiform导致死循环了。也就是没有触发在abstractupdatebase中的onupdatefound
另外还发现原来杀进程的方法在win10上已经不能用了,那个hasexited 始终是返回的true,我给注释掉了,不判断,强制调用kill了。
另外还发现原来杀进程的方法在win10上已经不能用了,那个hasexited 始终是返回的true,我给注释掉了,不判断,强制调用kill了。
这个方法始终返回true?不应该吧。我开发机从win10到win11,没发现过这个问题。
我找到卡死的原因了。我用的是github上master分支的源码,在拉起的独立更新进程的updater.static.cs的Instance_UpdatesFound方法中,没有判断当前是不是在独立更新线程中,后面继续执行了showuiform导致死循环了。也就是没有触发在abstractupdatebase中的onupdatefound
ShowUiForm方法会尽量把窗体调度到UI线程上执行。
我这win10,打断点,还是编译后运行, 输出日志,都显示返回的true, 我是winform , 里面有cefsharp做的界面,也许和这个有关。多次测试都是显示返回的true,而且另外同事的机器上也是,原因不明,我现在改成直接强行kill 就过了这个点
我找到卡死的原因了。我用的是github上master分支的源码,在拉起的独立更新进程的updater.static.cs的Instance_UpdatesFound方法中,没有判断当前是不是在独立更新线程中,后面继续执行了showuiform导致死循环了。也就是没有触发在abstractupdatebase中的onupdatefound
ShowUiForm方法会尽量把窗体调度到UI线程上执行。
其实二次弹窗是没必要的,从产品角度上来讲,因为最开始在winform 里面已经检测更新,弹出窗体了,用户点立即更新,这个时候拉起的新线程应该直接更新就行了,无需再次确认。
我找到卡死的原因了。我用的是github上master分支的源码,在拉起的独立更新进程的updater.static.cs的Instance_UpdatesFound方法中,没有判断当前是不是在独立更新线程中,后面继续执行了showuiform导致死循环了。也就是没有触发在abstractupdatebase中的onupdatefound
ShowUiForm方法会尽量把窗体调度到UI线程上执行。
其实二次弹窗是没必要的,从产品角度上来讲,因为最开始在winform 里面已经检测更新,弹出窗体了,用户点立即更新,这个时候拉起的新线程应该直接更新就行了,无需再次确认。
有点意思……是不应该有二次弹窗的。可以的话烦请提供一个可复现问题的样本,感谢。
另外还发现原来杀进程的方法在win10上已经不能用了,那个hasexited 始终是返回的true,我给注释掉了,不判断,强制调用kill了。
这个方法始终返回true?不应该吧。我开发机从win10到win11,没发现过这个问题。
哈哈,
我和你一样,也是使用了浏览器内核,我用的是CefGlue
这个问题,我也频繁出现,早就给作者反馈过,但作者没有认可我的情况。
没有办法,只能我自己来,以下是我自己修改的版本:
8ab83f3
另外还发现原来杀进程的方法在win10上已经不能用了,那个hasexited 始终是返回的true,我给注释掉了,不判断,强制调用kill了。
这个方法始终返回true?不应该吧。我开发机从win10到win11,没发现过这个问题。
哈哈,
我和你一样,也是使用了浏览器内核,我用的是CefGlue
这个问题,我也频繁出现,早就给作者反馈过,但作者没有认可我的情况。
没有办法,只能我自己来,以下是我自己修改的版本: 8ab83f3
同样遇到这个问题,也是嵌入了webview,但是我这个是杀成功了,但是右下角更新的一直在不停的循环弹。