2010-08-31 18 views
7

मेरे पास एक बैच फ़ाइल है जिसका उपयोग मैं अपने सी # विंडोज सेवाओं को थोड़ी देर के लिए स्थापित करने के लिए कर रहा हूं, विंडोज 7 तक कोई समस्या नहीं थी। मैंने बैच फ़ाइल को प्रशासक विशेषाधिकारों के साथ चलाने का प्रयास किया है। मैं, व्यवस्थापक privs साथ कमांड प्रॉम्प्ट चलाने खिड़कियों सेवा EXE पर जाएँ और वहाँ InstallUtil को चलाने के लिए प्रयास किया है। अभी भी काम नहीं करता है।विंडोज 7 पर सी # विंडोज सेवा स्थापित करना

कुछ अन्य सुझाव पढ़ने के बाद मैंने अपनी फ़ाइलों को/bin फ़ोल्डर से बाहर ले जाने और उन्हें किसी अन्य स्थान से चलाने की कोशिश की लेकिन यह भी काम नहीं किया।

बैच फ़ाइल इस

@ECHO OFF 

REM The following directory is for .NET 2.0 
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727 
set PATH=%PATH%;%DOTNETFX2% 

echo Installing IEPPAMS Win Service... 
echo --------------------------------------------------- 
InstallUtil /i IEPPAMS_WinService1.exe 
echo --------------------------------------------------- 
echo Done. 

तरह लग रहा है और मैं एक है कि मैं करने के लिए जानकारी डंप लॉग फ़ाइल को स्थापित किया है। अगर मैं सिर्फ .bat फ़ाइल पर डबल क्लिक करता हूं तो मुझे

एक ट्रांज़ेक्टेड इंस्टॉलेशन चल रहा है।

स्थापना के चरण चरण को शुरू करना। सी के लिए लॉग फ़ाइल की सामग्री देखें: \ उपयोगकर्ता \ जस्टिन \ डेस्कटॉप \ सेवा परीक्षण \ IEPPAMS_WinService1.exe असेंबली की प्रगति। फ़ाइल सेल्सियस पर स्थित है: उपयोगकर्ताओं को \ \ जस्टिन \ डेस्कटॉप \ सेवा परीक्षण \ IEPPAMS_WinService1.InstallLog।

चरण चरण के दौरान एक अपवाद हुआ। System.InvalidOperationException: कंप्यूटर पर सेवा नियंत्रण प्रबंधक नहीं खोल सकता '।'। इस आपरेशन अन्य विशेषाधिकारों की आवश्यकता हो सकती है। आंतरिक अपवाद System.ComponentModel.Win32Exception निम्न त्रुटि संदेश से फेंक दिया गया था: एक्सेस अस्वीकार कर दी गई है।

स्थापना की रोलबैक चरण शुरू हो रही है। सी के लिए लॉग फ़ाइल की सामग्री देखें: \ उपयोगकर्ता \ जस्टिन \ डेस्कटॉप \ सेवा परीक्षण \ IEPPAMS_WinService1.exe असेंबली की प्रगति। फ़ाइल सेल्सियस पर स्थित है: उपयोगकर्ताओं को \ \ जस्टिन \ डेस्कटॉप \ सेवा परीक्षण \ IEPPAMS_WinService1.InstallLog।

रोलबैक चरण सफलतापूर्वक पूरा हुआ।

लेनदेन स्थापित पूरा कर लिया है।

जब मैं व्यवस्थापक विशेषाधिकारों के साथ .bat फ़ाइल चलाता हूं तो लॉग फ़ाइल में कुछ भी नहीं लिखा जाता है, और सेवा अभी भी स्थापित नहीं है।

किसी भी विचार? विंडोज 7 में सेवाओं को स्थापित करने का कोई नया तरीका है?

उत्तर

8

तो मैं कमांड लाइन को इंस्टॉलयूट के पूरे पथ में टाइप करके समस्या को ठीक करने में सक्षम था और यह काम करता था। तो फ़ोल्डर है कि मेरे EXE था नेविगेट करने के बाद मैं आपके द्वारा लिखा गया है:

C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.21006 \ installutil.exe IEPPAMS_WinService1.exe

नहीं यकीन है कि मुझे विंडोज 7 में ऐसा क्यों करना है जब मुझे कभी XP में नहीं था, लेकिन ओह ठीक है। सभी सुझावों के लिए शुक्रिया!

+1

मैं वही काम करना चाहता हूं जो आप यहां कर रहे हैं। मैंने अभी देखा है कि आपके .NET 4.0 निर्देशिका में installutil.exe का उपयोग करके अपने 'फिक्स' के लिए यहां। आपके मूल प्रश्न में आप स्थापित करने के लिए .NET 2.0 का उपयोग कर रहे थे। (सेट DOTNETFX2 =% SystemRoot% \ Microsoft.NET \ Framework \ v2.0.50727) –

+0

उत्कृष्ट बिंदु। मुझे लगता है कि जब मैं चीजों से गुज़र रहा था तो मैंने .NET 4.0 पर जाने की कोशिश की और उसने चाल नहीं की। तब जब मैं पूरे रास्ते में गया तो यह काम किया। 2.0 में पूरा पथ आज़माने के लिए वापस नहीं गए और यह कुछ महीने पहले था इसलिए मुझे गलत याद आ रहा है। –

+0

हां यह जवाब है !! यह मुझे एक आदमी दिन खर्च! –

11

बैच फ़ाइल पर राइट क्लिक करें और इसे व्यवस्थापक के रूप में चलाएं।

आप Windows Vista और Windows 7 से नए सुरक्षा मॉडल (उपयोगकर्ता खाता नियंत्रण) के साथ युद्ध में भाग ले रहे हैं। यहां तक ​​कि यदि आप ऐसे खाते के रूप में चल रहे हैं जिसके पास व्यवस्थापकीय अधिकार हैं तो आपको अभी भी कुछ करने की आवश्यकता होगी (सबसे अधिक) प्रशासनिक गतिविधियों।

संपादित करें ... सही (हाँ, यह इस सुविधा को अक्षम करने के लिए, लेकिन नहीं है संभव है) कमांडलाइन InstallUtil YourApp.exe है। /iInstallUtil के लिए एक vaild स्विच नहीं दिखता है।

+0

मैथ्यू, धन्यवाद लेकिन मैंने कोशिश की। परिणाम मेरे प्रश्न के अंत में वर्णित हैं। –

+0

@ जस्टिन, कमांड विंडो को व्यवस्थापक के रूप में लॉन्च करने का प्रयास करें और फिर मैन्युअल रूप से आदेश जारी करने का प्रयास करें। यह एक अनुमति मुद्दा प्रतीत होता है लेकिन आपकी मशीन पर बैठे बिना यह अनुमान लगाना मुश्किल है कि समस्या किस समस्या का कारण बन रही है। –

+1

बीटीडब्ल्यू, क्या आपने उस लॉग फ़ाइल को देखने का प्रयास किया? –

3

जब मैं व्यवस्थापक विशेषाधिकारों के साथ .bat फ़ाइल चलाता हूं तो लॉग फ़ाइल में कुछ भी नहीं लिखा जाता है, और सेवा अभी भी स्थापित नहीं है।

सबसे पहले, आपको व्यवस्थापक अनुमतियों के रूप में चलाने की आवश्यकता है।

दूसरा, जब आप "व्यवस्थापक के रूप में चलाएं", तो यह वास्तव में निर्देशिका को c: \ windows \ system32 में प्रारंभिक निर्देशिका (कोई विचार क्यों नहीं) के रूप में बदलता है, जो संभवतः समझाएगा कि व्यवस्थापक के रूप में चलने के कारण कोई लॉग फ़ाइल क्यों नहीं होती है। रास्ते में मैन्युअल रूप से बदलें IEPPAMS_WinService1.exe आपकी स्क्रिप्ट की शुरुआत में रहता है।