【发布时间】:2010-09-22 20:30:37
【问题描述】:
我有一个卸载程序,它执行一些操作,然后提示用户重新启动。我想在重新启动后删除一个目录。我知道有办法做到这一点,我只是不确定如何。
我正在使用 WiX 安装程序,并且我想我可以使用它来执行此操作,但我愿意接受其他选择(无论哪种最简单的都适合我)。我的目标平台是 Windows 7,不过如果它也适用于旧版本的 Windows,那就太好了。
重新启动后将此目录标记为删除的最简单方法是什么?
【问题讨论】:
我有一个卸载程序,它执行一些操作,然后提示用户重新启动。我想在重新启动后删除一个目录。我知道有办法做到这一点,我只是不确定如何。
我正在使用 WiX 安装程序,并且我想我可以使用它来执行此操作,但我愿意接受其他选择(无论哪种最简单的都适合我)。我的目标平台是 Windows 7,不过如果它也适用于旧版本的 Windows,那就太好了。
重新启动后将此目录标记为删除的最简单方法是什么?
【问题讨论】:
如果您的文件处于锁定状态,Windows Installer 可以在重新启动后处理删除,但没有内置方式指示它仅在重新启动后删除它。我认为您可以这样做的唯一方法是使用自定义操作来记录指示它执行删除的 RunOnce 注册表项。您不能为此使用注册表表,因为 Windows Installer 无法在卸载过程中记录到注册表。
不过,您在这条线之外涂色,所以我想了解为什么在确定它是否有效时需要此要求。
【讨论】:
尝试使用 SysInternal 的“MoveFile”。指定“”作为目标,然后噗!假设你最终不会陷入许可地狱...... :(
【讨论】: