如何在Windows Installer自定义对话框中强制设置字段

问题描述 投票:1回答:1

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

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

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

文本框(A)对话框中我有一个要强制设置的编辑字段。

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

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

  1. 基于编辑标签为非空来启用/禁用下一个按钮
  2. 点击下一个按钮后是否可以验证内容?

感谢您的任何帮助。

谢谢!

c# winforms windows-installer setup-project orca
1个回答
1
投票

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

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

在该文件夹中,转到01033文件夹,以管理员身份运行orca并更改用于VsdCustomText1Dlg.widTextboxes (A)文件。

注1:您可以通过复制以下内容来创建新的Windows Installer对话框:文件并将其重命名为MyCustomDialog.wid。然后在orca中打开它,转到ModuleDialog表,然后将DisplayName更改为My Custom Dialog。确保同时在10330中复制文件。然后在VS,您可以使用用户界面编辑器添加此对话框的实例安装项目。

注2:您也可以使用msi编辑Orca文件并编辑控制条件,但是如果这样做,则每次构建安装项目时,都需要重复编辑msi文件。因此,编辑.wid更有意义。

注3:也可以使用ANDOR组合字段的条件。有关更多信息,请查看ControlCondition TableConditional Statement Syntax

在Windows Installer自定义对话框中使字段为必填

使Edit1值为必选并启用或禁用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. 安装它。

因此,您将看到这种行为:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.