安装服务应用程序不会安装它

时间:2013-12-18 09:55:22

标签: c# .net service installer

我已经阅读了此论坛上的其他类似帖子,我保证!然而,他们没有帮助我

我想为我的服务应用创建一个安装程序(msi),以便在客户不必使用命令行的情况下自动安装它。我知道这可以做到。

我在Windows 7上使用Visual Studio 2008 Team System。我的Windows帐户具有管理员权限。我尝试在Windows XP计算机上安装该服务时获得相同的体验。

以下是我为实现这一目标所做的工作:

  1. 创建服务应用程序并独立测试工作程序代码。我知道一旦开始,服务确实有效。

  2. 使用serviceInstaller和serviceProcessInstaller为项目添加了安装程序。 ServiceInstaller start type = manual,serviceProcessInstaller account = localsystem。

  3. 在解决方案中添加了一个安装项目,将其属性页条目更改为合理值(作者等)。添加了自定义操作(服务项目的主要输出),用于安装操作到卸载操作。

  4. 构建解决方案。

  5. 执行msi文件以安装该服务。错误 - “无法从命令行或调试程序启动服务。必须首先安装Windows服务...等。”

  6. 该服务在“服务”管理工具中不可见,因此显然尚未安装。但是,AFAICS的所有内容都已复制到指定的安装文件夹。

  7. 两个问题:

    1. 我有条不紊地遵循msdn文档(分散所有 在这个地方,必须说)但是任何人都可以建议我可能错过了设置这个,这将导致服务不 安装?

    2. 为什么我会尝试启动服务 已明确将启动设置为手动?

    3. 我尝试使用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

1 个答案:

答案 0 :(得分:1)

原来是服务应用程序的错误(不知道是什么)。我从解决方案中删除了它并创建了一个新的,添加了我的工人类代码并且嘿presto,它安装了服务,我也可以启动它。