c# - 在 NTFS 上重命名目标文件后,如何防止修改快捷方式路径?
问题描述
上下文如下:有一个程序需要在必要时自行更新。这个想法是重命名当前的可执行文件,下载新的,将其放置为正常命名,然后删除重命名的。但是所有链接到原始程序的快捷方式都被自动修改为遵循新路径。从而使它们在更新后无效。有没有办法防止这种行为?该程序是 c# .NET Framework 可执行文件。
解决方案
我认为最好的办法是通过新进程中的其他可执行文件进行更新,这不是您的进程的子进程。只需先下载更新,然后从单独的进程中将更新程序进程复制到新的 exe 上。
我在这里查看了关于这样做的讨论: 链接
您基本上将拥有三个组件:
- 检查更新并启动主要可执行文件的启动器
- 您希望替换的主应用程序可执行文件
- 用于执行所需更新的单独更新程序可执行文件。
推荐阅读
- curl - 自动输入用户名和密码以连接到 SFTP 服务器
- google-chrome-devtools - 与 workbox-window.update() 的行为不一致
- python - 如何从主 python 脚本重新启动正在运行的 python 脚本?
- c++ - 创建用户定义的复制构造函数时无法创建对象
- mysql - 如何更改在虚拟框中的 inuxmint 上运行的 mysql 时区?
- dependency-injection - 在 Blazor 中将子组件作为参数传递
- c++ - 带有 Glade 的 Windows 10 上的 MSYS2 ( gtk_entry_get_text: assertion 'GTK_IS_ENTRY (entry)' failed )
- php - 如何使用 PHP 检测 4 字节字符
- javascript - startAction() 函数中的错误是什么?
- python - 在python中将列表分成两半而不重复的每种方法