如何获取正在安装的文件的文件名?

时间:2011-10-17 10:07:50

标签: windows-installer installshield installshield-2011

如何获取正在安装的文件的文件名?

我想检查正在安装的文件是否已经在目标文件夹中,并将现有文件重命名为其他名称。有没有办法让我们知道正在安装的文件名? (在OnMoving()左右?)。

注意:我使用的是InstallScript MSI - InstallShield 2011 Premier

2 个答案:

答案 0 :(得分:1)

您可以尝试使用自定义操作读取程序包将在运行时安装的文件的文件名,然后检查安装目录是否包含具有匹配名称的其他文件。

以下是可在安装时访问MSI数据库的自定义操作的一些示例: http://msdn.microsoft.com/en-us/library/Aa372865

答案 1 :(得分:0)

虽然我认为您可以在纯InstallScript项目中基于每个文件拦截文件安装,但您无法在基于Windows Installer的InstallScript MSI项目中执行此操作。这是因为Windows Installer不提供这种挂钩。因此,如果你想做这样的事情,你需要弄清楚哪些文件会被提前覆盖,并在那时做你想做的事情,而不是等待每个文件的事件。