الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم تثبيت Service عن طريق الأمر installutil ؟

بدأه Procedure في 5 مارس 2011 · 3 رد · 737 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أرجو حل مشكلتي من اهل الخبره ، لدي ملف Windows Service كتبته بلغة VB.NET2008 وأستخدم حالياً WIndows7

استخدمت الأمر التالي في Run

 installutil C:\MyService.exe

وكتبته ايضاً بالطريقة التالية

 installutil.exe C:\MyService.exe

وجربتها ايضاً في Command DOS

وكانت النتيجة واحدة وهي رسالة خطأ محتواها كالتالي :

Windows Cannot find 'installutil.exe'. Make sure you typed the name correctly,and then try again

هل طريقة تحميل الـ Service التي استخدمتها غير صحيحه ؟

الرجاء إعطائي الطريقة الصحيحه لذلك .

Habeb2.gif
#2

السلام عليكم و رحمة الله و بركاته

اتأكد أخي أولا انك تستخدم الCommand Prompt الخاص بالفيجوال ستوديو و ليس الCommand Prompt العادي الخاص بالويندوز

جرب و اخبرني بما حدث معك

تقبل خالص تحياتي

#3
wisamsalah كتب:

السلام عليكم و رحمة الله و بركاته

اتأكد أخي أولا انك تستخدم الCommand Prompt الخاص بالفيجوال ستوديو و ليس الCommand Prompt العادي الخاص بالويندوز

جرب و اخبرني بما حدث معك

تقبل خالص تحياتي

السلام عليكم اشكرك اخي على الرد

شغلت Command Prompt الخاص بالفيجوال بيسك كما ذكرت لي ونفذت الأمر التالي

installutil PMService.exe

بعد الإنتهاء من التنفيذ ظهرت الرسالة التالية

Running a transacted installation.

Beginning the Install phase of the installation.
See the contents of the log file for the c:\PMService.exe assembly's progress.
The file is located at c:\PMService.InstallLog.

The Install phase completed successfully, and the Commit phase is beginning.
See the contents of the log file for the c:\PMService.exe assembly's progress.
The file is located at c:\PMService.InstallLog.

The Commit phase completed successfully.

The transacted install has completed.

ومع ذلك لم يظهر الـسيرفس في قائمة ال Services في Computer Management

لا أدري مالسبب ؟؟

سؤال آخر مهم جداً .... هل يوجد Command Prompt الخاص بالفيجوال بيسك في WinDows 2003 Server ؟ أم اني محتاج تنصيب الفيجوال بيسك للسيرفر حتى يتم تثبيت السيرفس .؟

ولك جزيل الشكر

Habeb2.gif
#4

Procedure كتب:

السلام عليكم اشكرك اخي على الرد

شغلت Command Prompt الخاص بالفيجوال بيسك كما ذكرت لي ونفذت الأمر التالي

installutil PMService.exe

بعد الإنتهاء من التنفيذ ظهرت الرسالة التالية



Running a transacted installation.

Beginning the Install phase of the installation.
See the contents of the log file for the c:\PMService.exe assembly's progress.
The file is located at c:\PMService.InstallLog.

The Install phase completed successfully, and the Commit phase is beginning.
See the contents of the log file for the c:\PMService.exe assembly's progress.
The file is located at c:\PMService.InstallLog.

The Commit phase completed successfully.

The transacted install has completed.

ومع ذلك لم يظهر الـسيرفس في قائمة ال Services في Computer Management

لا أدري مالسبب ؟؟

أحد الأسباب البارزة لعدم ظهوره هو عدم تحديد عند عل التثبيت تثبيت الService فيجب يكون هناك Class بهذا الattribute

[RunInstaller(true)]

و الكلاس يعمل Inheritance من System.Configuration.Install.Installer

طبعا بعد اضافة المرجع الخاص به

فهذا الأمرين يجعل الinstallutil ينفذ سطور الكود بداخله

و هذا مثال على ما ذكرته بالسابق


[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
{
InitializeComponent();
svrCredManInst.DelayedAutoStart = false;
}

public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
svrCredManInst.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
}

public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
}

public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}

private void svrCredManInst_AfterInstall(object sender, InstallEventArgs e)
{

}

private void srvProcessInstall_AfterInstall(object sender, InstallEventArgs e)
{

}
}

Procedure كتب:

سؤال آخر مهم جداً .... هل يوجد Command Prompt الخاص بالفيجوال بيسك في WinDows 2003 Server ؟ أم اني محتاج تنصيب الفيجوال بيسك للسيرفر حتى يتم تثبيت السيرفس .؟

ولك جزيل الشكر

الاجابة ليست موجود بالويندوز العادية سواء كانت سيرفر ام عادي و طبعا ليس مفضل ان تنزل اداه البرمجة على جهاز أخر إلا اذا كانت تستخدم لغرض البرمجة أيضا

و يتم عوضا عن ذلك بتحديد Custom Actions في مشروع الSetup و تضاف عناصر التثبيت من الClass المذكور سابقا ليقوم بالتنفيذ اثناء تثبيت البرنامج و خاصة انك تضيفه كPrimary Output للتثبيت

ارجو ان اكون افدتك

تقبل خالص تحياتي

1

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…