【发布时间】:2009-07-31 11:02:49
【问题描述】:
我们有一个最小的“更新程序”exe,它检查远程 URL 是否有更新、下载它们并在启动真正的应用程序之前替换磁盘上的文件。但是,如果我们想替换更新程序 EXE,那么 AFAIK 我们有两个选择:
Shadow Copying Assemblies 借此 .Net 将创建 EXE(以及任何引用的程序集)的影子副本并加载这些程序集,以便可以替换非影子程序集并在下一个应用程序时使用启动。
确定哪些文件被替换并在磁盘上重命名/移动它们。 Windows 似乎允许重命名/移动锁定的文件,所以我们可以移动文件并复制到新的程序集中。同样,在下次启动应用程序时,我们将启动新程序集。这个方法有提到here
第二种方法是推荐的方法吗?这种方法有什么缺陷吗?
【问题讨论】:
标签: .net shadow-copy