تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الأداة المساعدة لسطر الأوامر Regsvr32
#1
عندما كنت اريد تسجيل ملفات Ocx او Dll  في الـ Windows (عناصر تحكم OLE)
كنت استخدم regsvr32 لاجل ذلك .
بالنسبة لمكتبات الدوت نت هناك منها ما لا يحتاج الى تسجيل ويمكن فقط وضعه بمسار البرنامج او مجلد النظام

الان افكر في تسجيل مكتبات Devexpress يدويا ولا اريد تحزيمها من الفيجوالستوديو
اعتقد زمان قرأت عن امر يقوم بتسجيل هذه المكتبات .
يمكنني طبعا البحث وسؤال الشيخ قوقل ولكن اردت ان اضع السؤال ليستفاد من الاخرون .
فكل معلومة ستكون مفيدة لنا هنا بحكم خبرة الذين جربوا تسجيلها يدوياً .
الرد }}}
تم الشكر بواسطة: Hazem1 , Hazem1
#2
كود :
al /out:MyAssembly.dll MyModule.netmodule /keyfile:sgKey.snk  
الرد }}}
#3
كيف نستفيد من هذا الكود أخي الكريم ؟؟
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , rnmr , rnmr
#4
الذي وجدته انهم يقولون ان ملفات الـ DLL التي تحتاج الىى تسجيل ولا تعمل الا بالتسجيل تحتاج الى شئ اسمه الأسم القوي او ما يسمونه StrongName
يبدوا انه مصطلح دعاية اكثر منه شئ حقيقي كما تعودنا من مايكروسوفت .
يعني كان يقدروا يقولوا ملفات تحتاج الى تسجيل وملفات لا تحتاج الى تسجيل وفقط .
على العموم وجدت الامر يندرج تحت ثلاث او اربع خطوات كما بالشكل التالي :

كود :
Here is the sample how to do it for MYASSEMBLY.dll :

1. Go to Visual Studio Command Prompt

2. Run : ildasm /all /out=MYASSEMBLY.il MYASSEMBLY.dll

3. Run : ilasm /dll /key=key.snk MYASSEMBLY.il

4. Now MYASSEMBLY.dll is already signed with strong name and ready for use in Sharepoint Project.

لنفرض لديك مكتبة اسمها MYASSEMPLY.dll عليك الانتقال الى موجه الاوامر للفيجوال ستوديو 
ثم استخدام الامر ildasm وبعدها اسم المكتبة والاسم المستخدم وسيكون نفس الاسم

كود :
ildasm /all /out=MYASSEMBLY.il MYASSEMBLY.dll

ثم ياتي دور تسجيل مفتاح ما بواسطة  ilasm ليس صعبا التكهن انه مفتاح فريد شئ مثل EA-FD-GG-E4-C2-A1

وهذا كل شئ .

انا الان بصدد تركيب نظام وهمي على النظام عندي لاجراء بعض التجارب

وبحال الرغبة في تسجيل العديد من الملفات دفعة واحدة يمكن استخدام السكريبت التالي:



كود :
FOR %i IN (*.dll) DO ildasm /all /out=%~ni.il %I

FOR %i IN (*.dll) DO ilasm /dll /key=key.snk %~ni.il


حيث تكون المفاتيح موجودة بنفس المجلد في ملف Key.snk



ايضا مايكروسوفت لها اداة SN.exe للقيام بهذا الامر وهي هنا بهذا الرابط

https://docs.microsoft.com/en-us/dotnet/...-name-tool


وللحصول على Key عشوائية هناك امر يقوم بانشاء مفتاح عشوائي ويضعه بداخل ملف والامر هو :

كود :
sn -k c:\keyPair.snk

https://docs.microsoft.com/en-us/dotnet/...-name-tool


طبعا من موجه الاوامر للفيجوال ستوديو وبصلاحيات مسؤول وسوف تجده في المسار المحدد
الرد }}}
تم الشكر بواسطة: rnmr
#5
أحببت أن أطرح كم سؤال أخي viv
1 - لماذا تريد تسجيلها بشكل يدوي . ( أين ستكون عملية التسجيل اليدوية ومتى - من مجمل سير عملية التنصيب للبرنامج في جهاز المستخدم  ) ؟
2 - لماذا لا تكون من ضمن عملية التنصيب ؟ 
3 - هل جربت أن تقوم بعمل ( set its reference's Isolated property to True ) أي بمعنى أن تجعل الخاصية ( Isolated ) ـ= True
   








(18-10-18, 11:02 AM)viv كتب : الذي وجدته انهم يقولون ان ملفات الـ DLL التي تحتاج الىى تسجيل ولا تعمل الا بالتسجيل تحتاج الى شئ اسمه الأسم القوي او ما يسمونه StrongName
يبدوا انه مصطلح دعاية اكثر منه شئ حقيقي كما تعودنا من مايكروسوفت .
يعني كان يقدروا يقولوا ملفات تحتاج الى تسجيل وملفات لا تحتاج الى تسجيل وفقط .
   

أحببت أن أنقلها كما هي , للفائدة العامة.
المصدر : من كتاب الاستاذ تركي العسيري  , صفحة رقم 397
تركي العسيري كان أحد أعضاء منتدى فيجوال بيسك للعرب القديم 
للأمانة هذا الكتاب كان مصدر كبير للمعرفة في ذلك الوقت بالنسبة لي , هذا الكتاب نزل قبل 15 سنة تقريباً.
أعتقد أنه من أفضل الكتب العربية. يستحق القراءة.



تحياتي للجميع .
الرد }}}
تم الشكر بواسطة: viv , محمد كريّم
#6
شكرا اخي الدوسري على مرورك

إقتباس :لماذا تريد تسجيلها بشكل يدوي

لاسباب كثيرة منها

انني لو اردت ان استخدم متبث للبرامج ساستخدم برنامج اكثر احترافية من الموجود بالفيجوال ستوديو فيه شعاراتي ونبدة عني ويمكنني التحكم  به بشكل اكبر
ايضا انا انصب بنفسي برامجي باجهزة العملاء عملي كله محلي ولا اوزع على الانترنت او ابيع عليه مثلا
التصيب اليدوي ايضا يجعل المستخدم لا يعلم ما الملفات التي نصبتها ولا اماكنها زيادة حماية بخطوة اضافية


إقتباس :أين ستكون عملية التسجيل اليدوية ومتى

وقت تنصيبي للبرنامج بجهاز العميل ، والمكان لا اعلم بأي مكان حتى ولو كان في مجلد الاسيمبلي الافتراضي .

إقتباس :أي بمعنى أن تجعل الخاصية ( Isolated ) ـ= True

لا اعلم ما فائدتها انها تعني معزول هل تقصد انها تجعل المكتبات لا تحتاج الى تسجيل ويمكن نسخها ولصقها في مجلد البرنامج فقط
وهل هو خاص بمكتبات Com ام حتى بمكتبات الـ .net

إقتباس :تركي العسيري كان أحد أعضاء منتدى فيجوال بيسك للعرب القديم

اعرف هذا الاسم انا ايضا كنت احد اعضاء المنتدى القديم بأسم الفجر الأبيض قبل الانتقال الى الدلفي وقتها .
ايضا اعرف ولا زلت اذكر الكثير من الاسماء ومنها الدوسري .
الرد }}}
تم الشكر بواسطة: عبدالله الدوسري


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيف أجعل الأداة Listbox تعرض عمودين بدل عمود واحد mmaalmesry 6 464 15-10-24, 11:05 AM
آخر رد: Taha Okla
  ارجو المساعدة في فك تسفير ملف xml mimomassa17 0 209 15-09-24, 03:23 PM
آخر رد: mimomassa17
  ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو alachk 11 1,067 11-08-24, 11:44 AM
آخر رد: alachk
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,757 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  [VB.NET] ممكن المساعدة في اجراء بحث كومبوبكس وتيكست raedre22 20 1,110 18-07-24, 12:18 PM
آخر رد: raedre22
Photo [كود] مطلوب كود يستخدم الأوامر فقط لتحديث قاعدة بيانات بـ vb.net AhmedEissa 4 980 18-01-24, 11:40 PM
آخر رد: العتيق
  ارجو المساعدة فى شاشة طباعة الباركود new_programer 10 1,184 09-01-24, 08:41 PM
آخر رد: new_programer
  المساعدة - في تفعيل نسخة VB 2015 emamtron2014 2 5,650 24-12-23, 05:08 AM
آخر رد: laban
  [نقاش] أساتذتنا مشرفى المنتدى المساعدة و الدعم فى Telerik dr.programming 6 694 21-12-23, 12:29 AM
آخر رد: dr.programming
  [SQL] يوجد لدى خطأبرمجى ارجو المساعدة عاصم النجار 6 793 26-07-23, 05:22 PM
آخر رد: عبد الخالق

التنقل السريع :


يقوم بقرائة الموضوع: