我有一个名为“XYZ”的窗口.net 应用程序,在安装后使用我的应用程序时,我创建了一个名为“ABC”的自定义文件夹(文件夹可能位于应用程序路径以外的任何位置)。
当我卸载应用程序时,所有文件夹都将被删除,但“ABC”文件夹仍保留在那里。
如何删除应用程序路径以外的“ABC”文件夹?
您必须为此使用自定义操作:
- 将新库(“CustomActions”)添加到安装项目
- 添加 => 新项目 => 安装程序类
- 切换到代码视图并覆盖 Uninstall 方法
Code:
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
// Delete folder here.
}
如果您不想编写自己的 DeleteFolder 方法,请添加对 Microsoft.VisualBasic 的引用:
Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory("C:\\MyFiles", Microsoft.VisualBasic.FileIO.DeleteDirectoryOption.DeleteAllContents);
- 将 CustomActions 项目的项目输出(主输出)添加到安装项目中。
- 右键单击您的安装项目,然后单击“查看”=>“自定义操作”
- 右键单击卸载 => 添加自定义操作 => 应用程序文件夹 => CustomActions 的主要输出
注意:一个很好的例子位于here http://steptodotnet.blogspot.com/2012/10/visual-studio-package-and-development.html。他们更详细地解释了这个例子。起初,这个答案中并不明显的是,您必须在应用程序的项目中添加安装程序类模板,而不是在应用程序的设置项目中。基本上,安装项目从添加到安装项目中的自定义操作的任何应用程序调用过程 Install() 和 Uninstall()。这个想法是重写这两个过程来注入代码来执行你的命令......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)