相关疑难解决方法(0)

Inno Setup for Windows服务?

我有一个.Net Windows服务.我想创建一个安装程序来安装该Windows服务.

基本上,它必须执行以下操作:

  1. installutil.exe(需要吗?)
  2. 运行installutil.exeMyService.exe
  3. 启动MyService

另外,我想提供一个运行以下命令的卸载程序:

installutil.exe /u MyService.exe
Run Code Online (Sandbox Code Playgroud)

如何使用Inno Setup进行这些操作?

c# windows-services inno-setup

104
推荐指数
3
解决办法
5万
查看次数

如何检查C#中是否安装了Windows服务

我编写了一个Windows服务,它将WCF服务公开给安装在同一台机器上的GUI.当我运行GUI时,如果我无法连接到该服务,我需要知道是否因为尚未安装服务应用程序,或者是因为服务未运行.如果是前者,我将要安装它(如描述这里); 如果是后者,我会想要启动它.

问题是:如何检测服务是否已安装,然后检测到它已安装,如何启动?

c# wcf windows-services

76
推荐指数
3
解决办法
4万
查看次数

ClickOnce部署Windows服务?

是否可以使用ClickOnce部署Windows服务?如果是这样,你是如何实现这一目标的?

目前,我们必须使用Deployment项目,使用ClickOnce可以大大简化安装过程.

c# clickonce windows-services visual-studio-2008

51
推荐指数
2
解决办法
3万
查看次数

使用InstallUtil并静默设置Windows服务登录用户名/密码

我需要使用InstallUtil来安装C#windows服务.我需要设置服务登录凭据(用户名和密码).所有这一切都需要默默地完成.

有没有办法做这样的事情:

installutil.exe myservice.exe /customarg1=username /customarg2=password
Run Code Online (Sandbox Code Playgroud)

.net installer windows-installer windows-services

49
推荐指数
3
解决办法
7万
查看次数

不使用InstallUtil.exe安装Windows服务

我正在尝试部署Windows服务但不太确定如何正确执行.我将它构建为控制台应用程序,我现在将其转换为Windows服务项目,并从服务中的OnStart方法调用我的类.

我现在需要在没有Visual Studio的服务器上安装它,如果我正确理解它意味着我不能使用InstallUtil.exe而必须创建一个安装程序类.它是否正确?

我确实看过上一个问题,安装没有InstallUtil.exe的.NET Windows服务,但我只是想确保我已经正确理解它.

如果我创建了问题的接受答案链接到的类,下一步是什么?将MyService.exe和MyService.exe.config上传到服务器,双击exe文件,Bob是我的叔叔?

该服务只能安装在一台服务器上.

c# deployment install windows-services

38
推荐指数
5
解决办法
9万
查看次数

将进程作为Windows服务运行时的最佳做法是什么?

在将流程或可执行文件作为服务运行时是否有任何事情需要处理.如静默日志记录.关键错误报告方案?等等?你怎么处理它?

.net c# windows-services

24
推荐指数
2
解决办法
1万
查看次数

如何编写c#服务,我也可以作为winforms程序运行?

我有一个用C#编写的Windows服务,它充当后端数据库的一堆网络设备的代理.为了测试并添加模拟层来测试后端,我希望有一个GUI供测试操作员运行模拟.还可以将条带化版本作为演示发送出去.GUI和服务不必同时运行.实现这种决斗操作的最佳方法是什么?

编辑:这是我的解决方案,从梳理的东西这个问题,我正在运行的服务安装.NET Windows服务不InstallUtil.exe使用这个优秀的代码马克Gravell

它使用以下行来测试是运行gui还是作为服务运行.

 if (arg_gui || Environment.UserInteractive || Debugger.IsAttached)
Run Code Online (Sandbox Code Playgroud)

这是代码.


using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.ComponentModel;
using System.ServiceProcess;
using System.Configuration.Install;
using System.Diagnostics;

namespace Form_Service
{
   static class Program
   {
      /// 
      /// The main entry point for the application.
      /// 
      [STAThread]
      static int Main(string[] args)
      {
         bool arg_install =  false;
         bool arg_uninstall = false;
         bool arg_gui = false;
         bool rethrow = false;
         try
         {
            foreach …
Run Code Online (Sandbox Code Playgroud)

c# service installer windows-services winforms

7
推荐指数
1
解决办法
2万
查看次数

创建.NET Windows服务安装程序的最佳方法是什么?

我刚刚创建了一个简单的.NET Windows服务.我的用户应该从我的网站下载并安装在他们的计算机上.所以,从各种论坛帖子(包括这个网站)我知道为了做到这一点,我需要一个安装程序.或者我可以给他们服务文件并指导如何安装它.我开始创建一个安装项目,并能够编译我自己的.msi安装程序.但有一位用户抱怨他现在无法卸载它.我对它进行了研究,发现.msi格式存在一些问题,主要与它在GAC中计算引用的方式有关.不过,很容易帮他修理电脑.从我与用户的对话中我知道,训练他们使用sc.exe或installutil.exe几乎是不可能的.我还在http://installer.codeeffects.com上找到了一个服务,它可以在没有任何代码的情况下为我的服务构建安装程序,但我不确定我的安装程序是否应该是msi或exe.所以,显然我在这里完全混乱:)请帮助伙计们,任何一般或详细的建议将受到高度赞赏.

.net installer windows-installer windows-services

4
推荐指数
1
解决办法
3998
查看次数

使用AssemblyInstaller安装Windows服务时出现问题

@Marc Gravell给出了如何在这里安装Windows服务的一个很好的例子.我去实施它,一切都很好.

然后我重新启动了我的电脑......突然间,当我尝试安装时,我开始获得安全异常!我得到一个SecurityException:"不允许请求注册表访问".我想也许麻烦从重新启动开始,所以就像在头部的第二次打击治疗健忘症的漫画中,我尝试重新启动...但事实证明生活不像卡通...... :(

好的,所以我用Google搜索了问题,并找到了建议,将注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog的权限授予我的网络服务.这也行不通.我赋予每个人完全的权利 - 而且是HURRAY!我现在得到一个不同的例外! InvalidOperationException:"无法在计算机上打开服务控制管理器.".此操作可能需要其他权限.(内部异常是Win32Exception:"访问被拒绝".)嗯,对不起?我正在尝试在本地计算机上安装!什么是"电脑".""那边做什么?

这非常令人沮丧,因为正如我所说,昨天它工作正常,今天一切都崩溃了,代码库没有任何明显的变化.

这是我安装的代码(复制并改编自Marc Gravell的样本):

using (var inst = new AssemblyInstaller(typeof(MyNamespace.Program).Assembly, new string[] { })) {
  IDictionary state = new Hashtable();
  inst.UseNewContext = true;
  try {
    if (uninstall) {
      inst.Uninstall(state);
    } else {
      inst.Install(state);
      inst.Commit(state);
    }
  } catch {
    try {
      inst.Rollback(state);
    } catch { }
    throw;
  }
}
Run Code Online (Sandbox Code Playgroud)

安装程序代码是:

[RunInstaller(true)]
public sealed class MyServiceInstallerProcess : ServiceProcessInstaller {
  public MyServiceInstallerProcess() {
    this.Account = ServiceAccount.NetworkService;
  }
}

[RunInstaller(true)] …
Run Code Online (Sandbox Code Playgroud)

c# windows-services

3
推荐指数
1
解决办法
5036
查看次数