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

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن المساعدة فى برنامج البصمة مرفق مثال new_programer 3 237 12-10-20, 12:53 AM
آخر رد: new_programer
  ارجو المساعدة في كود حذف فاتورة بيع sofiane-phy 1 149 11-10-20, 12:12 AM
آخر رد: محمد كريّم
  ممكن المساعدة فى كود حساب الوقت new_programer 2 164 07-10-20, 06:49 PM
آخر رد: new_programer
  [VB.NET] ارجو المساعدة مشكل les boucles fohah 2 163 04-10-20, 06:19 PM
آخر رد: fohah
  المساعدة في انشاء شريط تحميل progress bar MustafaShaker 0 134 16-09-20, 05:41 PM
آخر رد: MustafaShaker
  المساعدة في التعديل على كود تعديل البيانات في قاعدة سيكوال سيرفر momani33 3 230 15-09-20, 08:10 PM
آخر رد: Anas Mahmoud
  المساعدة بكود استعلام khaled Mohammed 3 234 15-09-20, 08:42 AM
آخر رد: Anas Mahmoud
  [VB.NET] ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام eman kh 5 522 13-09-20, 06:05 PM
آخر رد: eman kh
  المساعدة بكتابة جملة IF khaled Mohammed 9 401 08-09-20, 08:39 PM
آخر رد: Anas Mahmoud
  مشكلة فى اضافة البيانات ممكن المساعدة talatm 7 449 04-09-20, 04:10 PM
آخر رد: عبد العزيز البسكري

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


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