首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用InstallUtil工具安装windows服务

无法使用InstallUtil工具安装windows服务
EN

Stack Overflow用户
提问于 2013-02-21 18:00:37
回答 3查看 40.7K关注 0票数 14

我使用VS 2012,由于安装项目已经从它中移除,所以我必须使用InstallUtil.exe。

我的windows服务应用程序中没有projectInstaller类。我在命令提示符下运行:

代码语言:javascript
复制
installutil FilesMonitoringService.exe 

我得到:

C:\Program \ Microsoft 8\VC#>installutil "C:\Program \ Microsoft Visual 8\VC#>installutil ice.exe“Microsoft (R) .NET Framework安装实用程序版本2.0.50727.42版权(c) Microsoft。版权所有。 运行事务处理的安装。 开始安装阶段。请参阅C:\Program \ 8\VC#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe程序集进度的日志文件的内容。该文件位于C:\Program \Microsoft 8\VC#\CSharpProj 8\VC#\CSharpProj安装程序集C:\Program\Microsoft 8\VC#\CSharpProjec 8\VC#\CSharpProjec受影响的参数是: logtoconsole = assemblypath = C:\Program \Microsoft 8\VC#\CSharpProjects\ MyService\MyService\bin\Release\MyService.exe logfile = C:\Program \Microsoft 8\VC#\CSharpProjects\MySer 8\VC#\CSharpProjects\MySer,在C:\Program \Microsoft 8\VC#\CSharpProjects\MyService\ MyService\bin\Release\MyService.exe程序集中找不到具有RunInstallerAttribute.Yes属性的公共安装程序。 安装阶段成功完成,提交阶段正在开始。请参阅C:\Program \ 8\VC#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe程序集进度的日志文件的内容。该文件位于C:\Program \Microsoft 8\VC#\CSharpProj 8\VC#\CSharpProj提交程序集'C:\Program \Microsoft 8\VC#\CSharpProjec 8\VC#\CSharpProjec受影响的参数是: logtoconsole = assemblypath = C:\Program \Microsoft 8\VC#\CSharpProjects\ MyService\MyService\bin\Release\MyService.exe logfile = C:\Program \Microsoft 8\VC#\CSharpProjects\MySer 8\VC#\CSharpProjects\MySer,在C:\Program \Microsoft 8\VC#\CSharpProjects\MyService\ MyService\bin\Release\MyService.exe程序集中找不到具有RunInstallerAttribute.Yes属性的公共安装程序。删除InstallState文件,因为没有安装程序。 提交阶段成功完成。 已处理的安装已经完成。 C:\程序文件\ 8\VC#>

OK,似乎所有东西都已经安装好了。但!当我转到“任务管理器”的“服务”页面时,我找不到我的服务。

可能是什么原因?

提前感谢!

编辑:我指出我没有projectInstaller类,因为如果我添加它(在designer ->中添加安装程序)并运行installutil命令,就会得到:(近似翻译)

安装FilesMonitoringService.在日志程序中创建EventLog FilesMonitoringService .

在此设置阶段,出现了异常。

System.Security.SecurityException:没有找到源,但是任何或所有日志jornals都找不到。没有可用的jornals:安全。 后坐力阶段开始。 //大量案文 后坐力阶段已经结束。 已执行安装组操作。安装失败,反冲执行。

因此,如果我将projectInstller添加到我的windows服务中,它肯定无法使用installUtil进行安装。

下面是生成的代码:

代码语言:javascript
复制
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
    public ProjectInstaller()
    {
        InitializeComponent();
    }
    private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
    {}
    private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
    {}
}

Mabby我需要把一些代码放到afterInstall方法中吗?我还在一个properties窗口中设置了这个属性:

serviceInstaller1: ServiceName -> FileMonitoringService,StartType -> Automatic

serviceProcessInstaller1:-> LocalSystem账户

或者可以不使用projectInstaller来实现它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-22 07:59:20

好吧,有几件事:

1)你需要projectInstaller。

2) YourProject ->属性;启动项目-> YourProject.Program

3)建造

4)“以管理员身份运行”命令提示符!

现在一切都正常了。

完整教程链接

票数 19
EN

Stack Overflow用户

发布于 2013-02-21 18:14:33

我现在没有VS2012的副本来测试它,但是我相信您的问题与

我的windows服务应用程序中没有projectInstaller类

部分。

来自msdn

安装组件在安装它的系统上注册一个单独的服务,并让服务控制管理器知道该服务的存在

票数 1
EN

Stack Overflow用户

发布于 2015-05-23 06:07:33

这看起来很简单,但是在编写installutill参数时要仔细检查,因为您可能会将服务的exe文件与通过编译引用的项目(没有服务安装程序)生成的另一个exe文件混为一谈,并使其失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15009163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档