我们有一个最小的“更新程序”exe,它检查远程 URL 的更新、下载它们并在启动真正的应用程序之前替换磁盘上的文件。但是,如果我们想替换更新程序 EXE,那么 AFAIK 我们有两个选择:
影子复制程序集,.Net 将创建 EXE(和任何引用的程序集)的影子副本并加载这些程序集,以便可以替换非影子程序集并在下次启动应用程序时使用。
确定哪些文件被替换并在磁盘上重命名/移动它们。Windows 似乎允许重命名/移动锁定的文件,因此我们可以移动文件并复制到新的程序集中。同样,在下次启动应用程序时,我们将启动新程序集。这里提到了这种方法
这第二种方法是推荐的方法吗?这种方法有什么陷阱吗?