Microsoft Visual Studio 2015 安装程序自定义按钮
Posted
技术标签:
【中文标题】Microsoft Visual Studio 2015 安装程序自定义按钮【英文标题】:Microsoft Visual Studio 2015 Installer custom button 【发布时间】:2018-04-10 14:43:29 【问题描述】:我需要使用 Microsoft Visual Studio 2015 Installer Projects 在 VS 中为 Web 项目创建安装程序,其中执行安装程序的用户要求提供以下数据使用两个文本框连接到数据库,在这两个文本框中,我需要用户通过“测试连接”按钮来验证此连接,然后用户才能继续进行下一步安装。
如何在安装程序中执行此按钮并应用逻辑来验证用户在安装程序中输入的连接是否正确?
看起来像
非常感谢我是新手
我正在使用 Visual Studio 2015 专业版
【问题讨论】:
【参考方案1】:Visual Studio 安装项目不支持在该 UI 序列中验证用户输入。换句话说,VS 设置项目不支持来自 UI 序列的自定义操作调用(尽管其他工具支持)。
这种类型的事情委托给设置是很常见的,但在实践中,让应用程序安装然后让应用程序进行配置和任何 IP 地址测试通常效果更好。毕竟我怀疑安装是否需要该 IP 才能启动并运行,它是需要它的应用程序。
另外,可能需要更改 IP 或用户和密码。如果您实际上在该对话框中输入了用户名和密码,则 VS 设置不支持保护该数据,因此密码会暴露。
【讨论】:
感谢您的回答,您是对的,这些配置在安装程序配置中并不常见,但是,安装后的安装程序会修改 web.config 并替换连接链那些暴露在配置窗格中的那些,那么它们只会被应用一次(在这种情况下,它会触摸以创建一个用户可以编辑连接链的 GUI)以防参数不起作用【参考方案2】:我同意 Phil 的观点,但我只是在想:如果没有要启动的应用程序(如果您正在部署 Web 应用程序),那么也许您可以让自己稍微 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”部分。
【讨论】:
以上是关于Microsoft Visual Studio 2015 安装程序自定义按钮的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Visual C++与Visual Studio的区别是啥?
使用pip安装Twisted for Python:错误:Microsoft Visual Studio失败,退出状态为2