首页 > 解决方案 > 在 NTFS 上重命名目标文件后,如何防止修改快捷方式路径?

问题描述

上下文如下:有一个程序需要在必要时自行更新。这个想法是重命名当前的可执行文件,下载新的,将其放置为正常命名,然后删除重命名的。但是所有链接到原始程序的快捷方式都被自动修改为遵循新路径。从而使它们在更新后无效。有没有办法防止这种行为?该程序是 c# .NET Framework 可执行文件。

标签: c#windowsntfs

解决方案


我认为最好的办法是通过新进程中的其他可执行文件进行更新,这不是您的进程的子进程。只需先下载更新,然后从单独的进程中将更新程序进程复制到新的 exe 上。

我在这里查看了关于这样做的讨论: 链接

您基本上将拥有三个组件:

  • 检查更新并启动主要可执行文件的启动器
  • 您希望替换的主应用程序可执行文件
  • 用于执行所需更新的单独更新程序可执行文件。

推荐阅读