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

سؤال: عمل تحديث لبرنامجي عن طريق الانترنت

مغلق
بدأه Romantic_touch في 24 سبتمبر 2005 · 22 رد · 3,482 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم جميعا

سؤالي هو انني الان اقوم بتصميم مشروع وهذا المشروع احتاج الى ان اقوم بالتعديل عليه او اضافة خصائص اضافية وليس من السهل ان اذهب لكل عميل لأحدث البرنامج لديه وسؤالي هنا هو يتلخص في الاتي:

1- كيف اعمل في القائمة أداوت خاصية تحميل اخر اصدار او اجبار المستخدم على تحميل الاصدار الاخير قبل استخدام البرنامج وماهي الاحتياجات لذلك

2- هل يحتاج العميل الى تحميل ملف الـsetup فقط ام فقط الملفات التي تم عليها التعديل بالاضافة الى الملفات الجديدة

3- تحديد المسار الذي يوجد به البرنامج الاساسي لتحميل الملفات اليه

للتوضيح نفس طريقة التحديث اللي تصدر للماسنجر MSN هو ما اريده فكيف ذلك؟؟ رجاء الاجابة بتفصيل ووضوح

الف شكر لحسن قرائتكم :)

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#2

السلام عليكم

بلنسبة لتحميل الملفات من النت ممكن تستخدم الطريقة التالية والتحميل هيكون فى مجلد bin

اما الملفات انتا بتحدد ما هيا الملفات الجديدة هل قاعدة بيانات ؟ ملفات dll

         Dim wc As New System.Net.WebClient
        wc.DownloadFile("http://www.arabteam2000.com/images/Small_ATLogo.jpg", "arab.jpg")

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#3

اخي الكريم طبعا ليست قاعدة بيانات ولكن هيه في البرنامج نفسهفلو اضفت نموذج ديد فرضا ماهي الاشياء اللتي تتغير؟

ومن ثم لو لدي عدة ملفات هل اسوي الامر wc.DownloadFile لكل ملف؟

ومن ثم اريد ان اعمل loading bar فيكف يمكن ذلك؟؟؟

لا مانع ان كانت هناك مزيد من الآراء والأفكار

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#4

لو كنت تستخدم الفيجوال 2005 فهناك تقنية ال ClickOnce التي تعطيك امكانية التحديث في برنامجك حيث انك تضع برنامج في سيرفر و يحمل منه المستعملين البرنامج بعد ذلك كلما عملت تعديل على البرنامج يتم عمل Check من طرف البرنامج الموحود عند ال Client على السيرفر و اذا كان اي اختلاف يتم بتحميل النسخة الجديدة

#5

صراحة انا استخدم 2003 حتى الان ولكن ممكن نروح 2005 اش ورانا

بس انا افضل العملية المحكمة من قبلي وليس من قبل البرنامج او الويزارد لانها قد تسبب لي مشاكل لا اعلمها حيث انا قاعدة البيانات لدى كل عميل مختلفة عن قاعدة البيانات الاساسية عندي وايضا هل احتاج الى framework اخر لتشغيل البرنامج؟؟

تم تعديل هذه المشاركة بواسطة Romantic_touch في 24 سبتمبر 2005 في 04:37

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#6

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

هذه مجرد فكره على السريع ابحث عن الكود انت لكي تفهم ايش عم تعمل انتَ انا بصراحة الان مشغول بالامتحانات ولا اقدر ان اقوم بكتابة الكود اعذرني اخي

تم تعديل هذه المشاركة بواسطة NO BODY CAN BEAT ME في 24 سبتمبر 2005 في 14:33

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#7

الف شكر اخي على الاهتمام

بس انا كان فيه نقطة في سؤالي واتمنى ان توضحها لي اذا تكرمت الا وهي,

انه في حال ان اضفت على البرنامج فرضا نموذج جديد فلو اضفت الملفات الخاصة بهذا النموذج في مجلد BIN مع ملفات النموذج التي سأقوم باستدعائها منه سوف يعمل البرنامج بشكل سليم ام لا؟ ام ان هناك ملفات مخفية او اخرى احتاج ان احملها

لانه بصراحة اراى اني اترك العميل يحمل كل شوية ملف Setup حجمه كبير حتكون شغلانه مملة لان فكرتي هي ان اجعل البرنامج تلقائيا يحمل الملفات الجديدة ويعمل دون ان يشعر المستخدم خصوصا في بداية الآمر لان المشروع سوف يتطور بشكل سريع لان تنفيذه سيكون على عدة مراحل

ارجو ان تكون وصلت المعلومة :)

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8

اخي يمكنك ذللك لكن يجب ان تبرمج البرنامج على ان يفهم ما في داخل الbin ويحوله الى زر او فورم...الخ وهذه الطريقة افضل من الsetup لكنها اصعب

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#9

انا ملاحظ انه كل فورم بننشئها بتتكون من ملفين

ٌform1.resx وملف form1.vb

يعني لو اضفت هذين الملفين في الـbin او حتى خارج الbin يعني في المجلد العام للمشروع هل هناك مشكلة؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#10

يا اخي هذين الملفين يقوم الvb.net بعمل كومبيل لهما والكومبيلر هذا معمول بالسي++ يعني من الصعب عمله عن طريق الVb.netيعني لازم تخلي البرنامج يجيب الملف ويقوم بترجمة كل جملة الى شيء (زر فورم....الخ) فلو وضعط الملفين مع الملف التنفيذي لن يحدث شيء على الاطلاق

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#11
NO BODY CAN BEAT ME كتب:
يا اخي هذين الملفين يقوم الvb.net بعمل كومبيل لهما والكومبيلر هذا معمول بالسي++ يعني من الصعب عمله عن طريق الVb.netيعني لازم تخلي البرنامج يجيب الملف ويقوم بترجمة كل جملة الى شيء (زر فورم....الخ) فلو وضعط الملفين مع الملف التنفيذي لن يحدث شيء على الاطلاق

اها اوكي اخي الكريم يعني لازم من الـsetup :(

اشكر لك تواصلك واعجبتني كلمة (وضعط) هههههههههههههههه المفروض تكون (وضعت) -للدعابة-

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#12

اعتقد ان Romantic_touch يريد اضافه لامكانيات جديده لبرنامجه لم تكن موجوده من قبل عند تصميم البرنامج لاول مره مثلا : اضافه نوافذ جديده بامكنيات اضافيه

دون اعاده انزال النسخه المحدثه من الاول اى عايز يكمل على اللى فى البرنامج .

انا شايف ان ممكن عمل ذالك من خلال اعتماد برنامجك من الاول على البرامج الفرعيه و المكتبات بصوره دقيقه هديلك مثال صغير للتبسيط

لو افتراضنا ان لديك form1 و لظبط خصائصه بتلجىء لبرنامج فرعى او مكتبه يتم استدعائها و قرائتها على النحو التالى :

sub form_properties ()
form1.caption ="verion 1"
form1.font =......
الخصائص اللى انت محددها.....
end sub

لو افترضنا عند قيام البرنامج بالدخول على الانترنت للموقع اللى هياخد منو التحديث هياخد مثلا المكتبه الجديده اللى بيها خصائص form1 المحدثه هيفتحها و يستدعى منها البرنامج الفرعى الخاص بخصائص الفورم هيلاقى مثلا

form1.caption = "verion 2"

و هكذا بالنسبه لبقيه الخصائص

طب ده مثلا لتبسيط الفكره علشان نصل الى فكر منطقى ان من الممكن التعديل فى البرنامج دون اعاده تثبيت النسخه الجديده من جديد .

ملحوظه : بالنسبه للملفات او المكتبات التى تم التعديل فيها واللى انت محتاج انها تنزل خلال عمليه التحديث يمكنك كتابتها فى ملف تكست بوصلاتها الموجوده على الموقع اللى بتحدث منه علشان برنامجك يقدر ينزلها من خلال تنزيل ملف التكست هذا و القرائه منه و تنزيل تلك الملفات .

بالنسبه لاضافه فورم جديد للبرنامج : فى رائى انك ممكن عمل ذالك من خلال تصميم الفورم الجديد و برمجته و بعد الانتهاء منه تصدره كملف تنفيذى بس تعتمد من الاول

فى البرنامج القديم على خاصيه الاتصال بين البرامج كانو client و server يتخطبو مع بعض لتبادل المعلومات و حفظها ..

دى مجرد مشاركه و ليست الحل فكل ده اللى دار فى ذهنى اثناء طرحك للموضوع اعتقد ان هناك حلول اكثر و طرق من اخوانى الاعضاء لانهم اكثر احتراف منى

لانى لسه مبتدى و ارجو لما لديه مشاركه تفيدنا فى هذا الموضوع يضعها لان الموضوع ده مهم و كان يشغلنى فى السابق......

#13

هههههه

لا يا اخي مش لازم عن طريق الsetup اذا بدك تعمل عن طريق الbin ممكن لكن تحتاج الى بعض من الغلبة والوقت على فكرة الmsn يستعمل طريقة الsetup ينزل الملف كامل ويعمله setup والكثير من البرامج نفس الحاجة

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#14

اخي half angel كلامك كلو صح بس انو يعمل setup من اول وجديد اسهل

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#15

وننتظر رأي المحترفين بالموضوع :)

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#16

يا اخي ولله انا شايف المحترفين انهم مو فاضين لحدة

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#17

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

يبقى مفهوم التحديث لو بالمعنى اللى انت تقصده اخىNO BODY ميبقاش تحديث ممكن تقول تنزيل نسخه جديده . والله اعلم

#18

نعم باضبط لانه عن طريق الvb.net من الصعب عمل كمبيل مع العلم ان معظم البرامج تستخدم المفهوم الي انا استخدمته الا البرامج التي تحدث قاعدة البيانات فقط تقوم بتحديث قاعدة البيانات مثل الانتي فيروس

تحياتي الى الجميع

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#19

ألحقو يامحترفين واحد يفك علينا الجماعة علقو في بعض

هههههههههههههههههههه

والله ياجماعة انا ابحث عن حل سليم مو عن حل يمشي الحال عشان ما نلجأ لطرق ملتوية

انا عندي 20 نموذج فرضا اضفت فورم او عدلت على عدلت على فورم اش الداعي اني اعيد تنزيل الفورم كلها؟؟؟

فهمت القصد اخوي؟؟؟

يعني بدل ما انزل فرضا 10 ميقا انزل 1 ميقا للعميل (من سرعة الاتصال عندنا يعني) :)

بس هذي هي الفكرة واشكر لكم تفاعلكم

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#20

السلام عليكم ...

مافهمته من الاخ Romantic_touch أنه يريد أن يقوم برنامجه بعمل Update من الانترنت أو من Package خاصة فقط بإضافة التحديثات للبرنامج وهو إتجاه ممتاز في التفكير والذي سيغنيك عن اعادة تنصيب البرنامج خاصة اذا قمت بعمل برنامج لمؤسسة تبعد الاف الاميال .

كنت قد رأيت هذا الاسلوب مستخدماً في إحدي امثلة مايكروسوفت , حقيقة لم أطلع عليه بالتفصيل والرابط للمثال هو

http://msdn.microsoft.com/library/default...._taskvision.asp

ومن مميزات هذا المثال مايسال عنه Romantic_touch تحت عنوان

Application update model via HTTP (no-touch deployment)

وهو مثال يحتوي علي الكثير من التقنيات الفعالة الاخري مثل تطبيق الـ Offline .

وكنت ايضاُ قد قرأت عن الـ InstallShield أنه يدعم الـ Browsing بالنسبة لعملية الـ Update . حقيقة الموضوع ليس بالصعب كما ننظر اليه ولكنه ليس سهلاً ايضاً :D

والله الموفق .

#21

الف شكر اخ Ammar Gaffar

يعني انت فهمتني اش ابغى وهذ ريحني كتير, والموضوع قيد الاطلاع الان وسؤافيك بالخبر عندما انتهي

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#22

الأستاذ crazy-man

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

اولا انا لدي قاعدة بيانات خاصة بكل عميل فهل سيمكن للعميل ان يشتغل على البرنامج دون اتصال بالانترنت؟ اقصد بعد ماينزل البرنامج على جهازه ويقطع الاتصال بالانترنت هل سيتعامل مع البرنامج وكأنه windows application عادي وفي حال انه يوجد تحديث يقوم بالاتصال بالانترنت ام انه يستلزم ان يكون متصل بالانتر نت طيلة فترة عمل البرنامج؟؟

ثانيا ماهي الاحتياجات لهذه التقنية في السيرفر وعندي العميل

ثالثا هل هذه التقنية لها مشاكل؟

ارجو الاجابة باستفاضة بليز لاني فعلا محتاجها

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#23

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

اخي الحبيب romantic بالنسبة لسؤال اعتقد في نظري أن افضل طريقة هي الاعتماد على المكتبات او الفئات المخزنة في ملفات وينبني ذلك بإنشاء مكتبة خاصة بجميع الاوامر القابلة للتعديل والتطوير وبوضعها في مجلد البرنامج الموجود على النطام حيث انه عندما عندما يقوم البرنامج بعمل فحص للتحديثات طبعا سوف يتصل بالانترنت ويقوم بفحص مجلد التحديثات إن كان هناك ملف تحديث يقوم بفحصه مع الملف الموجود إن كان اجدد منه قام بتحديث الملف وهكذا

أنا الرجل الضرب الذي تعرفونه***خشاش كرأس الحية المتوقد

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

هذا الموضوع مغلق.

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

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

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

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

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