我们正在使用Visual Studio 2010和.NET 4.我们使用VB .NET中的标准工具构建了一个安装项目,但现在我们有一个要求,这意味着我们必须强制用户滚动到许可证的底部协议才可以点击“我同意”。我确实在网上找到了一个使用ORCA的C ++项目解决方案我认为,但是没有按预期执行,它太慢而且滚动使文本无法读取。任何帮助都会得到真正的赞赏。
这就是我们如何将许可协议对话框添加到安装项目中:
How to add Licence agreement in the setup project
但我们不确定如何添加自定义逻辑来处理滚动条。我们可能需要一个自定义许可证对话框或一个提供此功能的外部开源应用程序。
答案 0 :(得分:5)
您应该考虑切换到其他设置构建器解决方案。
甚至Microsoft has discontinued支持Visual Studio 2012中的安装程序解决方案(以及所有未来版本)。
我强烈推荐Inno Setup因为它的灵活性和力量。
实际上,快速搜索我找到了一种完全符合您要求的方法,就在StackOverflow:wpLicese Page check if ScrollBars position is max (Inno Setup)
答案 1 :(得分:2)
对于同样的问题,我已切换到SharpSetup。这是MSI安装程序的包装器,它具有在.NET中创建的Installer GUI窗口。您可以使用可用的SharpSetup LicenseStep窗口并根据需要进行更改。
答案 2 :(得分:1)
嗯,我想我做到了! 这是一个相当麻烦的解决方案,但绝对有效......
您可以通过下载此“虚拟”设置自行测试:MySetup
以下是它的工作原理: MySetup实际上是一个用VB.NET编写的应用程序,它包含实际的MSI设置文件作为资源。
启动MySetup时,它启动实际设置,然后启动监视线程,查找RichTextBox控件并不断测试滚动条拇指的位置。
然后,根据该值(以及天气选择“我同意”单选按钮),它会启用或禁用“下一步”按钮。
如果您愿意,可以在此处下载源代码:LAChecker/MySetup
希望这会有所帮助......