FileUtil.Update32Or64Libs在某些情况下会抛出异常
bruce-wei opened this issue · comments
现象描述
AutoUpdate.ConsoleApp编译后会在Debug目录下生成x64和x86的文件夹。如果把Debug目录下的所有文件拷贝到待更新程序的Debug目录下,目标程序无法完成自动更新。
问题定位
GeneralUpdate.Core工程下的DefultStrategy类在解压成功后会调用FileUtil.Update32Or64Libs(_updatePacket.InstallPath);
。如果安装目录下存在x64或x86文件夹,FileUtil.DirectoryCopy
方法会在拷贝成功后把源文件夹,即x64或x86文件夹删除,但是FileUtil.Update32Or64Libs
中还会调用Directory.Delete(sourceDir)
把源文件夹再删除一遍,导致删除异常,无法更新成功。
Update32Or64Libs该方法是历史版本遗留方法,目前更新体系中暂时用不到已移除。
PR:c030e36