Microsoft Visual Studio 2015安装程序自定义按钮

时间:2018-04-10 14:43:29

标签: visual-studio visual-studio-2015 windows-installer installer visual-studio-setup-proje

我需要使用 Microsoft Visual Studio 2015安装程序项目 为VS中的Web项目创建安装程序,其中执行安装的用户请求安装程序的数据使用两个文本框连接到数据库,在这两个textBox中我需要用户通过“测试连接”按钮来验证此连接,然后用户继续进行下一步的安装。

enter image description here

如何在安装程序中执行此按钮并应用逻辑来验证用户在安装程序中输入的连接是否正确?

看起来像

enter image description here

非常感谢你我是新手

我正在使用Visual Studio 2015 Proffessional

2 个答案:

答案 0 :(得分:2)

在Visual Studio安装项目中不支持验证该UI序列中的用户输入。换句话说,VS安装项目不支持UI序列中的自定义动作调用(尽管其他工具可以)。

将此类事物委托给设置是很常见的,但在实践中,只需让应用程序安装然后让应用程序进行配置和任何IP地址测试通常会更好。毕竟我怀疑安装需要IP启动和运行,它是需要它的应用程序。

此外,可能需要更改IP,或用户和密码。如果您实际在该对话框中输入了用户名和密码,则VS设置中不支持保护该数据,因此会泄露密码。

答案 1 :(得分:1)

我同意 Phil ,但我只是在想:如果没有应用程序要启动(如果你正在部署一个网络应用程序),那么也许你可以让自己有点 launcher.exe ,用命令行将所需数据推送到msiexec.exe(Windows Installer安装引擎),然后以静默方式启动安装并避免所有设置GUI问题和复杂性?

所以你的启动器EXE将完成所有的GUI(熟悉的领域),你只需在静默模式下运行设置,按照以下几行推送命令行:

msiexec.exe /i Setup.msi /QN /L*V "C:\msilog.log" USER="User" PASSWORD="Pass" IP="0.0.0.0" REBOOT=ReallySuppress

我对这个项目类型并不是很熟悉 - 我想launcher.exe与安装程序项目已经存在的先决条件setup.exe启动器冲突了吗?下载并安装先决条件的那个?

也许您可以加密launcher.exe中的密码,并在MSI中以延迟模式添加自定义操作,这将解密配置数据并将其写入某处。理想情况下,我会使用NT身份验证 - 避免整个密码/用户名问题。

总的来说,我建议使用WiX而不是这些安装程序项目。虽然复杂,但WiX完全具备各种功能 - 即使在MSI方面GUI总是很复杂。 更新:我还应该补充一点,WiX具有自己的启动器/引导程序/链接器功能Burn。它基本上支持从您自己创建的GUI(或使用默认的GUI)以静默模式启动MSI文件 - 这与我上面描述的方式非常相似(具有更多附加功能)。也许看一下“Building Installation Package Bundles”部分。