تقييم الموضوع :
  • 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

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Photo [كود] مطلوب كود يستخدم الأوامر فقط لتحديث قاعدة بيانات بـ vb.net AhmedEissa 4 649 18-01-24, 11:40 PM
آخر رد: العتيق
  ارجو المساعدة فى شاشة طباعة الباركود new_programer 10 583 09-01-24, 08:41 PM
آخر رد: new_programer
  المساعدة - في تفعيل نسخة VB 2015 emamtron2014 2 5,112 24-12-23, 05:08 AM
آخر رد: laban
  [نقاش] أساتذتنا مشرفى المنتدى المساعدة و الدعم فى Telerik dr.programming 6 385 21-12-23, 12:29 AM
آخر رد: dr.programming
  [SQL] يوجد لدى خطأبرمجى ارجو المساعدة عاصم النجار 6 507 26-07-23, 05:22 PM
آخر رد: عبد الخالق
  اخوانى الاحباب ارجو المساعدة فى كود النسخ واللصق mhareek 1 448 15-07-23, 02:52 PM
آخر رد: أبووسم
Lightbulb [VB.NET] سؤال وارجو المساعدة بخصوص عرض الصورة في تقرير كرستال younus 1 399 27-03-23, 10:13 PM
آخر رد: sanyor77
  الرجاء المساعدة المتألق9 0 366 15-03-23, 09:35 PM
آخر رد: المتألق9
  [VB.NET] الرجاء المساعدة في الكود لو سمحتم محمد شحادة 4 690 13-03-23, 09:56 AM
آخر رد: محمد شحادة
  [سؤال] الرجاء المساعدة chabba 0 305 13-03-23, 01:47 AM
آخر رد: chabba

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم