3

我通过序列编辑器向OnInstallFilesActionBefore自定义操作添加了一个条件。我做到了,所以它只在您第一次安装设置时执行,这意味着我的条件是:

Not Installed

我现在看到编译时记录了这个警告:

ISDEV : 警告 InstallExecuteSequence 序列中自定义操作 OnInstallFilesActionBefore 的条件已被修改。这将在运行时导致不可预测的结果。

看,我认为自定义操作只是一个特定于 InstallShield 的包装器,它允许我们在 InstallFiles 操作之前添加代码。除了我添加到它的代码之外,它还会做其他事情吗?如果它所做的只是执行我添加的代码,那么我需要注意这个警告吗?我有点担心它说它“在运行时导致不可预测的结果”,好像它们是肯定的。

据我所知,它工作正常。我的代码在第一次安装时执行,但在卸载或修复时不执行。这就是我想要的。

作为记录,我使用的是 DevStudio v9。

4

1 回答 1

2

如果我没记错的话,并且已经有几年了,所以我可能是错的,那么只有在您使用混合 InstallScript MSI 项目类型时才包含该操作。因此它将用于在文件复制事件之前运行 installscript 操作。

因此,如果您在其中没有任何 installscript 操作,则为其添加条件不会导致问题。虽然它导致了为什么你首先想要这个条件的问题。

您可能最好使用仅包含标准 MSI 操作的基本 MSI 项目类型。这意味着您也不依赖 ISScript Installshield 运行时,因此这通常是一种更好的做法,并且完全消除了您的问题背后的担忧。

于 2009-04-05T23:08:00.097 回答