Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio visual studio安装程序不会删除卸载中的所有文件_Visual Studio_Installation - Fatal编程技术网

Visual studio visual studio安装程序不会删除卸载中的所有文件

Visual studio visual studio安装程序不会删除卸载中的所有文件,visual-studio,installation,Visual Studio,Installation,我正在使用VisualStudio安装程序。 但卸载时-从“添加-删除”程序中,它不会删除所有文件,但会在文件夹中留下一些文件,如何使卸载删除所有文件?安装程序只删除它安装的文件。安装后创建的文件不会被删除。您必须创建一个自定义操作来执行清理。要在软件之后进行清理(删除一些自定义或用户生成的文件),您应该创建一个自定义操作,并将其添加到安装程序的卸载部分 自定义操作可以是继承自System.Configuration.Install.Installer类的类库 以下是卸载程序自定义操作的示例实现

我正在使用VisualStudio安装程序。
但卸载时-从“添加-删除”程序中,它不会删除所有文件,但会在文件夹中留下一些文件,如何使卸载删除所有文件?

安装程序只删除它安装的文件。安装后创建的文件不会被删除。您必须创建一个自定义操作来执行清理。

要在软件之后进行清理(删除一些自定义或用户生成的文件),您应该创建一个自定义操作,并将其添加到安装程序的卸载部分

自定义操作可以是继承自
System.Configuration.Install.Installer
类的类库

以下是卸载程序自定义操作的示例实现:

[RunInstaller(true)]
public partial class CustomUninstaller : System.Configuration.Install.Installer
{
    public CustomUninstaller()
    {
        InitializeComponent();
    }

    public override void Uninstall(IDictionary savedState)
    {
        if (savedState != null)
        {
            base.Uninstall(savedState);
        }

        string targetDir = @"C:\Your\Installation\Path";
        string tempDir = Path.Combine(targetDir, "temp");

        try
        {
            // delete temp files (you can as well delete all files: "*.*")
            foreach (FileInfo f in new DirectoryInfo(targetDir).GetFiles("*.tmp"))
            {
                f.Delete();
            }

            // delete entire temp folder
            if (Directory.Exists(tempDir))
            {
                Directory.Delete(tempDir, true);
            }
        }
        catch (Exception ex)
        {
            // TODO: Handle exceptions here
        }
    }
}

正确的处理方法是我不知道存在哪些文件不同版本的安装程序安装不同的文件。如何删除安装文件夹中的所有文件?您可以使用自定义操作