SharpShell 服务器注册管理器简化了 .NET Shell 扩展的部署
从命令行注册和注销 SharpShell COM 服务器,处理 32 位和 64 位资源管理器的位数和代码库注册路径。由 Dave Kerr 为 Windows 实用程序开发的服务器注册管理器(SRM)提供 srm.exe 以支持脚本安装和 MSI 及 WiX 安装程序的集成钩子。它公开诊断日志控制并验证 COM 可见性,使其对在开发和部署工作流中部署或测试外壳扩展的 .NET 开发人员和系统管理员非常有用。
服务器注册管理器实际执行什么?
该工具作为 SharpShell 服务器的命令行安装程序和卸载程序运行,接受标志如 -os32、-os64 和 -codebase。它执行适合目标资源管理器进程位数的直接 COM 注册步骤,注册后验证服务器的 COM 可见性,并可以通过 srm config 切换日志记录目标。这些操作通过执行 SharpShell 基于扩展所需的注册表和注册例程,取代了手写的注册代码。
它会影响系统稳定性或需要特殊的运行时组件吗?
SRM 需要 .NET Framework 4.0 或更高版本,并且除了该运行时之外没有外部依赖,这使得它的占用空间很小。该工具作为控制台进程运行以进行脚本操作,因此不会运行持久的后台服务。由于它将注册条目写入系统注册表,用户应以适当的权限运行它,并在修改生产机器时在部署脚本中包含回滚步骤。
在自动化部署和安装程序工作流中使用它安全吗?
命令行的重点和明确的 MSI/WiX 自定义操作支持使您可以在安装程序和自动构建中包含注册。验证命令和可配置日志记录(文件或事件日志)的存在有助于在脚本运行期间诊断故障。对于自动化,从构建代理调用 srm.exe 并使用配置的 LoggingMode 捕获日志以进行运行后分析。
我需要深厚的 COM 专业知识才能操作 SRM 吗?
基本使用需要了解目标程序集位置以及要针对的资源管理器位数,但标志和命令直接暴露了这些控制。高级场景,例如调试无法加载的扩展,依赖于启用文件或事件日志记录并解释框架消息。该工具消除了编写 C++ 注册代码的需要,但它期望用户理解部署权限和注册表的影响。
一个为管理 SharpShell 扩展的开发人员和管理员提供的精确工具
SRM 适合需要确定性命令行注册和 SharpShell 服务器诊断输出的 .NET 开发人员和系统管理员;它支持安装程序集成和脚本化工作流程。权衡在于,它期望用户熟悉注册和部署机制,而不是将复杂性隐藏在完整的图形管理器后面。推荐。