关闭程序后如何删​​除程序exe文件

How to Delete Program exe file after closing program

我想做的是一旦用户关闭我的程序,我希望程序自动删除 exe 文件。这就是我所拥有的,但是当我关闭程序时,我收到一条错误消息,指出该路径不可访问,我认为这是因为第二次它正在被使用并且无法删除。

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
        string path = Application.ExecutablePath;
        File.Delete(path);
    }

如果有人知道如何在程序完全关闭后执行代码或如何修改此代码以使其执行此操作,我将不胜感激。

您可以在 C# 中执行 powershell 命令来为您删除文件:

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
   using (PowerShell PowerShellInstance = PowerShell.Create())
   {
      PowerShellInstance.AddScript("Remove-Item param($param1)");
      PowerShellInstace.AddParameter("param1", Application.ExecutablePath)
   }
}

https://blogs.msdn.microsoft.com/kebab/2014/04/28/executing-powershell-scripts-from-c/