如何使用托管代码在 InstallShield 2013 中为文本框验证创建自定义操作?

How to create a custom action for a text box validation in InstallShield 2013 using managed code?

我有一些 C# 代码用于验证我的应用程序中的设置。我想添加一个向导页面来更改此设置。用户越早看到设置,他们的生活就会越好。是否可以在 C# 中编写一个自定义操作来验证文本框?如果是,怎么做?

解决方案需要是套件项目的一部分。

我确实查看了 "Managed Custom Actions" 示例项目(以及其他示例),但没有发现任何适用于我的情况的内容。文本框的验证 属性 有一个下拉列表,其中包括 "browse for DLL Action." 从该托管自定义操作中选择 DLL 会导致声明没有导出操作。

我一直在 Internet 上寻找提示、InstallShield 的帮助和用户指南。不幸的是,我发现的大部分内容都是为 Basic MSI 项目中的事件构建自定义操作。

目前在 UI 中可以完成的工作与套件项目中的 Actions 视图可以完成的工作之间存在分歧。在这种情况下,UI 可以调用验证操作,这些操作可以来自 C++ DLL,但它不直接支持托管代码。 Actions 视图支持处理托管代码,但没有任何与验证相关的事件。

因此,总而言之,目前不支持您请求的内容。您可能能够通过用 C++ 编写主机来调用托管代码,但此时您最好只用 C++ 编写验证本身。