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

Microsoft Visual Studio 2015 Installer custom button

我需要使用 Microsoft Visual Studio 2015 Installer Projects 在 VS 中为 Web 项目创建一个安装程序,其中用户谁执行安装 安装程序要求使用两个文本框连接到数据库的数据,在这两个文本框中,我需要用户通过 "Test Connection" 按钮验证此连接,然后用户才能继续安装的下一步.

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

看起来像

非常感谢,我是新来的

正在使用 Visual Studio 2015 Proffessional

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

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

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

我同意 Phil,但我只是在想:如果没有要启动的应用程序(如果您正在部署 Web 应用程序),那么也许您可以自己制作一点 launcher.exe 将命令行推送到 msiexec.exe (Windows 安装程序安装引擎),然后以静默方式启动安装模式并避免所有设置 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 与安装程序项目已经存在的 pre-requisite setup.exe 启动器冲突?下载并安装 pre-requisites?

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

总的来说,我建议使用 WiX 而不是这些安装程序项目。虽然复杂,但 WiX 完全具备各种功能 - 即使在涉及 MSI 时 GUI 总是很复杂。 更新:我还应该补充一点,WiX 具有自己的启动器/引导程序/链接器功能,称为 Burn. It is basically supporting the launching of MSI files in silent mode from a GUI you create yourself (or you use the default one) - much in the way I described above (with far more additional features). Maybe have a look at the "Building Installation Package Bundles”部分。