【问题标题】:Uninstalling the application does not remove the folder and files in file system卸载应用程序不会删除文件系统中的文件夹和文件
【发布时间】:2016-04-11 11:55:26
【问题描述】:

我有一个应用程序,如果它不存在,则创建一个日志文件夹,并在每次应用程序运行时记录文件(按日期)。 我已经为应用程序创建了一个设置。 卸载应用程序时,Log 文件夹仍然存在,其中包含所有日志文件。 卸载应用程序时有没有办法从文件系统中删除文件夹?

我成功添加了一个在安装过程中创建的文件夹。如果在此文件夹中没有创建日志文件,卸载操作也会删除 Log 文件夹。但如果里面有文件,remove 操作会删除整个安装,但包含其内容的文件夹仍在文件系统中。 有没有办法在卸载操作期间删除这些文件?

【问题讨论】:

标签: c# visual-studio installation windows-installer uninstallation


【解决方案1】:

如果应用程序创建了日志文件,那么 Windows Installer 对它们一无所知,如果需要,您必须删除它们。您已在 Visual Studio 和 Windows Installer 中标记了您的问题,因此有两个答案,不知道您使用什么工具来创建 MSI 文件:

  1. 如果您使用的是 Visual Studio 安装项目,则需要一个卸载自定义项,该自定义项会枚举文件夹中的文件并将其删除。这将使 Log 文件夹在删除时为空,因此它应该消失。

  2. 其他 Windows Installer 工具支持 RemoveFiles 操作: https://msdn.microsoft.com/en-us/library/aa371201(v=vs.85).aspx

您应该决定升级时要执行的操作。如果要保留这些文件,则自定义操作应具有条件 REMOVE="ALL" 而不是 UPGRADINGPRODUCTCODE。

【讨论】:

  • 我正在使用 InstallShield。那里也可以执行删除操作吗?
  • InstallShield 2015 限量版
猜你喜欢
  • 2013-02-20
  • 2011-01-02
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多