无法删除程序文件目录中的文件夹。更改权限不起作用

无法删除程序文件目录中的文件夹。更改权限不起作用

我正在安装编码系统。我下载了安装程序可执行文件,它似乎是 MSI 安装程序。按照安装程序窗口中的步骤操作,最后一步会显示一个进度条。进度条一直填满到最后,一直保持满的状态。安装程序保持此状态一个小时,进度为 100%。

没有显示任何消息,也没有出现安装向导关闭之类的情况。我等待了一会儿,然后打开了安装的程序 CoDeSys,一切运行正常。

然后我关闭安装程序窗口并确认停止。这很愚蠢,因为向导开始回滚所有更改并开始删除应用程序......

现在,当我重新尝试运行安装程序向导时,它会显示文件夹CODESYS 3.5.15.20程序文件应该是空的。但事实并非如此。它仍然包含一些以前撤消的安装的残留。我没有在已安装程序列表中看到 CoDeSys,因此我无法从那里删除它,因为它实际上已被删除,正如我所说。当我转到我的程序文件文件夹并手动删除CODESYS 3.5.15.20文件夹,我总是收到一条消息说无法删除/更改该文件夹,因为我需要系统的权限。

尝试了互联网上的几种解决方案,例如更改文件夹的所有者/权限。但即使我是所有者(而不是系统或其他什么),我也无法控制该文件夹。将文件夹的所有者更改为我自己(“Sam”),然后重试删除它,会显示以下消息:我需要“Sam”的许可。

  • 我的操作系统是Windows 10。
  • 我没有在留下的文件中看到任何卸载可执行文件。

答案1

您可以尝试以管理员身份使用 cmd。

使用命令rmdir /s /q C:/Program Files/CODESYS 3.5.15.20,假设这是正确的文件路径。

答案2

尝试删除或重命名文件或目录的一种方法是使用 Windows 的待处理文件重命名操作 (PFRO) 功能。这将执行以下操作:

  • 下次重新启动时。
  • 作为本地系统用户。
  • 在系统启动初期尽量减少持有该项目句柄的进程。

为此,您可以手动创建或更新REG_MULTI_SZ PendingFileRenameOperations注册表项下的注册表值,HKLM\System\CurrentControlSet\Control\Session Manager以供 Windows 会话管理器 (SMSS.exe) 在启动时读取。最简单的方法是使用工具创建或附加到该值(如果该值已存在)。

一种选择是移动文件工具来自 Sysinternals/Microsoft。

例如,要C:\testdelete在下次系统重启时删除该文件夹,请在提升的提示符下运行: movefile.exe "C:\testdelete" ""

上述命令将创建或附加到REG_MULTI_SZ PendingFileRenameOperations注册表值,HKLM\SYSTEM\CurrentControlSet\Control\Session Manager如下所示:

PFRO 密钥示例

笔记:值中的条目是成对处理的,这样,一个条目后面的空行将指示 SMSS.exe 进程删除前一个条目。如果接下来的行有路径,则会将其重命名。

如果删除目录或执行任何操作时出现问题,它们将被记录到 C:\windows\pfro.log

相关内容