【发布时间】:2014-01-06 10:25:13
【问题描述】:
我保证,我已经阅读了这个论坛上的其他类似帖子!但是他们没有帮助我
我想为我的服务应用程序创建一个安装程序 (msi),这样它就可以自动安装,而无需客户使用命令行。我知道这是可以做到的。
我在 Windows 7 上使用 Visual Studio 2008 Team System。我的 Windows 帐户拥有管理员权限。尝试在 Windows XP 机器上安装该服务时,我获得了相同的体验。
这是我为实现这一目标所做的工作:
已创建服务应用程序并独立测试了工作代码。我知道该服务在启动后确实有效。
向项目添加了安装程序,包括 serviceInstaller 和 serviceProcessInstaller。 ServiceInstaller 启动类型 = 手动,serviceProcessInstaller 帐户 = localsystem。
向解决方案添加了一个安装项目,将其属性页条目更改为合理值(作者等)。为从安装操作到卸载操作添加了自定义操作(服务项目的主要输出)。
构建解决方案。
执行了 msi 文件来安装服务。错误 - “无法从命令行或调试器启动服务。必须首先安装 Windows 服务...等”。
该服务在“服务”管理工具中不可见,因此显然尚未安装。但是 AFAICS 的所有内容都已复制到指定的安装文件夹中。
两个问题:
我有条不紊地遵循了 msdn 文档(分散了所有 在这个地方,必须说)但是任何人都可以提出我在设置时可能错过的内容,这会导致服务不 安装了吗?
为什么当我尝试启动服务时 已明确将启动设置为手动?
我尝试使用 InstallUtil 手动安装服务,但也失败了。安装日志是:
Installing assembly 'C:\Program Files (x86)\Autoscribe\Matrix Gemini LIMS\Scheduler\MatrixTaskLauncher.exe'.
Affected parameters are:
logtoconsole =
assemblypath = C:\Program Files (x86)\Autoscribe\Matrix Gemini LIMS\Scheduler\MatrixTaskLauncher.exe
logfile = C:\Program Files (x86)\Autoscribe\Matrix Gemini LIMS\Scheduler\MatrixTaskLauncher.InstallLog
Installing service MatrixTaskLauncherService...
Creating EventLog source MatrixTaskLauncherService in log Application...
Rolling back assembly 'C:\Program Files (x86)\Autoscribe\Matrix Gemini LIMS\Scheduler\MatrixTaskLauncher.exe'.
Affected parameters are:
logtoconsole =
assemblypath = C:\Program Files (x86)\Autoscribe\Matrix Gemini LIMS\Scheduler\MatrixTaskLauncher.exe
logfile = C:\Program Files (x86)\Autoscribe\Matrix Gemini LIMS\Scheduler\MatrixTaskLauncher.InstallLog
Restoring event log to previous state for source MatrixTaskLauncherService.
没有太多的照明。 :-(
TIA
【问题讨论】:
标签: c# .net service installation