我使用 Inno Setup 作为我产品的安装程序/卸载程序。我的软件具有自动更新功能,在此期间它不仅可以更改现有的二进制文件,还可以添加新的二进制文件。这些是放置在产品安装目录中的附加产品文件,而不是数据文件。
Inno Setup 卸载程序只知道按照安装时最初放置的名称卸载文件。由于自动更新不会更改构成卸载程序的 unins000.exe 或 unins000.dat 文件,那么在卸载时删除这些新产品文件的适当方法是什么?
我使用 Inno Setup 作为我产品的安装程序/卸载程序。我的软件具有自动更新功能,在此期间它不仅可以更改现有的二进制文件,还可以添加新的二进制文件。这些是放置在产品安装目录中的附加产品文件,而不是数据文件。
Inno Setup 卸载程序只知道按照安装时最初放置的名称卸载文件。由于自动更新不会更改构成卸载程序的 unins000.exe 或 unins000.dat 文件,那么在卸载时删除这些新产品文件的适当方法是什么?
我看到的最简单的方法是在程序目录中有一个批处理文件,该文件删除安装后添加并在卸载时执行的所有文件:
[UninstallRun]
Filename: cleanup.cmd; WorkingDir: {app}; Flags: shellexec runminimized
UninstallRun
命令作为卸载的第一步执行,所以这应该可以正常工作。如果您对运行批处理脚本的想法感到困扰,您可以轻松创建自己的 cleanup.exe 来删除文件。
当您执行自动更新时,您还必须更新清理文件,以便它包含与当前更新一起添加的所有文件。