【问题标题】:VB .NET setup project - License agreement - force user to scroll before agreeing?VB .NET 安装项目 - 许可协议 - 强制用户在同意之前滚动?
【发布时间】:2013-01-15 23:25:04
【问题描述】:

我们正在使用 Visual Studio 2010 和 .NET 4。我们已经使用 VB .NET 中的标准工具构建了一个安装项目,但现在我们有一个要求,这意味着我们必须强制用户滚动到许可证的底部同意,然后他们才能点击“我同意”。我相信我们确实在网上找到了一个使用 ORCA 的 C++ 项目解决方案,但这并没有达到预期的效果,速度太慢,并且滚动导致文本无法阅读。任何帮助将不胜感激。

这就是我们将许可协议对话框添加到设置项目的方式:

How to add Licence agreement in the setup project

但我们不确定如何添加自定义逻辑来处理滚动条。我们可能需要自定义许可对话框或提供此功能的外部开源应用程序。

【问题讨论】:

  • 您是否意识到人们无论如何都不会阅读它,只是在生气的同时一直向下滚动?
  • 当然,每个人都明白这一点,但这是一个非常具体的客户要求,所以我们无能为力。

标签: vb.net setup-project


【解决方案1】:

您真的应该考虑切换到不同的设置构建器解决方案。

甚至 Microsoft has discontinued 也支持 Visual Studio 2012(以及所有未来版本)中的安装程序解决方案。

我强烈推荐Inno Setup,因为它的灵活性和功能强大。

实际上,通过快速搜索,我找到了一种完全符合您要求的方法,就在 StackOverflow:wpLicese Page check if ScrollBars position is max (Inno Setup)

【讨论】:

  • 感谢您的建议。这与 Sharp Setup 相比如何?
【解决方案2】:

对于同样的问题,我已经切换到SharpSetup。这是 MSI 安装程序的包装器,它具有在 .NET 中创建的安装程序 GUI 窗口。您可以只使用可用的 SharpSetup LicenseStep 窗口并将其更改为您的需要。

【讨论】:

    【解决方案3】:

    好吧,我想我做到了! 这是一个相当麻烦的解决方案,但它确实有效......

    您可以通过下载此“虚拟”设置自行测试:MySetup

    它的工作原理如下: MySetup 实际上是一个用 VB.NET 编写的应用程序,其中包含实际的 MSI 设置文件作为资源。

    当您启动 MySetup 时,它会启动实际设置,然后启动一个监视线程以查找 RichTextBox 控件并不断测试滚动条拇指的位置。

    然后,根据该值(以及选择“我同意”单选按钮的情况),它启用或禁用“下一步”按钮。

    如果你愿意,可以在这里下载源代码:LAChecker/MySetup

    希望这会有所帮助...

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 2021-03-16
      • 2014-08-04
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 2010-10-13
      • 2010-11-12
      • 1970-01-01
      相关资源
      最近更新 更多