Windows कमांड प्रॉम्प्ट का उपयोग करके Windows सेवा स्थापित करें?


323

मैं विंडोज कमांड प्रॉम्प्ट (विजुअल स्टूडियो कमांड प्रॉम्प्ट नहीं) का उपयोग करके विंडोज सेवा स्थापित करना चाहता हूं।

मैं यह कैसे करु?

जवाबों:


517

अपने .net फ़ोल्डर में installutil.exe पर नेविगेट करें (उदाहरण के लिए .net 4 यह C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319) और इसे इस तरह अपनी सेवा स्थापित करने के लिए उपयोग करें:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"

35
यदि यह x64 संकलित सेवा है, तो "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil.exe" का उपयोग करें।
nme

20
मुझे एक अजीब त्रुटि मिलती है। RunInstallerAttribute के साथ कोई सार्वजनिक इंस्टॉलर नहीं। हाँ। Exe विधानसभा में विशेषता पाई जा सकती है। InstallState फ़ाइल को निकालें क्योंकि कोई इंस्टॉलर नहीं है
निक

1
नमस्ते, मैंने इस समाधान की कोशिश की, लेकिन इसके अपवाद के रूप में "... फ़ाइल नहीं मिली या इसकी निर्भरता में से एक।" कृपया मदद कीजिए।
शैलेशदेव

सभी के लिए एक ही समस्या के साथ के रूप में इन सभी और मैं: आप इसे में अब पूरे रास्ते डालने की जरूरत नहीं है। एक साधारण संस्थापन। exe "C: \ YourProject.exe" पर्याप्त है।
कैटालिसिम

1
@Cataklysim आपको पूर्ण पथ का उपयोग करना होगा, जब तक कि आपने इसे पथ पर्यावरण चर में नहीं जोड़ा है।
ब्लू

211

SC Create कमांड में कुछ भी गलत नहीं है। बस आपको सही तरीके से पता होना चाहिए:

SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"

27
यह एकमात्र उत्तर है जो किसी सेवा को स्थापित / संशोधित / हटाने का आधिकारिक तरीका बताता है। इसके अलावा, यह .NET फ्रेमवर्क स्थापित होने पर निर्भर नहीं करता है और किसी भी तरह की फ़ाइल के साथ काम करता है, न कि केवल .NET बायनेरी।
अलेजांद्रो

7
हां..इसलिए कि मुझे यह दृष्टिकोण क्यों पसंद है और हमेशा यह सलाह देता हूं क्योंकि सभी कामों को exe में करने की आवश्यकता है जो किसी भी .net fw संस्करण से संबंधित हैं।
सिड

1
यह ध्यान देने योग्य है कि यह कमांड केवल विंडोज़ सर्वर (और कुछ पुराने विंडोज़ संस्करण) के लिए उपलब्ध है। विन 10 में एक scकमांड भी है, लेकिन यह कुछ अलग है, सेवाओं को पंजीकृत करने के लिए उपयोग नहीं किया जा सकता है।
कप्तान दसेनका

4
ध्यान दें कि "द्विपथ =" के बाद की जगह अत्यावश्यक है। @ParamvirSinghKarwal
Urk

1
यदि इस कमांड नोट को चलाने के लिए पॉवरशेल का उपयोग किया जाता है कि SC सेट-कंटेंट के लिए एक अन्य नाम है। SC.exe लिखना ठीक कर देगा।
जेसपर रीमर एंडरसन

84

यदि निर्देशिका के नाम में जगह है c:\program files\abc 123, तो आपको पथ के चारों ओर दोहरे उद्धरण चिह्नों का उपयोग करना चाहिए।

installutil.exe "c:\program files\abc 123\myservice.exe"

कमांड प्रॉम्प्ट से विंडोज़ सेवा स्थापित करें

यदि आप निम्नलिखित की तरह बल्लेबाजी फ़ाइल सेट करते हैं तो यह बहुत आसान हो जाता है,

जैसे करने के लिए एक सेवा स्थापित करते हैं, एक "myserviceinstaller.bat" बना सकते हैं और " व्यवस्थापक के रूप में चलाएँ "

@echo off
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
installutil.exe "C:\Services\myservice.exe"

if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause

सेवा की स्थापना रद्द करने के लिए,

बस एक जोड़ने -u InstallUtil आदेश करने के लिए।

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"

16

निम्नलिखित कार्य करें:

  1. प्रशासक अधिकारों के साथ कमांड प्रॉम्प्ट (CMD) शुरू करें।
  2. प्रकार c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. प्रेस returnऔर वह है!

व्यवस्थापक अधिकारों के साथ खोलना महत्वपूर्ण है अन्यथा आपको ऐसी त्रुटियां मिल सकती हैं जो समझ में नहीं आती हैं। यदि आपको कोई भी मिलता है, तो आप इसे पहले व्यवस्थापक अधिकारों के साथ खोल चुके हैं!

व्यवस्थापक अधिकारों के साथ खोलने के लिए , 'कमांड प्रॉम्प्ट' पर राइट क्लिक करें और 'Run as Administrator' चुनें।

स्रोत: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/


11

सेवा स्थापित करें: -

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" 
"C:\Services\myservice.exe"

इनस्टॉल सेवाइस: -

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"

6

मुझे इस धागे में एक और बिंदु जोड़ना होगा। 64-bitअसेंबली के संस्करण को स्थापित / अनइंस्टॉल करने के लिए एक 64-bitउपकरण के संस्करण का उपयोग करना चाहिए । सेवा स्थापित करने के लिए, कमांड होनी चाहिए:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"

और कमांड की स्थापना रद्द करनी चाहिए:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"

4

एक बनाएं *.batअपनी खिड़कियों सेवा के बगल में फ़ाइल exeफ़ाइल स्थापित करने के लिए निम्न संदर्भ के साथ:

CLS
ECHO Installing My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"

एक बनाएं *.batअपनी खिड़कियों सेवा के बगल में फ़ाइल exeफ़ाइल की स्थापना रद्द करने के लिए निम्नलिखित संदर्भ के साथ:

CLS
ECHO Uninstalling My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"

अपनी विंडोज़ सेवा को स्थापित या अनइंस्टॉल करने के लिए प्रत्येक batफ़ाइल को व्यवस्थापक के रूप में चलाएं ।


2
  1. व्यवस्थापक के रूप में Windows कमांड प्रॉम्प्ट चलाएँ
  2. इस कोड को पेस्ट करें: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\फ़ोल्डर में जाने के लिए
  3. इसे भी संपादित करें और चलाएं: installutil C:\ProjectFolder\bin\Debug\MyProject.exe

नोट: स्थापना रद्द करने के लिए:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe


2

दृश्य स्टूडियो खोलें और टैब Windows Serviceमें टेम्पलेट का चयन करके नई परियोजना का चयन करें Windows Desktop। आपकी सेवा में कोड के बाद की प्रतिलिपि की तुलना करें_name.cs फ़ाइल।

using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
    public partial class Timer_Service : ServiceBase
    {
        public Timer_Service()
        {
            InitializeComponent();
        }
        static void Main()
        {
            if (System.Diagnostics.Debugger.IsAttached)
            {
                Timer_Service service = new Timer_Service();
                service.OnStart(null);
            }
            else
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[]
                {
                    new Timer_Service()
                };
                ServiceBase.Run(ServicesToRun);
            }
        }
        protected override void OnStart(string[] args)
        {
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
        }
        protected override void OnStop()
        {            
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
        }
    }
}

Service_name.cs फ़ाइल पर राइट-क्लिक करें और सेवा के खुले डिजाइनर। राइट-क्लिक करें और सेलेक्ट करें Add Installer। से राइट-क्लिक करें serviceProcessInstaller1और इसके प्रॉपर्टी वैल्यू को Accountसे बदल UserदेंLocal System

फ़ाइल static void mainसे विधि निकालें Program.cs। अपनी परियोजना को बचाएं और बनाएं।

नोट:bin\Ddebug आपके प्रोजेक्ट फ़ोल्डर का गोटो फोल्डर। आपकी service_name.exeफ़ाइल के खुले गुणों से । थान गोटो Compatibilityटैब। पर क्लिक करें Change Settings For All Users

विकल्प चुनें Run this program as an administrator

अब, आपको CommandPromt को एडमिनिस्ट्रेटर के रूप में खोलना होगा। ओपन होने के बाद डायरेक्टरी को सेट करें कि आपकी InstallUtil.exeफाइल कहाँ रखी है। पूर्व के लिए C:\Windows\Microsoft.NET\Framework64\v4.0.30319:। अब निम्नलिखित कमांड लिखें:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe

नोट: -आई वह अनइंस्टॉल के लिए सेवा और -u स्थापित करने के लिए है।

after -i ने वह पथ सेट करें जहाँ आप अपनी सेवा स्थापित करना चाहते हैं।

अब CommandPromt में कमांड को इस प्रकार लिखें:

C:\TimerService\TimerService\bin\Debug>net start service_name

ध्यान दें:stop सेवा को रोकने के लिए उपयोग करें ।

अब, खोलें ViewEventLog.exe। Windows लॉग> एप्लिकेशन का चयन करें। वहां आप अपनी सेवा के लॉग की जांच शुरू कर सकते हैं और सेवा को रोक सकते हैं।


2

यदि आप Powershell का उपयोग कर रहे हैं और आप .NET सेवा स्थापित करना चाहते हैं तो आप Install-Service का उपयोग कर सकते हैं मॉड्यूल का । यह InstalUtil टूल के लिए एक आवरण है।

यह 3 आदेशों को उजागर करता है

  • Install-Service - InstallUtil.exe pathToExecutable को आमंत्रित करता है  कमांड
  • Install-ServiceIfNotInstalled - सबसे पहले यह जाँचता है कि क्या सर्विस इंस्टॉल है या नहीं, अगर इंस्टॉलेशन -सर्विस का प्रदर्शन नहीं हुआ है
  • अनइंस्टॉल-सर्विस- यह सर्विस को अनइंस्टॉल करता है। निष्पादन योग्य पथ के सेवा नाम का उपयोग किया जा सकता है।

इस मॉड्यूल के कोड को यहाँ देखा जा सकता है


1
  1. प्रशासक अधिकारों के साथ कमांड प्रॉम्प्ट (CMD) शुरू करें।
  2. टाइप करें c: \ windows \ microsoft.net \ फ्रेमवर्क \ v4.0.30319 \ installutil.exe [आपकी विंडोज़ सेवा मार्ग को समाप्त करने के लिए]
  3. प्रेस वापसी

1

निम्नलिखित कोड सेवा को स्थापित और अनइंस्टॉल करें,

कमांड प्रॉम्प्ट खोलें और प्रोग्राम को एक व्यवस्थापक के रूप में चलाएं और नीचे कमांड को फायर करें और एंटर दबाएं।

वाक्य - विन्यास

स्थापित करने के लिए

C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe

उदाहरण: हमारा पथ InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe

स्थापना रद्द करने के लिए

 C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe

उदाहरण: हमारा रास्ता InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe

अधिक मदद के लिए आप निम्न लिंक देख सकते हैं: नमूना कार्यक्रम


1

Windows सेवा को परिनियोजित करने के दौरान चरणों को समाप्त करें, समय न गंवाएं

1- एडमिन राइट द्वारा कमांड प्रॉम्प्ट को रन करें

2- अपने आईडीई में कंप्लेन करते समय रिलीज़ मोड के बारे में जानकारी

3- अपने प्रोजेक्ट इंस्टॉलर को डिजाइन व्यू पर एक प्रकार दें

4- केस के अनुसार ऑथेंटिकेशन टाइप चुनें

5- सॉफ्टवेयर निर्भरता के बारे में बीमा: यदि आप एक प्रमाण पत्र का उपयोग कर रहे हैं तो इसे सही तरीके से स्थापित करें

6- अपने कंसोल पर यह लिखें:

C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe

निर्वासन के लिए -i c:\उपयोग किए जा सकने वाले exe पथ से पहले एक छिपा हुआ तर्क है-u

7- लॉग फ़ाइल प्रतीत होने के लिए अपना .exe पथ देखें। आप इवेंट व्यूअर का उपयोग फीचर में देख सकते हैं


1

व्यवस्थापक के रूप में खुला डेवलपर कमांड प्रॉम्प्ट और करने के लिए नेविगेट

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

अब जहां तुम्हारा है .exeवहां पथ का उपयोग करो

InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"

0

जब आपका असेंबली वर्जन और आपका विजुअल स्टूडियो प्रोजेक्ट बिउल्ड सेटिंग डॉट नेट 2 या 4 पर एक ही वर्जन के साथ इंस्टॉल हो।

installutilउसी संस्करण के साथ सेवा स्थापित करें

अगर डॉट 4 में निर्माण

प्रकार c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe

अगर डॉट नेट 2 में निर्माण

प्रकार c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe


0

1. प्रारंभ मेनू से, विज़ुअल स्टूडियो निर्देशिका का चयन करें, फिर वीएस के लिए डेवलपर कमांड प्रॉम्प्ट का चयन करें।

2. विजुअल स्टूडियो के लिए डेवलपर कमांड प्रॉम्प्ट प्रकट होता है।

3. निर्देशिका में जहां आपकी परियोजना की संकलित निष्पादन योग्य फ़ाइल स्थित है।

4.Run InstallUtil.exe कमांड प्रॉम्प्ट से आपकी परियोजना के निष्पादन योग्य पैरामीटर के रूप में



-1

व्यवस्थापक के रूप में कमांड प्रॉम्प्ट खोलें, अपने फ़ोल्डर पर जाएं जहां आपका .exeनिवास है। Exeसेवा के रूप में स्थापित करने के लिए

D:\YourFolderName\YourExeName /i

उपयोग की स्थापना रद्द करने के लिए /u

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.