如何在 Windows 安装程序自定义对话框中设置必填字段

How to make a field Mandatory in Windows Installer custom dialog

我最近为我的 C# .NET Windows Forms 应用程序创建了一个安装项目。

在我的用户界面编辑器中我有:

- Start
  - Welcome
  - Textboxes (A)
  - Installation Folder
  - Confirm Installation

文本框 (A) 对话框中,我有一个编辑字段,我想将其设置为必填项。

我该怎么做?我已经下载了 Orca 编辑器。有没有一种简单的方法可以使用它来做到这一点?

这是我希望实现的两个目标(至少目标1):

  1. 到 enable/disable 下一个基于编辑标签非空的按钮
  2. 是否可以在点击下一步按钮后验证内容?

感谢任何帮助。

谢谢!

Windows 安装程序对话框定义位于已部署版本的 VS 的 IDE 文件夹下的 CommonExtensions\Microsoft\VSI\bin\VsdDialogs 文件夹中,例如,对于 VS 2017,它是这样的:

C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\bin\VsdDialogs\

在该文件夹中,以管理员身份进入 01033 文件夹,运行 orca 并更改用于 Textboxes (A).

Note 1: You can create a new windows installer dialog by copying that file and renaming it to MyCustomDialog.wid. Then open it in orca and go to ModuleDialog table and change the DisplayName to My Custom Dialog. Make sure you copy the file in both 1033 and 0. Then in VS, you can add an instance of this dialog using User Interface Editor of Setup project.

Note 2: You can also edit the msi file using Orca and edit the control conditions, but if you do so, then every time you build the setup project, you need to repeat editing of the msi file. So editing .wid makes more sense.

Note 3: Combining conditions of fields using AND and OR is possible as well. For more information, take a look at ControlCondition Table and Conditional Statement Syntax

在 Windows 安装程序自定义对话框中强制设置一个字段

要强制设置 Edit1 值并启用或禁用 [​​=68=]Next 按钮:

  1. 运行 orca 作为管理员

  2. 打开您用于添加自定义对话框的 wid 文件。

  3. ControlCondition 中,除了现有行之外,添加以下行:

     ┌──────────────┬──────────────┬──────────────┬──────────────┐
     │ Dialog_      │ Control_     │ Action       │ Condition    │
     ├──────────────┼──────────────┼──────────────┼──────────────┤
                                  ...
     │ CustomTextA  │ NextButton   │ Disable      │ EDITA1=""    │
     │ CustomTextA  │ NextButton   │ Enable       │ EDITA1<>""   │
     └──────────────┴──────────────┴──────────────┴──────────────┘
    
  4. 保存文件并确保 10330 文件夹中的文件相同。

  5. 关闭Orca

  6. 重建安装项目。

  7. 安装它。

因此您会看到这样的行为: