Tag: windows services

如果文件不存在,我该如何卸载Windows服务?

如果服务文件不存在,我该如何卸载.NET Windows服务? 我使用InstallUtil安装了.NET Windows服务。 我已经删除了文件,但忘记运行 InstallUtil /u 第一。 所以服务仍然列在服务MMC中。 我必须进入registry吗? 或者,还有更好的方法?

FileSystemWatcher无法访问networking驱动器

我试图运行一个文件观察者通过使用Windows服务的一些服务器path。 我使用我的Windowslogin凭据来运行服务,并能够从我的login访问这个“someServerPath”。 但是,当我从FileSystemWatcher这样做时,会抛出: 目录名\ someServerPath无效“exception。 var fileWatcher = new FileSystemWatcher(GetServerPath()) { NotifyFilter=(NotifyFilters.LastWrite|NotifyFilters.FileName), EnableRaisingEvents=true, IncludeSubdirectories=true }; public static string GetServerPath() { return string.Format(@"\\{0}", FileServer1); } 任何人都可以帮我这个吗?

如何延迟关机并在窗口服务中运行进程

我必须运行一个进程,即在Windowsclosures应用程序,有没有什么办法来延迟closuresWindows窗口,并在Windows服务中运行应用程序… protected override void OnShutdown() { // Add your save code here // Add your save code here StreamWriter str = new StreamWriter("D:\\Log.txt", true); str.WriteLine("Service stoped due to on" + DateTime.Now.ToString()); str.Close(); base.OnShutdown(); } 我已经使用上面的函数覆盖关机,我能够写入文本文件的日志条目,但我不能运行一个应用程序之后,在search我发现延迟低于用户closures后几秒钟关机 this.RequestAdditionalTime(250000); 这给关机事件增加了25秒的时间延迟,但我无法运行应用程序。 任何人都可以build议方法或想法来closures运行应用程序。

使用Windows服务的凭据启动进程

我有一个作为mydomain \ userA运行的Windows服务。 我希望能够从服务运行任意.exes。 通常,我使用Process.Start(),它工作正常,但在某些情况下,我想运行可执行文件作为不同的用户(mydomain \ userB)。 如果我更改ProcessStartInfo来启动进程以包含凭据,那么我将会收到错误 – 错误对话框中显示“应用程序未能正确初始化(0xc0000142)。单击确定以终止应用程序”或“访问被拒绝”Win32Exception。 如果我从命令行运行stream程启动代码,而不是在服务中运行它,则stream程将开始使用正确的凭据(我已通过设置ProcessStartInfo来运行whoami.exe并捕获命令行输出)。 我也尝试使用WindowsIdentity.Impersonate()模仿,但是这并没有工作 – 据我所知,模拟只影响当前的线程,并开始一个新的进程inheritance进程的安全描述符,而不是当前的线程。 我在一个孤立的testing域中运行这个,所以userA和userB都是域pipe理员,并且都在域范围内具有“login即服务”权限。

在C#Windows服务上redirectstdout + stderr

我用C#编写了一个使用ServiceBase帮助程序的Windows服务。 在执行过程中,调用外部本地DLL上的某些过程。 令人烦恼的是,这些过程以不受控制的方式写入stdout和/或stderr,因为没有给出这个DLL的源代码。 是否有可能将这些输出从C#服务redirect到日志文件?

System.Drawing在Windows或ASP.NET服务

根据MSDN的说法,在Windows服务或ASP.NET服务的System.Drawing命名空间中使用类并不是一个特别好的主意。 现在我正在开发一个类库,它可能需要访问这个特定的命名空间(用于测量字体),但不能保证主机进程不是服务。 现在,如果System.Drawing不可用,还有一个不太理想的方法,但是如果可能的话,我宁愿在System.Drawing中使用类。 所以我想要做的是在runtume中确定System.Drawing是否安全,如果是,则使用它,否则返回到次优选项。 我的问题是: 我怎么可能检测到System.Drawing是否安全使用? 我想我也应该 检测当前进程是Windows服务还是ASP.NET服务 检测GDI是否可用 或者也许有一种方法来问System.Drawing.dll本身,如果它是安全的使用 不幸的是,我不能想出一个方法来实现这些方法。 有没有人有任何想法?

从服务启动用户会话中的进程

在Windows Vista / 7/2008 / 2008R2中,是否可以通过服务在用户会话中启动进程? 具体来说,本地会话将是最有用的。 我一直在读的东西似乎是说这是不可能的,但我想我会在完全放弃之前问这里。 我在VB.NET编码,但会采取任何build议。

启动一个Windows服务并启动cmd

我是否需要启用交互式desktp才能正常工作,以及启动EXE或cmd窗口的正确代码是什么? 即使启用它与桌面交互,我仍然无法启动服务。 我会使用一个聊天引擎,所以作为一个Windows服务来pipe理更容易。 我的代码有什么问题? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceProcess; using System.Diagnostics; using System.ComponentModel; using System.Threading; namespace MyNewService { class Program : ServiceBase { static void Main(string[] args) { } public Program() { this.ServiceName = "Chatter"; } protected override void OnStart(string[] args) { base.OnStart(args); //TODO: place your start code here ThreadStart […]

.msi和setup.exe文件的具体区别是什么?

我搜查了很多,但都是猜测的答案。 帮我find确切的答案。

如何在本地系统帐户下运行CMD.exe?

我目前正在运行Vista,我想手动完成与我的Windows服务相同的操作。 由于Windows服务在本地系统帐户下运行,我想模拟这种相同的行为。 基本上,我想在本地系统帐户下运行CMD.EXE。 我发现在线信息提示使用DOS任务计划程序AT命令来启动CMD.exe,但是我收到一个Vista警告,“由于安全性增强,此任务将在除外但不交互的时间运行”。 这是一个示例命令: AT 12:00 /interactive cmd.exe 另一个解决schemebuild议通过仅启动CMD.exe的服务控制(sc.exe)创build辅助Windows服务。 C:\sc create RunCMDAsLSA binpath= "cmd" type=own type=interact C:\sc start RunCMDAsLSA 在这种情况下,服务无法启动,并导致以下错误消息: FAILED 1053: The service did not respond to the start or control request in a timely fashion. 第三个build议是通过计划任务启动CMD.exe。 虽然你可以在不同的账户下运行计划任务,但我不相信本地系统账户就是其中之一。 我也尝试过使用Runas,但是我认为运行计划任务时遇到了同样的限制。 到目前为止,我的每一次尝试都以失败告终。 有什么build议么?