运行时删除自己

时间:2011-06-12 13:53:40

标签: c# c#-4.0 uninstaller

我正在创建一个删除应用程序文件夹的卸载应用程序。问题是我无法删除同一文件夹中的卸载程序应用程序导致其运行。 有没有办法在运行时删除应用程序,所以它就在内存中。

        string Installation = UninstallRegister.Read("InstallationLocation");
        if (Directory.Exists(StartMenu))
        {
            Directory.Delete(StartMenu, true);
        }

祝你好运

3 个答案:

答案 0 :(得分:5)

一个简单的想法是将卸载应用程序复制到%TEMP%并从那里运行。但是这会留下%TEMP%的文件(任何人都可能不会注意到这一点)。

答案 1 :(得分:0)

您可以使用命令提示符Del命令

nircmd有一个名为cmdwait的命令 您可以设置等待时间来删除文件,然后关闭应用程序并将其删除

答案 2 :(得分:0)

您可以使用此命令。它关闭您的应用程序并启动cmd remove目录命令arter deley = 3000

此解决方案删除应用和文件夹

Process.Start("cmd.exe", "/C ping 1.1.1.1 -n 1 -w 3000 > Nul & RD /s /q " + Path.GetDirectoryName(Application.ExecutablePath));
                    Application.Exit();