如何修改Visual Studio创建的Windows Service显示名称?
解决Windows服务显示名称无法修改为"Product Sync Service"的问题
核心误区:区分ServiceName和DisplayName
很多人会混淆这两个属性:
- ServiceName:服务的内部唯一标识,不能包含空格,是系统用来识别服务的关键(比如
sc命令会用到这个名称) - DisplayName:才是Services.msc中显示的名称,可以包含空格,这才是你需要修改的目标属性
步骤1:修正Visual Studio中的Service Installer设置
- 打开Windows Service项目,找到
ProjectInstaller.cs - 切换到设计视图,选中
serviceInstaller1 - 在属性窗口中:
- 保持
ServiceName为ProductSyncService(无空格,确保系统能正确识别服务) - 将
DisplayName设置为Product Sync Service
- 保持
- 若要通过代码双重保障,在
ProjectInstaller构造函数中添加:public ProjectInstaller() { InitializeComponent(); serviceInstaller1.DisplayName = "Product Sync Service"; } - 执行Clean、Rebuild操作,确保项目输出更新
步骤2:检查Advanced Installer中的服务配置
- 打开你的Advanced Installer项目
- 导航到Services节点,找到对应的服务项
- 确认以下配置:
- Display Name字段设置为
Product Sync Service - Service Name字段与VS中设置的
ProductSyncService保持一致
- Display Name字段设置为
- 重新构建MSI安装包,确保配置生效
步骤3:彻底清理旧服务残留
如果之前的安装残留导致设置不生效,按以下步骤操作:
- 以管理员身份打开命令提示符
- 执行命令删除旧服务:
sc delete ProductSyncService - 等待命令执行完成,确认服务已被移除
- 重新安装新构建的MSI包
- 打开Services.msc,右键刷新或重新打开窗口,查看显示名称是否更新
内容的提问来源于stack exchange,提问作者Max Headroom
相关产品推荐
相关产品推荐

