4

卸载我的 Winform 应用程序后,各种文件和文件夹仍然存在 - 包括内容文件(图片、图标等)和应用程序创建的日志文件夹。对于内容文件:在自定义安装程序项目中,我将“永久”属性设置为 false。对于日志文件夹:我认为这将与其他所有内容一起删除。

我是否缺少 MSI 设置属性,或者我是否需要确定应用程序的根路径并删除覆盖Uninstall方法上的所有内容?

4

2 回答 2

3

不,没有。MSI 安装程序不会卸载它没有安装的任何东西,这意味着留下用户数据、日志文件等。

这是设计使然 - 如果用户错误地卸载了您的应用程序并清除了他们所有的财务数据或其他什么,您能想象责任吗?或者如果他们错误地将其他内容保存到您应用的数据文件夹中,而您的卸载程序将其删除?

于 2012-04-27T00:17:01.847 回答
0

查看安装程序会保留有关它安装的所有文件的信息,并且在调用卸载时,此信息会告诉安装程序要删除哪些文件或文件夹。安装后,如果应用程序或用户创建任何文件夹或文件,这些项目即使在卸载后仍保留在那里。

但是有一个解决方案。OnAfterUninstall您可以在此处编写自己的自定义操作

protected override void OnAfterUninstall(IDictionary savedState)
{
    base.OnAfterUninstall(savedState);
    // Write your code
}
于 2012-04-27T01:20:57.097 回答