windows - Inno Setup:卸载过程中重新启动后删除文件夹
问题描述
我有一个关于在使用 Inno Setup 卸载期间删除文件夹的问题。
在我的脚本中,我uninsrestartdelete
在一些文件上使用了标志,并在卸载的最后一步调用DelTree
了{app}
文件夹。有时,在系统重新启动之前我无法删除所有文件(那些是代码注入 DLL)。在这种情况下,我无法{app}
成功删除该文件夹。{app}
在系统重新启动时删除文件夹的正确方法是什么?当我尝试删除它时,我可以确保文件夹中没有文件。
解决方案
要在重新启动时安排文件或目录删除,请调用RestartReplace
函数并将DestFile
(第二个)参数设置为空字符串(''
)。
RestartReplace(FileToDelete, '');
对于目录,这只有在它们为空时才有效。因此,您必须首先调用RestartReplace
目录中的所有文件,这些文件无法删除。
详情请参考Inno Setup 函数后面的WinAPI 函数MoveFileEx
及其标志。MOVEFILE_DELAY_UNTIL_REBOOT
RestartReplace
推荐阅读
- php - AJAX php代码插入NULL而不是向数据库输入值
- c# - 无法在 VB6 的外部 DLL 调用中写入文件
- html - 按钮有故障,我必须单击两次才能显示信息,并且照片没有正确对齐,这是为什么?
- java - 带有@SqlQuery 和@RegisterBeanMapper 的Bean 映射器无法实例化JDBI V3
- c# - 如何调用 ac# 函数将值填充到 razor html 文本框中?
- java - 对象初始化 - 构造函数与类类型和方法访问的关系
- jquery - 为什么我的 jquery 幻灯片可以在除 IE 11 之外的所有浏览器中工作?
- c# - 通过脚本为粒子系统设置发射
- python - 如何从 numpy 数组中提取新数组中的所有零值和非零值?
- ios - 在 Swift 中更改本地通知的文本