介绍
Windows 应用程序仍然支持基本的业务流程,从会计和企业资源规划到医疗保健、制造业和定制的业务系统。然而,当用户远程工作、使用不同的操作系统或从未管理的设备连接时,在每个终端上安装和维护这些应用程序变得困难。
Windows 应用程序发布软件提供了一种实用的替代方案。该应用程序在集中式 Windows 基础设施上运行,而授权用户通过浏览器、桌面快捷方式或远程访问客户端与其界面进行交互。这种方法可以在不需要对现有软件进行完全的网页重写或为每个用户提供完整虚拟桌面的情况下扩展访问。
什么是Windows应用程序发布软件?
Windows 应用程序发布软件使安装在中央 Windows 服务器或虚拟机上的程序可供远程用户使用。管理员可以在一个或多个中央主机上管理应用程序及其依赖项,而不是在每个设备上安装和维护应用程序及其依赖项。
该平台控制哪些用户可以启动每个应用程序,如何进行身份验证,如何保护他们的会话以及他们可以使用哪些本地资源。虽然程序在 Windows 主机上运行,但终端显示其界面并将键盘、鼠标和其他允许的输入发送回服务器。
微软学习 解释了远程桌面服务可以集中交付完整桌面或单个远程应用程序给授权用户。
与下载的软件不同,发布的应用程序不会在终端上完全运行。用户与托管在中央Windows基础设施上的远程实例进行交互。
发布 Windows 应用程序意味着什么?
发布 Windows 应用程序意味着将其远程提供给选定用户,而不必让他们访问完整的 Windows 桌面。
一个典型的过程包括五个阶段:
- 在Windows服务器或虚拟机上安装应用程序
- 在发布平台中注册其可执行文件
- 分配访问权限给用户或组
- 通过门户、客户端或身份提供者验证用户
- 开始远程会话并显示应用程序界面
用户可能只会看到他们所需的会计软件、客户关系管理客户端或专有工具,而桌面、服务器文件系统和无关应用程序则保持隐藏。
Windows 应用程序发布是如何工作的?
大多数Windows应用程序发布环境依赖于相同的核心层,尽管术语和实现可能因产品而异。
Windows 应用程序主机
该应用程序可以在物理服务器、虚拟机或云托管的Windows实例上运行。多个用户可以通过单独的Windows会话共享一个会话主机,而需要更强隔离的平台可以分配专用或池化的虚拟机。
每个主机必须包含正确的Windows版本、应用程序文件、框架、数据库连接、配置文件、字体、驱动程序和其他依赖项。因此,应用程序的兼容性取决于完整的主机配置,而不仅仅是应用程序本身。
发布和访问控制
发布服务决定用户可以启动哪些程序以及这些程序在其设备上的显示方式。管理员可以发布单个应用程序、多个应用程序、自定义启动器或完整桌面,并根据需要将不同版本或启动参数分配给特定组。
身份验证确认用户的身份,而授权确定该用户可以访问哪些应用程序和资源。一个合适的平台应该为单个用户、组、角色或租户提供细粒度的分配。
安全连接层
网关或网络门户在用户端点和应用主机之间进行连接。外部部署不应直接将未保护的远程桌面协议服务暴露于互联网,因此组织应使用 HTTPS、有效的传输层安全证书、多因素身份验证、访问限制和监控。
剪贴板使用、打印、本地驱动器映射和文件传输可以提高可用性,但组织应仅在工作流程需要时启用这些功能。
用户访问方法
用户可以通过一个 HTML5 门户,原生桌面客户端 RDP兼容客户端、连接文件或快捷方式。浏览器访问可以减少部署工作,而本地客户端可能为多个显示器、打印机、智能卡和其他本地设备提供更全面的支持。
Windows 应用程序发布 vs. 远程桌面
应用程序发布和远程桌面访问依赖于相关技术,但它们提供不同级别的访问权限和不同的用户体验。
完整的远程桌面提供了一个更广泛的Windows工作区,可能包括桌面、开始菜单、任务栏、文件管理工具和所有允许的应用程序。发布的应用程序仅暴露选定的程序,通常以单独的窗口形式显示,用户可以在本地运行的应用程序旁边打开这些窗口。
| 考虑 | 发布的应用程序 | 完整远程桌面 |
|---|---|---|
| 用户体验 | 一个或多个分配的应用程序 | 完整的Windows工作区 |
| 典型目的 | 专注于商业软件的访问 | 一般远程工作环境 |
| 管理范围 | 按应用程序分配 | 桌面级访问和政策 |
| 资源暴露 | 更窄 | 更广泛 |
| 最适合于 | 承包商,客户,业务应用程序 | 需要多个工具的员工 |
应用程序发布通常更可取,当用户需要访问一组特定的程序时。完整的远程桌面更适合当他们需要文件管理、多个实用程序或完整的Windows环境时,尽管一些组织对不同的用户群体使用这两种模式。
Windows 应用程序发布与 VDI
虚拟桌面基础设施 (VDI) 为用户提供对运行在虚拟机中的Windows桌面的访问。根据部署情况,这些桌面可能是个人的、共享的、持久的或非持久的。
基于会话的应用程序发布可以支持多个用户在共享的Windows基础设施上,通常提供更高的密度和更低的管理开销。VDI提供更强的虚拟机级别隔离,并可能更好地支持需要专用操作系统配置、图形资源或管理控制的工作负载。
| 考虑 | 基于会话的发布 | VDI |
|---|---|---|
| 交付单位 | 单个应用程序或共享桌面 | 完整虚拟机 |
| 隔离 | 会话级别 | 虚拟机级别 |
| 基础设施密度 | 通常更高 | 通常较低 |
| 个性化 | 适度 | 潜在的广泛 |
| 典型用法 | 常见商业应用程序 | 专用或隔离的桌面 |
当应用程序无法在共享主机上共存或用户需要专用资源时,VDI 仍然具有价值。然而,当用户只需要一两个 Windows 应用程序时,提供完整的虚拟桌面可能会过于繁琐。
应用程序发布是否将 Windows 应用程序转换为 Web 应用程序?
应用程序发布可以通过浏览器使 Windows 程序可访问,但它并不会将程序转换为本地 Web 应用程序。原始代码继续在 Windows 基础设施上运行,底层架构不会自动变为云原生。
浏览器访问并不提供应用程序响应式网页设计、浏览器原生离线功能、微服务或应用程序编程接口。因此,应用程序发布更好地理解为现代化应用程序交付,而不是现代化源代码本身。
用户有什么变化?
从用户的角度来看,该应用程序变得更易于访问,因为它可以通过浏览器或远程访问门户打开,而无需进行完整的本地安装。用户还可以避免在自己的设备上安装应用程序的框架和依赖项。
界面可能会出现在浏览器标签或单独的应用程序窗口中,但其响应能力仍然取决于应用程序主机、网络质量和远程显示协议。
什么保持不变?
该应用程序保留其原始的Windows代码、界面和技术依赖关系。因此,注册表设置、数据库、服务、打印机和文件路径必须继续在Windows主机上正常运行。
应用程序发布并不会消除兼容性或许可要求。IT团队仍然必须在并发会话中测试软件,并确认其预期的远程或托管使用是被允许的。
何时发布比重写更好?
当一个成熟的Windows应用程序仍然可靠但重建起来困难或昂贵时,发布可以是实用的。组织可以扩展远程和浏览器访问,而无需接受立即替换项目的成本和风险。
当企业需要响应式设计、离线使用、现代集成或云原生可扩展性时,本地网页重写可能更为合适。在组织制定长期现代化战略的同时,发布也可以提供一个中间解决方案。
您何时应该发布Windows应用程序?
应用程序发布在本地安装、软件重写或完全桌面虚拟化会产生不必要的成本或操作复杂性时最为有效。
Web启用传统Windows应用程序
遗留应用程序可能依赖于特定于Windows的接口、较旧的运行时、注册表设置、映射驱动器、本地数据库驱动程序或专用打印过程。发布使这些应用程序保持在兼容的Windows基础设施上,同时 通过浏览器或远程客户端使其可用 .
这种方法可以延长现有软件的使用寿命,并为组织提供时间来规划一个受控的现代化项目。对于期望单用户、需要提升权限或依赖本地硬件的应用程序,兼容性测试仍然是必要的。
集中业务软件
IT团队可以在中央主机上维护应用程序及其依赖项,而不是在每个工作站上单独管理它们。他们可以在受控环境中测试更新,然后再将更新的应用程序提供给用户。
这种交付模型通常适合企业资源规划系统、财务应用程序、库存工具、医疗实践软件、法律案件管理平台和自定义数据库。
支持 BYOD 和混合设备
基于浏览器的发布可以让macOS、Linux、Chromebooks、平板电脑或个人计算机上的用户访问Windows应用程序,而无需将应用程序本身移动到这些终端。IT团队仍然必须定义用户被允许从未管理设备复制、打印、上传或下载哪些数据。
提供受控承包商访问
承包商和合作伙伴可能需要访问一个业务应用程序,而无需企业笔记本电脑或对内部网络的广泛访问。仅发布所需的程序可以简化入职,同时支持多因素身份验证、受限账户和最小权限分配。
平台如 TSplus 远程访问 可以仅发布承包商所需的应用程序,而不暴露完整的Windows桌面。
将现有软件作为托管服务交付
独立软件供应商(ISV)可以使用应用程序发布为客户提供对现有Windows产品的在线访问。这种方法可能会加速托管交付,但ISV仍然负责租户隔离、客户身份、服务可用性、数据保护和许可。
独立软件供应商应该评估什么?
ISV 部署必须支持在不同客户组织之间可重复的入职和管理,同时保护每个客户的数据、配置和活动会话。
租户隔离可能依赖于单独的数据库、用户帐户、应用程序池、存储位置、网络或服务器。适当的设计取决于应用程序架构,因为发布软件无法自动使不适合的单租户应用程序安全地用于多租户使用。
ISV还应评估身份联合、多因素身份验证、客户管理员角色、门户品牌、自动化和使用报告。手动配置在试点期间可能是可管理的,但当服务支持数百个用户或租户时,它可能变得低效。
许可还需要仔细审查,因为 Windows、数据库、运行时、发布平台和独立软件供应商自身的产品可能对多用户访问或服务提供商托管施加条件。
Windows应用程序发布的优缺点
应用程序发布集中管理应用程序和更新,减少本地安装工作,并使Windows软件可从更广泛的设备访问。将应用程序处理和业务数据保留在受管基础设施上也可能减少存储在非受管终端上的信息量。
当用户只需要选择的应用程序时,这种模型可以提供比虚拟桌面基础设施更窄的替代方案。然而,集中化也使得应用程序主机、网关和特权账户成为特别重要的安全资产。
应用程序兼容性仍然是一个重要的限制。使用机器范围设置、依赖本地硬件或依赖为单个交互用户设计的服务的程序可能无法在共享会话中正常工作,而图形密集型和对延迟敏感的工作负载在远程连接上可能表现不佳。
打印、扫描、智能卡和其他外设必须与用户在生产中将使用的确切终端和访问客户端进行测试。服务器容量还应基于测量的 CPU、内存、存储和并发要求,而不是一般供应商的最大值。
如何选择Windows应用程序发布软件?
有用的评估应从应用程序、用户和预期的操作模型开始,而不是从产品功能比较开始。
验证应用程序兼容性
记录支持的Windows版本、框架、服务、注册表依赖、数据库、文件共享、打印机、启动参数和许可限制。在预期的多用户或虚拟机模型中测试实际应用,包括并发会话、用户配置文件、更新和恢复过程。
比较用户访问和体验
评估浏览器支持、本地客户端、快捷键、RemoteApp风格窗口、多显示器、会话重新连接和移动访问。测试应涵盖重要的工作流程,例如打印、文件访问、剪贴板使用和本地设备重定向。
当用户只需要简单的访问时,专注的浏览器会话可能比具有广泛本地集成的客户端更容易安全和支持。
检查身份和安全控制
查找用户和组分配、目录集成、多因素身份验证、账户保护、会话超时策略和可审计事件。外部流量应使用HTTPS和有效证书,而 CISA建议限制远程桌面协议的使用 并避免暴露、保护不当的远程桌面服务。
安全审查还应包括主机修补、角色分离、日志记录、备份、监控以及对剪贴板使用、驱动器映射、打印和文件传输的限制。
评估管理和自动化
测试常规管理任务,例如发布应用程序、将其分配给组、撤销访问、审查活动会话、更新品牌和备份配置。较大的部署还应评估应用程序编程接口、命令行工具、配置模板和监控集成。
可扩展性和弹性计划
考虑环境如何支持多个主机、负载均衡、连接代理、网关冗余、配置文件存储和恢复。测量代表性的 CPU、内存、存储和网络使用情况,然后保持足够的额外容量以应对增长、维护期和主机故障。
比较部署和总成本
该平台可以在本地、私有数据中心、公共云虚拟机或通过托管服务提供商运行。部署位置应反映应用程序的依赖关系、数据驻留要求、延迟、内部技能和成本限制。
总成本应考虑平台、Windows、应用程序和数据库许可,以及基础设施、备份、监控、安全、实施、管理、支持和高可用性。
审查供应商支持和产品成熟度
查看支持的Windows版本、发布历史、文档、安全更新实践、支持渠道、试用选项和迁移资源。独立软件供应商还应确认供应商支持面向客户的部署并允许预期的托管模型。
一个实用的概念验证计划
概念验证应该测试完整的用户旅程,而不仅仅是确认一个应用程序是否打开。
- 选择一个代表性应用程序并建立一个文档化的测试主机。
- 将其发布到受控的试点组。
- 配置 HTTPS、有效证书、多因素身份验证和限制访问。
- 测试实际的终端、浏览器和本地客户端的混合。
- 验证启动、重新连接、配置文件、打印、文件访问和所需外设。
- 在实际并发活动期间测量主机资源。
- 审查日志、访问撤销、备份、更新和恢复。
- 逐步从技术测试人员扩展到有限的生产群体。
试点应制定明确的接受标准和回滚计划。它还应显示浏览器访问是否足够,或者某些用户是否需要本地客户端。
常见的Windows应用程序发布错误
在测试应用程序之前选择平台可能会掩盖兼容性问题,而假设浏览器访问提供原生网络性能可能会对延迟和响应能力产生不切实际的期望。
从供应商的最大值来确定环境的规模同样存在风险,因为服务器密度根据应用程序和工作负载而有所不同。组织还必须在启用多用户或托管访问之前审查每个许可层。
跳过真实应用测试
功能列表无法确认应用程序在并发会话中是否会正常运行。问题可能仅在多个用户同时访问相同的文件、注册表设置、服务或本地资源时出现。
IT团队在选择平台之前,应测试代表性的工作流程、用户配置文件、更新和外设。概念验证应尽可能接近预期的生产环境。
低估安全性和许可要求
直接将远程桌面协议暴露于互联网或默认启用所有重定向功能可能会增加风险。剪贴板访问、驱动器映射、打印和文件传输应仅限于明确的业务需求。
许可也值得密切关注,因为 Windows、数据库、运行时、第三方组件和应用程序本身可能对多用户访问或托管交付施加单独的要求。
将外部交付视为内部部署
内部部署通常为一个组织的用户提供服务,而外部服务则可能支持多个无关的客户。因此,外部交付引入了对租户隔离、隐私、可用性、支持和访问管理的额外要求。
独立软件供应商还需要可重复的入职、监控和恢复流程。适用于小型内部团队的配置可能无法安全或高效地扩展为面向客户的服务。
TSplus 是一个实用的 Windows 应用程序发布解决方案吗?
TSplus 远程访问 从现有的Windows基础设施发布Windows应用程序和桌面。管理员可以将应用程序分配给单个用户或组,并通过RemoteApp风格的连接、RDP兼容客户端或可自定义的HTML5网页门户提供访问。
该模型可能适合需要集中应用交付的小型和中型组织,而无需操作更复杂的虚拟桌面堆栈。它还可以帮助独立软件供应商(ISV)为已建立的Windows软件提供远程访问,同时保持对托管和客户体验的控制。
IT团队仍应在将部署投入生产之前,通过现实的试点验证兼容性、许可、安全性、用户体验、服务器容量、备份和恢复。
结论
Windows 应用程序发布软件可以扩展对业务关键程序的访问,而无需本地安装、立即源代码现代化或为每个用户提供完整的虚拟桌面。当应用程序与集中执行兼容且用户需要专注、受控的访问时,其价值最为显著。
最终决定应基于实际测试,而不仅仅是功能列表。通过共同验证兼容性、安全性、许可、性能、管理和弹性,IT团队和ISV可以选择一个在使用增长时仍然可管理的应用程序发布平台。
TSplus远程访问免费试用
终极的Citrix/RDS替代方案,用于桌面/应用访问。安全、经济高效、本地/云端