คำถามติดแท็ก windows-services

บริการของ Windows คือกระบวนการบริการเบื้องหลังที่รันโดย Service Control Manager บนระบบปฏิบัติการที่ใช้ Windows NT ซึ่งคล้ายกับ daemons หรือบริการ UNIX

12
เริ่มบริการ Windows โดยอัตโนมัติเมื่อติดตั้ง
ฉันมีบริการ Windows ซึ่งฉันติดตั้งโดยใช้ InstallUtil.exe แม้ว่าฉันจะตั้งค่าวิธีการเริ่มต้นเป็นอัตโนมัติ แต่บริการไม่เริ่มทำงานเมื่อติดตั้งฉันต้องเปิดบริการด้วยตนเองและคลิกเริ่ม มีวิธีเริ่มต้นผ่านทางบรรทัดคำสั่งหรือผ่านรหัสของบริการหรือไม่?


6
ตัวจับเวลาที่ดีที่สุดสำหรับใช้ในบริการ Windows
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันต้องการสร้างบริการ windows ซึ่งจะดำเนินการทุกช่วงเวลา N คำถามคือ ฉันควรใช้ตัวควบคุมตัวจับเวลาแบบใด: System.Timers.TimerหรือSystem.Threading.Timerอย่างใดอย่างหนึ่ง มีผลต่อบางสิ่งหรือไม่? ฉันถามเพราะฉันได้ยินหลักฐานมากมายเกี่ยวกับการทำงานที่ไม่ถูกต้องSystem.Timers.Timerในบริการ windows ขอบคุณ.

4
Inno Setup สำหรับบริการ Windows?
ฉันมีบริการ. Net Windows ฉันต้องการสร้างตัวติดตั้งเพื่อติดตั้งบริการ windows นั้น โดยพื้นฐานแล้วจะต้องทำสิ่งต่อไปนี้: แพ็คinstallutil.exe(จำเป็นไหม) เรียกใช้installutil.exeMyService.exe เริ่ม MyService นอกจากนี้ฉันต้องการให้โปรแกรมถอนการติดตั้งซึ่งรันคำสั่งต่อไปนี้: installutil.exe /u MyService.exe จะทำอย่างไรโดยใช้ Inno Setup?

15
System.BadImageFormatException: ไม่สามารถโหลดไฟล์หรือแอสเซมบลี (จาก installutil.exe)
ฉันพยายามติดตั้งบริการ Windows โดยใช้ InstallUtil.exe และได้รับข้อความแสดงข้อผิดพลาด System.BadImageFormatException: ไม่สามารถโหลดไฟล์หรือแอสเซมบลี ' {xxx.exe}' หรือการอ้างอิงอย่างใดอย่างหนึ่ง มีความพยายามในการโหลดโปรแกรมที่มีรูปแบบไม่ถูกต้อง สิ่งที่ช่วยให้? แก้ไข: (ไม่ใช่ตาม OP) ข้อความแบบเต็มที่ดึงมาจาก dup ทำให้ได้รับความนิยมมากขึ้น [สำหรับ googleability]: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> InstallUtil.exe C: \ xxx.exe Microsoft (R) .NET Framework ยูทิลิตี้การติดตั้งเวอร์ชัน 4.0.30319.1 ลิขสิทธิ์ (c) Microsoft Corporation สงวนลิขสิทธิ์. เกิดข้อยกเว้นขณะเริ่มต้นการติดตั้ง: System.BadImageFormatException: ไม่สามารถโหลดไฟล์หรือแอสเซมบลี 'file: /// C: …

11
บริการ Windows บน Local Computer เริ่มทำงานแล้วหยุดข้อผิดพลาด
โดยปกติฉันจะได้รับข้อผิดพลาดนี้: (บริการ "ชื่อบริการ" บน Local Computer เริ่มทำงานแล้วหยุดบริการบางอย่างจะหยุดโดยอัตโนมัติหากไม่ได้ใช้งานโดยบริการหรือโปรแกรมอื่น) เมื่อมีบางอย่างผิดปกติกับรหัสของฉันเช่นไม่มีอยู่ เส้นทางการขับรถ ฯลฯ บริการ windows จะไม่เริ่มทำงาน ฉันมีบริการ windows ที่สำรองโฟลเดอร์ / ไฟล์ไปยังตำแหน่งที่ตั้งถ้ามันถึงขนาด จำกัด รายละเอียดทั้งหมดมีให้โดยการกำหนดค่า XML ที่บริการ windows อ่านเมื่อเริ่มต้น ฉันมีรูปแบบหน้าต่างแยกต่างหากที่มีปุ่มที่ทำสิ่งที่บริการ Windows ของฉันกำลังทำอยู่ ฉันใช้แบบฟอร์ม windows ของฉันสำหรับการดีบักโค้ดก่อนที่จะใส่ลงในบริการ windows ของฉัน เมื่อฉันเริ่มฟอร์ม windows ของฉัน มันทำในสิ่งที่คิดว่าจะทำ เมื่อฉันใส่รหัสของฉันในบริการ Windows วิธี OnStart () ข้อผิดพลาดปรากฏขึ้น นี่คือรหัสของฉัน: protected override void OnStart(string[] args) { private …

11
ฉันจะสร้างโครงการ InstallShield LE เพื่อติดตั้งบริการ Windows ได้อย่างไร
ฉันดาวน์โหลด Visual Studio 2012 เมื่อวานตอนที่เผยแพร่บน MSDN ฉันสังเกตเห็นว่าโครงการบางประเภทที่เรามีในปี 2010 นั้นหายไปหรือแตกต่างออกไป ความแตกต่างที่ใหญ่ที่สุดสำหรับฉันในตอนนี้คือการลบโครงการ Windows Installer ตอนนี้เราถูกบังคับให้ใช้ InstallShield LE (Limited Edition) ปัญหาคือฉันเขียน Windows Services เป็นจำนวนมากและฉันไม่เห็นวิธีการตั้งค่า InstallShield LE ดูเหมือนว่าเรา (บริษัท ของฉัน) จะต้องลงทุนในใบอนุญาตสำหรับฉบับมืออาชีพ มีใครพบวิธีติดตั้งบริการใน InstallShield LE บ้าง? เมื่อใช้โครงการ Windows Installer คุณเพียงแค่ตั้งค่าการดำเนินการแบบกำหนดเอง

10
(SC) DeleteService FAILED 1072
ครั้งสุดท้ายที่ฉันสร้างโปรไฟล์ WAS และ WASService จากนั้นฉันพยายามกำหนดค่าและเรียกใช้สคริปต์จำนวนมากเพื่อเรียนรู้วิธีการกำหนดค่า WAS ในที่สุดก็ขัดข้องดังนั้นฉันจึงใช้ wasprofile ลบโปรไฟล์นี้และลืมลบ WASService ตอนนี้ฉันพบบริการ IBM Webphere Application Server แสดงในรายการ services.msc ดังนั้นฉันจึงพยายามลบด้วยWASService.exeคำสั่ง -remove และSCคำสั่งwindows แต่ฉันได้รับข้อความ C:\Program Files\IBM\WebSphere\AppServer\bin>sc delete "IBMWAS61Service - DEV" [SC] DeleteService FAILED 1072: The specified service has been marked for deletion.

30
ข้อผิดพลาด 5: การเข้าถึงถูกปฏิเสธเมื่อเริ่มบริการ windows
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามเริ่มบริการ windows ที่ฉันสร้างใน C #: รหัสของฉันจนถึงตอนนี้: private ServiceHost host = null; public RightAccessHost() { InitializeComponent(); } protected override void OnStart(string[] args) { host = new ServiceHost(typeof(RightAccessWcf)); host.Open(); } protected override void OnStop() { if (host != null) host.Close(); host = null; } อัปเดต # 1 ฉันแก้ไขปัญหาข้างต้นโดยให้สิทธิ์แก่บัญชีNETWORK SERVICEแต่ตอนนี้ฉันมีปัญหาอื่น: อัปเดต # 2 …

10
การติดตั้งบริการ windows เดียวกันหลายอินสแตนซ์บนเซิร์ฟเวอร์
ดังนั้นเราจึงได้ผลิตบริการ windows เพื่อป้อนข้อมูลไปยังแอปพลิเคชันไคลเอนต์ของเราและทุกอย่างจะดีมาก ไคลเอนต์ได้มาพร้อมกับการร้องขอการกำหนดค่าที่สนุกสนานซึ่งต้องใช้สองอินสแตนซ์ของบริการนี้ที่ทำงานบนเซิร์ฟเวอร์เดียวกันและกำหนดค่าให้ชี้ไปที่ฐานข้อมูลแยกกัน จนถึงตอนนี้ฉันยังไม่สามารถทำให้สิ่งนี้เกิดขึ้นได้และหวังว่าสมาชิก stackoverflow เพื่อนของฉันอาจให้คำแนะนำบางอย่างว่าทำไม การตั้งค่าปัจจุบัน: ฉันได้ตั้งค่าโครงการที่มีบริการ windows แล้วเราจะเรียกมันว่า AppService นับจากนี้เป็นต้นไปและไฟล์ ProjectInstaller.cs ที่จัดการขั้นตอนการติดตั้งแบบกำหนดเองเพื่อตั้งชื่อบริการตามคีย์ใน App.config เช่นนั้น : this.serviceInstaller1.ServiceName = Util.ServiceName; this.serviceInstaller1.DisplayName = Util.ServiceName; this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem; ในกรณีนี้ Util เป็นเพียงคลาสสแตติกที่โหลดชื่อบริการจากไฟล์กำหนดค่า จากนี้ไปฉันได้ลองสองวิธีที่แตกต่างกันในการติดตั้งทั้งสองบริการและทั้งคู่ล้มเหลวในลักษณะเดียวกัน วิธีแรกเพียงแค่ติดตั้งสำเนาแรกของบริการคัดลอกไดเร็กทอรีที่ติดตั้งและเปลี่ยนชื่อจากนั้นเรียกใช้คำสั่งต่อไปนี้หลังจากแก้ไขการกำหนดค่าแอปเพื่อเปลี่ยนชื่อบริการที่ต้องการ: InstallUtil.exe /i AppService.exe เมื่อไม่ได้ผลฉันพยายามสร้างโครงการติดตั้งที่สองแก้ไขไฟล์กำหนดค่าและสร้างตัวติดตั้งตัวที่สอง เมื่อฉันรันโปรแกรมติดตั้งมันทำงานได้ดี แต่บริการไม่ปรากฏใน services.msc ดังนั้นฉันจึงรันคำสั่งก่อนหน้ากับฐานรหัสที่สองที่ติดตั้ง ทั้งสองครั้งฉันได้รับผลลัพธ์ต่อไปนี้จาก InstallUtil (เฉพาะส่วนที่เกี่ยวข้อง): เรียกใช้การติดตั้งที่ทำธุรกรรม เริ่มขั้นตอนการติดตั้งของการติดตั้ง การติดตั้งบริการ App Service Two ... …

14
จะตรวจสอบได้อย่างไรว่าบริการกำลังทำงานผ่านไฟล์แบตช์และเริ่มทำงานหากไม่ได้ทำงาน
ฉันต้องการเขียนแบตช์ไฟล์ที่ดำเนินการดังต่อไปนี้: ตรวจสอบว่าบริการกำลังทำงานอยู่หรือไม่ หากกำลังทำงานอยู่ให้ออกจากชุดงาน หากยังไม่ทำงานให้เริ่มบริการ ตัวอย่างโค้ดที่ฉัน googled จนถึงขณะนี้ใช้งานไม่ได้ดังนั้นฉันจึงตัดสินใจที่จะไม่โพสต์ การเริ่มต้นบริการทำได้โดย: net start "SERVICENAME" ฉันจะตรวจสอบได้อย่างไรว่าบริการกำลังทำงานอยู่และจะสร้างคำสั่ง if ใน batchfile ได้อย่างไร ฉันสับสนนิดหน่อย อะไรคือข้อโต้แย้งที่ฉันต้องส่งต่อไปยัง net start? ชื่อบริการหรือชื่อที่แสดง?

4
ติดตั้ง Windows Service พร้อมการดำเนินการกู้คืนเพื่อรีสตาร์ท
ฉันกำลังติดตั้งบริการ Windows โดยใช้ServiceProcessInstallerและServiceInstallerคลาส ฉันใช้ServiceProcessInstallerเพื่อตั้งค่าประเภทการเริ่มต้นชื่อ ฯลฯ แต่ฉันจะตั้งค่าการดำเนินการกู้คืนเป็นรีสตาร์ทได้อย่างไร ฉันรู้ว่าฉันสามารถทำได้ด้วยตนเองหลังจากติดตั้งบริการแล้วโดยไปที่คอนโซลการจัดการบริการและเปลี่ยนการตั้งค่าบนแท็บการกู้คืนของคุณสมบัติของบริการ แต่มีวิธีดำเนินการในระหว่างการติดตั้งหรือไม่

8
วิธีการทำให้. NET Windows Service เริ่มต้นทันทีหลังการติดตั้ง?
นอกเหนือจาก service.StartType = ServiceStartMode โดยอัตโนมัติบริการของฉันไม่เริ่มทำงานหลังจากการติดตั้ง วิธีการแก้ แทรกรหัสนี้ใน ProjectInstaller ของฉัน protected override void OnAfterInstall(System.Collections.IDictionary savedState) { base.OnAfterInstall(savedState); using (var serviceController = new ServiceController(this.serviceInstaller1.ServiceName, Environment.MachineName)) serviceController.Start(); } ขอบคุณ ScottTx และ Francis B.

17
ฉันจะแก้จุดบกพร่องของบริการ Windows ใน Visual Studio ได้อย่างไร
เป็นไปได้ไหมที่จะดีบักบริการของ Windows ใน Visual Studio ฉันใช้รหัสเช่น System.Diagnostics.Debugger.Break(); แต่มันให้ข้อผิดพลาดรหัสบางอย่างเช่น: ฉันได้รับข้อผิดพลาดสองเหตุการณ์: eventID 4096 VsJITDebugger และ "บริการไม่ตอบสนองต่อคำขอเริ่มต้นหรือการควบคุมในเวลาที่เหมาะสม"

10
ฉันจะกำหนดเวลาให้บริการ C # Windows ทำงานทุกวันได้อย่างไร
ฉันมีบริการที่เขียนด้วยภาษา C # (.NET 1.1) และต้องการให้ดำเนินการล้างข้อมูลตอนเที่ยงคืนของทุกคืน ฉันต้องเก็บรหัสทั้งหมดไว้ในบริการดังนั้นวิธีที่ง่ายที่สุดในการทำสิ่งนี้คืออะไร? ใช้Thread.Sleep()และตรวจสอบเวลาที่หมุนไปหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.