从 Inno Setup 中的现有文件中删除只读属性

Remove read-only attribute from existing files in Inno Setup

我正在使用 Inno Setup 创建一个设置。此设置将文件添加到“主程序”,并在安装一些文件后运行另一个自定义程序,该程序会解压缩一些以前安装的文件。

这个解包程序依赖于一些现有的可写文件,这通常是这种情况。但在开发机器上,这些文件受版本控制,因此写保护(具有只读属性)。

当这些文件被写保护时,解包程序不会解包(也许它会在控制台中显示警告,但控制台是隐藏的,因此不会看到此警告)。而且我不能更改这个解包程序的代码。

所以,我正在寻找一种方法,使这些文件可以使用 Inno Setup 写入,即使这些文件不是由 Inno Setup 安装的。

我怎样才能做到这一点?

Inno Setup 中没有内置机制。

但是您几乎可以使用 WinAPI 从 Pascal 脚本执行任何操作。在这种情况下,您想使用 SetFileAttributes.

有关如何从 Inno Setup 使用 SetFileAttributes 的示例,请参阅:
Inno Setup Code section create hidden file