2

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

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

如何在安装项目中添加许可协议

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

4

3 回答 3

5

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

甚至Microsoft 也停止了对其在 Visual Studio 2012(以及所有未来版本)中的安装程序解决方案的支持。

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

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

于 2013-01-18T23:42:49.623 回答
2

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

于 2013-01-19T21:02:02.380 回答
1

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

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

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

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

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

如果您愿意,可以在此处下载源代码:LAChecker/MySetup

希望这可以帮助...

于 2013-01-20T01:47:03.150 回答