我正在创建一个C#.NET WinForms应用程序,我正在将该安装程序创建为Visual Studio安装项目。
在Windows 10上,我可以删除控制面板中已安装的文件。但是,在运行时,我的应用程序会创建一个包含日志文件的文件夹,并且在卸载应用程序时不会删除此文件夹和日志文件。
如何在卸载程序时删除这些文件?
答案 0 :(得分:3)
您可以使用自定义安装程序操作在安装或卸载应用程序期间执行自定义操作。为此,您需要添加一个新的类库,其中包含一个派生自CustomAction
。
为此,请按照以下步骤操作:
CustomActionData
属性设置为/path="[TARGETDIR]\"
。自定义操作代码
添加对System.Configuration.Install
程序集的引用,然后将类添加到具有以下内容的项目中。你可以在这里找到你需要的任何逻辑。
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
namespace InstallerActions
{
[RunInstaller(true)]
public partial class RemoveFiles : Installer
{
protected override void OnAfterUninstall(IDictionary savedState)
{
var path = System.IO.Path.Combine(Context.Parameters["path"], "log");
System.IO.Directory.Delete(path, true);
}
}
}