测试反馈说程序升级的时候主进程的exe总替换不掉,起初以为是升级的时候没有进程没有退出,于是在很多地方添加了检测杀死进程的代码,结果问题依旧,后来才发现是360阻止了exe文件的覆盖,奇葩的是 错说替换会引起系统问题的错误。
还有一个费解的问题是360好像很有针对性,修改,删除这个exe都不会 错,但是替换就会阻止;
闲话少叙。说下发现:
开始的时候用的API是
MoveFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName) ;
int __cdecl rename(_In_z_ const char * _OldFilename, _In_z_ const char * _NewFilename);
结果 错之后阻止了函数的执行;
替换成
BOOL CopyFile( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);
虽然 错但是没有阻止这个API的执行;
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!