我有一个自动更新系统,在重新启动时替换我现有的程序文件。 (可以说,这是一个非常复杂的程序,包含许多驱动程序,服务和用户级别的模块,实际上没有其他办法,请相信我)MoveFileEx与MOVEFILE_DELAY_UNTIL_REBOOT删除而不是移动
函数MoveFileEx与MOVEFILE_DELAY_UNTIL_REBOOT一起使用来设置此文件替换。我发现它通常工作得很好。但是,如果源文件和目标文件位于不同的驱动器上,目标将被删除,但源不会移动。结果是,当用户将软件安装在与系统分区不同的驱动器上时,更新将删除产品文件而不是更新它们。
现在,我看到MOVEFILE_COPY_ALLOWED应该从一个卷移动到另一个文件时可用于MoveFileEx的文件中。但它也表示该标志不能用于MOVEFILE_DELAY_UNTIL_REBOOT。
问:我如何才能将在重新启动一个文件,覆盖现有文件,当源和目标是不一样的卷上?
+1把文件应用程序目录的子目录一个悬而未决重启 – 2009-06-18 16:34:52