是否可以向核心 InstallShield 自定义操作添加条件? (如 OnInstallFilesActionBefore)

发布于 2024-07-16 13:54:01 字数 622 浏览 7 评论 0原文

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

Not Installed

我现在在编译时看到记录的警告:

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

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

据我所知,它工作得很好。 我的代码在首次安装时执行,但在卸载或修复时不执行。 这就是我想要的。

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

I added a condition to the OnInstallFilesActionBefore Custom Action via the Sequences editor. I made it so it only executes the first time you install the setup, which means my condition is:

Not Installed

I'm now seeing this warning logged when compiling:

ISDEV : warning The condition for
Custom Action
OnInstallFilesActionBefore in the
InstallExecuteSequence Sequence has
been modified. This will cause
unpredictable results at runtime.

See, I thought that Custom Action was simply an InstallShield-specific wrapper that allowed us to add code before the InstallFiles action. Does it do anything else other than the code I add to it? If all it does is execute the code I added to it, then do I need to pay attention to this warning? I'm a little concerned that it says it "will cause unpredictable results at runtime", as if they are certain.

As for as I can tell, it works fine. My code is executed when first installing, but not when uninstalling or repairing. That's what I want.

For the record, I'm using DevStudio v9.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风情万种。 2024-07-23 13:54:01

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

因此,如果其中没有任何安装脚本操作,则向其中添加条件不会导致问题。 尽管这会引出一个问题:为什么你首先想要这种情况。

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

If I remember correctly, and it's been a few years so I may be wrong, that action is only included if you are using a hybrid InstallScript MSI project type. So it would be used to run installscript actions before file copy events.

So adding a condition to it isn't going to cause a problem if you don't have any installscript actions in there. Although it leads to the question of why you want the condition in the first place.

You are probably better of using the Basic MSI project type which will just include the standard MSI actions. It means you don't have the dependency on the ISScript Installshield run time as well so it's just generally a better practice and entirely removes the worry behind your question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文