نقاش لعمل مشروع Java Installer
لقد بحثت ووجدت method setup
في class JFileChooser
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFileChooser.html
انظر هنا ايضا
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/filechooser/FileSystemView.html
تم تعديل هذه المشاركة بواسطة pro.fahd في 19 نوفمبر 2010 في 00:05


هيييييييييييييه
وجبتها الحمدلله ههههههههههه
System.getenv("ProgramFiles");دى هتعود ليك بمسار التسطيب للبرامج
عقبال الصلحيات يارب :)
انا عاوز انزل الحاجات دى ف موضوع لانى لقيت الحصول عليها سهل جدا
بس انا اللى مش كنت مشغل مخى هههههههه
علاء الصالحي كتب:ولماذا الوسيط يا محمود
مباشرة ما تقرأه اكتبه
تحياتي
ما انا عاوز احتفظ بيه
لحد ما اشوف هاعمل بيه ايه
وممكن نغير المبدا اثناء العمل
بس اهم حاجه انى عرفت احتفظ بحجم الملف 18 ميجا كويس :)
برامج الجافا مش هتعدى كدا بردوا
pro.fahd كتب:لقد بحثت ووجدت method setup
في class JFileChooser
http://download.orac...ileChooser.html
انظر هنا ايضا
ما انا مستخدم الـJFileChooser
لكن هاشوف موضوع الـ FileSystemView
تقريبا هتفيدنا بحاجه
تسلم ايدك يا غالى :)
pro.fahd كتب:الحمد لله ههههههه
الحمدلله :)
______________________________
اخ علاء
انا ضفت مووضوع عن الـ System.getProperty والـ System.getenv
The expendable كتب:لى سؤال الجافا كما نعلم تعمل على virtual machine وبالتالى فهى تعمل على اى جهاز او platform ايا كانت عكس .net
وبالتالى فهى لا تحتاج تسطيب او installer فى فى حاله البرامج الصغيره - هل انا صح ؟؟ -
.. وهذا يجعلنى اتسأل لماذا اصلا يتم اجراء عمليه الset up ..؟؟؟
الظاهر يقول ان ال installer فى حاله البرامج الكبيره يقوم ب - فك ضغط البرنامج الذى مفترض ان يكون مكون من باكدج ضخمه
- وضع الملفات المستخرجه ضمن ال program files فى ملفات النظام..
- اضافه بعض الاختصارات و المفاتيح فى ال Registry
ولكن هذا كل شىء ؟؟؟ اعتقد ان هناك وظائف اخرى انا اجهلها ..
ما تعقيبك اخ علاء

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك
اخى علاء
لم اتمكن من الكتابه فى الملف Program Files
الذى فالمسار التالى
c:/Program Files/
الموجود من ضمن ملفات النظام
وهو المسار الذى يتم تسطيب البرامج فيه
لكنى تمكنت من الكتابه فى المحرك الذى يحتوى هذا الملف
يعنى تمكنت من الكتابه هنا
c:/
فهل من حل فى مشكله الصلحيات
ان لم نجد حلا فلدى اقتراح
هو ان تتم عمليه التسطيب فى المسار
c:/Program Files/
او بمعنى اصح المسار التى تعود به هذه الداله
System.getenv("ProgramFiles");وفى حاله ان يكون نظام التشغيل هو windows 7
يمكننا معرفته من هذه الداله
System.getProperty("os.name");بكتب فى المسار الرئيسى للنظام
الا وهو
c:/
والتى تأتى باستخدام هذه الداله
System.getenv("SystemDrive");أذكر أنا نقشنا موضوع المسارات هذا في ويندوز 7 ووصلنا إلى أن الموضوع غير ممكن إلى بتشغيل البرنامج كمدير administrator
بالنسبة للأخ the expandable هناك بعض البرمجيات الكبيرة التي تحتاج إلى تنسيق في عملها
بالإضافة إلى نسخ ملفات في أماكن مختلفة
لذا بدلاً من تضييع وقت المستخدم في عمل هذه الأمور يتم استبدالها بمعالج يقوم بهذه الأمور بدلاً منك
تحياتي
علاء الصالحي كتب:أذكر أنا نقشنا موضوع المسارات هذا في ويندوز 7 ووصلنا إلى أن الموضوع غير ممكن إلى بتشغيل البرنامج كمدير administrator
تحياتي
طيب هل ينفع اشغله كـadministrator باستخدام الكود ؟؟؟
وشوف كدا الاقتراح دا
هذا فى حاله استخدام ويندوز 7 فقط
اقتباسان لم نجد حلا فلدى اقتراح
هو ان تتم عمليه التسطيب فى المسار
c:/Program Files/او بمعنى اصح المسار التى تعود به هذه الداله
System.getenv("ProgramFiles");وفى حاله ان يكون نظام التشغيل هو windows 7
يمكننا معرفته من هذه الداله
System.getProperty("os.name");بكتب فى المسار الرئيسى للنظام
الا وهو
c:/والتى تأتى باستخدام هذه الداله
System.getenv("SystemDrive");
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 20 نوفمبر 2010 في 18:38
يمكنك ذلك بتعليمات dos اطلع على المقالة التالية في المشاركة الثالثة
لاحظ أنك لو كنت أي مستخدم غير المدير سيطلب منك إدخال المستخدم المدير admin وكلمة مروره
لم أجربها أبداً لكن مشكلتها أنك ستحتاج إلى استخدام bat ولا أعرف ما وضعه على Linux
بالنسبة للجافا فأنا وعلى حسب اعتقادي لا يمكنك أخذ هذه الصلاحيات مباشرة
ربما يمكنك عن طريق استخدام Process عمل شيء (أقصد أن تشغل الأمر السابق ذكره من جافا عن طريق Processbuilder إن لم تخني الذاكرة)
جرب وأخبرني بالنتيجة
تحياتي
علاء الصالحي كتب:يمكنك ذلك بتعليمات dos اطلع على المقالة التالية في المشاركة الثالثة
http://social.techne...72-8c1ce4b5eff1
لاحظ أنك لو كنت أي مستخدم غير المدير سيطلب منك إدخال المستخدم المدير admin وكلمة مروره
لم أجربها أبداً لكن مشكلتها أنك ستحتاج إلى استخدام bat ولا أعرف ما وضعه على Linux
بالنسبة للجافا فأنا وعلى حسب اعتقادي لا يمكنك أخذ هذه الصلاحيات مباشرة
ربما يمكنك عن طريق استخدام Process عمل شيء (أقصد أن تشغل الأمر السابق ذكره من جافا عن طريق Processbuilder إن لم تخني الذاكرة)
جرب وأخبرني بالنتيجة
تحياتي
حاضر هاشوف المقاله دى
لكن ازاى اللى انت قولته دا
اقتباسربما يمكنك عن طريق استخدام Process عمل شيء (أقصد أن تشغل الأمر السابق ذكره من جافا عن طريق Processbuilder إن لم تخني الذاكرة)جرب وأخبرني بالنتيجة
ازاى يعنى ؟؟؟
انا اساسا مش اتعاملت مع Processbuilder من قبل مش دى بردوا class فى الجافا ؟
أعني جرب أن تستخدم برنامج الجافا أولي ليس له صلاحية كمدير نظام لفتح برنامج جافا آخر له صلاحيات كمدير نظام
صحيح هو عبارة عن فئة جافا
أعتقد أن هناك بعض الإخوة عملوا عليها هنا في المنتدى ابحث وستجد أمثلة
تحياتي
انا شغال فى البرنامج والحمدلله قطعت جزء كبير فيه
لكن عندى مشكله انى هاخزن البيانات بتاعت التسطيب فى ملف سميته install.ins
وقولت علشان اعرف اتعامل مع الملف من داخل الـ jar
قولت استخدمها كدا
getClass().getResource("/installjarfile/install.ins").getFile()داخل النت بينز شغال كويس جدا
لكن فى الـ jar file اللى بيكون داخل ملف الـ dist
مش شغال خالص مع انى لم فكيت ضغط الـjar لقيت الملف بداخله لكنه لم يحس بيه
مع العلم انى استخدم نفس الطريقه للحصول على الصور
منتظر ردكم فى هذه المشكله وهل انا كدا شغال صح ام لا
وان كانت هناك طريقه افضل لتخزين البيانات الخاصه بعمليه التسطيب
كمثلا التعليمات والرخصه التى تكون فى بدايه التسطيب
هذه صور من عمل البرنامج
ان شاء الله المرحله القادمه هى عمليه انشاء الـ tool التى يكون مدخلتها ملف الـ jar الذى تريد تسطيبه
وتدخل الى هذه الـ tools وتضيف عليها هذه المراحل وتعود لك بملف jar اخر عندما تضغط عليه يقوم بهذه العمليات التى امامكم فى الصور
ربنا يسهل ان شاء الله
دعواتكم :)
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 25 نوفمبر 2010 في 19:55
معلش لدى استفسار معين
مِن مَن لديهم الخبره فى اللينوكس او انظمه التشغيل الاخرى
هل ينفع استخدم ملف .dll داخل هذه الانظمه
اصل انا البرنامج بتاعى علشان اعمل اختصار على سطح المكتب
بستخدم مكتبه اسمها JShortcut ولازم استخدم فيها هذا الملف
هل هذه الانواع من الملفات مدعمه فى الانظمه الاخرى
علشان نشوف حل فى عمليه الاختصار او نخصص البرنامج للويندوز بس
وشكرا :)
دعواتكم بقا علشان عندى امتحانات ![]()
وشغال فالموضوع دا ![]()
![]()
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 25 نوفمبر 2010 في 20:42
الملفات dll خاصة ب windows فقط.
اﻹختصارات في Gnome و KDE هي فقط ملفات نصية لديها هيكل معين والإمتداد desktop
كيف تنشئ اختصار shortcut لبرنامجك في سطح المكتب Gnome/KDE
يمكنك مثلا أن تسترجع مجلد المستخدم باستعمال user.home، داخل هذا المجلد يوجد المجلد Desktop الذي يمثل سطح المكتب، ثم تنشئ الإختصار داخل المجلد Desktop.
herch كتب:الملفات dll خاصة ب windows فقط.
اﻹختصارات في Gnome و KDE هي فقط ملفات نصية لديها هيكل معين والإمتداد desktop
كيف تنشئ اختصار shortcut لبرنامجك في سطح المكتب Gnome/KDE
يمكنك مثلا أن تسترجع مجلد المستخدم باستعمال user.home، داخل هذا المجلد يوجد المجلد Desktop الذي يمثل سطح المكتب، ثم تنشئ الإختصار داخل المجلد Desktop.
جزاكم الله خيرا اخى عصام
ولكن ماذا عن ذلك السوال
اقتباسعندى مشكله انى هاخزن البيانات بتاعت التسطيب فى ملف سميته install.ins
وقولت علشان اعرف اتعامل مع الملف من داخل الـ jar
قولت استخدمها كدا
getClass().getResource("/installjarfile/install.ins").getFile()داخل النت بينز شغال كويس جدا
لكن فى الـ jar file اللى بيكون داخل ملف الـ dist
مش شغال خالص مع انى لم فكيت ضغط الـjar لقيت الملف بداخله لكنه لم يحس بيه
مع العلم انى استخدم نفس الطريقه للحصول على الصور
منتظر ردكم فى هذه المشكله وهل انا كدا شغال صح ام لا
وان كانت هناك طريقه افضل لتخزين البيانات الخاصه بعمليه التسطيب
كمثلا التعليمات والرخصه التى تكون فى بدايه التسطيب
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 26 نوفمبر 2010 في 01:05
هذه الطريقة التي أستعمل للقراءة من ملف في ال jar
BufferedReader reader = new BufferedReader(new InputStreamReader(Main.class.getResourceAsStream("test.txt")));
System.out.println(reader.readLine());
...تم تعديل هذه المشاركة بواسطة herch في 26 نوفمبر 2010 في 01:35
herch كتب:هذه الطريقة التي أستعمل للقراءة من ملف في ال jar
BufferedReader reader = new BufferedReader(new InputStreamReader(Main.class.getResourceAsStream("test.txt"))); System.out.println(reader.readLine()); ...
انا فعلا كنت عاوز استخدم كدا
لكن لماذا الطريقه الاولى لم تعمل مع انها تعمل داخل النت بينز ولا تعمل داخل الـ jar file
هاعدل بقا الكود كله
وربنا يسهل ان شاء الله :)
شكرا اخ عصام
+++++++++++++++++++++++++
التعديل للرد بافاده الحل
تمام اشتغلت :)
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 26 نوفمبر 2010 في 01:55
+
dll in win >>> so in Linux
herch كتب:Main.class.getResourceAsStream("test.txt")
لكن ازاى من هذه الطريقه احصل على الـ path الخاص بهذا الملف ؟؟؟
حاولت كتير فى الموضوع دا لكن مفيش فايده
انا عاوز احصل على الpath لان عندى فى طريقه صنع الاختصار على سطح المكتب فى الويندوز استخدم مكتبه
تريد منى مسار الـملف jshortcut.dll فقط
ولكن من الصبح وانا عمال احاول انى احصل على مسار هذا الملف من داخل الـ jar file
واعتقد ان بعد ما اصحح هذا الخطأ يكون البرنامج جاهز للاستخدام باذن الله
وننزل نسخه منه ان شاء الله قريبا :)
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 26 نوفمبر 2010 في 16:58
myObj.class.getClass().getName
System.out.println("The name of class Foo is: "+Foo.class.getName());
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#getName()
هويدي كتب:myObj.class.getClass().getName
System.out.println("The name of class Foo is: "+Foo.class.getName());
شكرا يا اخى هويدى
بس مش دا اللى انا عاوزه
لكن الحمدلله تحايلت عليها باستخدام الـ temp files
وان شاء الله هاضع الملف للتجربه ان شاء الله :)
واظاهر هل هناك مشاكل ام لا
السلام عليكم
هذه هى نسخه تجريبيه من البرنامج
وهذا فقط هو الـ Installer وليس الـ Installer suit
لسه شغال فالـ Installer suit اللى هتاخد منك ملف الجار بتاعك وطلع لك ملف اخر قابل للتسطيب
لكن ازاى تشغل الملف دا
كل ما عليك هو وضع برنامجك تحت اسم test.jar على الـ D هكذا
d:/test.jar
وبعدها تشغل الملف بتاع التسطيب وهو هيقوم بالعمل
لتحميل الـ Installer و الكود بداخل الـ Jar File
حصل مشكله وتم التعديل عليها
ملف الجار فى الـمشاركه التاليه
ارجوا التجربه وابداء الاخطاء
والملاحظات
وشكرا
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 26 نوفمبر 2010 في 22:53
ملف الجار بعد التعديل عليه
النسخه
جربتها مع زمايلى والحمدلله كان فيه خطأ بسيط وتم حله
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 26 نوفمبر 2010 في 23:24
تقريبا الفكره لم تلقى اى اقبال
لكن ان شاء الله مصر على المتابعه
حتى ولو على سبيل التعلم والافاده
منتظر اى اخطاء او اقتراحات من الذين قاموا بتجربه البرنامج
وشكرا
