منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التثبيت الأوتوماتيكي التلقائي للملفات التنفيذية بعد التحزيم
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السّلام عليكم و رحمة الله و بركاته
سادتي الأفاضل .. هذه محاولة بسيطة لشرح تثبيت البرامج التنفيذية بشكل تلقائي أثناء تنصيب مشروعنا عند العميل .. لعلّها تفي بالغرض إن شاء الله لدينا على سبيل المثال ..الملف التّنفيذي للفريم وورك المشار إليه بالسّهم الأحمر و الكريستال ريبورت بالسّهم الأخضر .. مع ضرورة مراعاة التّسمية لهذيْن الملفيْن .. و وضعهما بمجلّد البرنامج ال  Debug .. أو بمكان آخر كالريسورس مثلاً

نفتح الستيب فاكتوري .. نختار التّبويب RESOURCES .. ثم DEPENDENCIES

من الصفحة المنبثقة .. نختار .. DEPENDENCIES ثم .. ADVANCED ثم CREATE NEW MODULE

نقوم بتسمية الموديل بنفس التّسمية الموجودة لديك .. أقصد تسمية ملف الفريم وورك

بمجرّد الضغط على OK .. ستنفتح لديك صفحة جديدة .. إضغط دوبل كليك على اسم الموديل الذّي قمت بإنشائه ..

في الصفحة المنبثقة .. نقوم باختيار التّبويب FILES .. لجلب مسار الفريم وورك الموديل
لا ننس كتابة اسم الموديل مثلما تشير الأسهم الحمراء و الضغط لظهور نافذة الحوار ..

و سيظهر المسار تلقائيا بعدما تمّ إختياره ..

الآن .. نرجع إلى أوّل خطوة .. و نختار RESOURCES .. ثم DEPENDENCIES ..

دوبل كليك على اسم الموديل ..

نختار التّبويب DETECTION .. و ننتبه للتّسميات مثلما تشير الصّورة أدناه .. و نقوم بزرع هذا السكريبت ..
كود :
كود :
function NET45FRAMEWORK_Installed()
            return false;
end


بجانب التّبويب FILES .. نختار التّبويب .. INSTALLATION .. و نزرع هذا السكريبت .. ننتبه لاسم الموديل ..

داخل هذا السكريبت الأخير .. لا ننسً كتابة اسم مجلّد الفريم وورك و الذي هو ..DEBUG .. و كذلك تسمية الموديل ..

كود :
كود :
function NET45FRAMEWORK()

end


    local bShowUserPrompt = false;
    local bRunInstallFile = true;
    local bRequirementFail = false;
    local tbRequirementFailStrings = {};



    local strRuntimeSupportFolder = SessionVar.Expand("%TempLaunchFolder%\\Debug");
    local strExtractInstallerToPath = strRuntimeSupportFolder.."\\NET45FRAMEWORK.exe";
    local strMessageFail = "";
    local _NeedsReboot = false;
    local strCmdArgs = "";
    local bSilentMode = false;
    local bVital = true;
        

    if(bShowUserPrompt)then
        local nDialogResult = Dialog.Message(strDialogTitle,strMessage,MB_OKCANCEL,MB_ICONEXCLAMATION);
        if(nDialogResult == IDOK)then

            bRunInstallFile = true;
        else

            bRunInstallFile = false;
            File.Delete(strExtractInstallerToPath);
        end
    end
    


        if(bRunInstallFile)then

            local nResult = File.Run(strExtractInstallerToPath, strCmdArgs, "", SW_SHOWNORMAL, true);
            File.Delete(strExtractInstallerToPath);

        

end

نفس الخطوات نقوم بها مع الملف الثاني .. ملف الكريستال ريبورت أو الريبورت فيور مثلا .. أو أي ملف تنفيذي آخر نريد إدراجه

فبمجرّد البدأ في تنصيب مشروعنا لدى العميل .. ستظهر نافذة هذين الملفيْن لتثبيتهما بشكل أوتوماتيكي..
بالتّوفيق للجميع ..
تحياتي

بارك الله فيك أخى عبد العزيز ماشاء الله فنان من يوم ما تشرفت بمعرفتك...
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و جزاك خير الجزاء أخي و أستاذي الكريم " أبو روضة "
تشرّفت بمرورك العطر الذّي نوّر الموضوع
تحياتي واحتراماتي
شكراً لك على الموضوع المميز

لدى إستفسار مجلد DEBUG
هيتم إضافة داخل برنامج setup factory
ام ماذا لان حاولت ولم ينجح الأمر معي

يوجد صور غير ظاهرة
برجاء جمع الموضوع فى ملف ورد او PDF
جزاك الله خيرا
السّلام عليكم و رحمة الله و بركاته
لا حظ أخي الكريم كمثال ..

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

لكن باقي الاضافات لم تعمل
أكتب لي أخي الكريم أسماء الملفات التنفيذية المراد تشغيلها
الأسماء بالضبط بدون أي إضافات ..
أو أرسل لي ملف الستيب فاكتوري بالإضافات فقط للتأكّد من التسميات لديك
تحياتي
تمام اخي تسلم
وشكرا على المساعده ومرورك الكريم

المشكلة كانت فى تسمية ملف ال Debug
كنت بضع اسم الإضافة
لكن لازلت مشكلة بيتم تخطي الكريستال ريبورت إمتداد الملف
Msi
ازاى احولهexe
لانه لم يعمل وحاولت اغير الامتداد ولم يفلح

او رابط إضافة كريستال ريبورت
13

شكرا لك اخي وأستاذي
عبد العزيز البسكري
تم حل المشكلة قمت بتحويل امتداد ملف الكريستال بإحدى البرامج

وتم العمل بنجاح

شكرا جدا لحضرتك على الاهتمام والرد والمساعدة
ربنا يبارك فيك

ملحوظة حل المشكلة ليستفيد بها الآخرين.
ملف الرن تايم الكريستال ريبورت بيكون بإمداد MSI
يجب تحويلة إلى إمتداد EXE
الحمد لله الذي بنعمته تتم الصالحات
أنا ذكرت ذلك بإحدى المشاركات السابقة ربما لم تنتبه لها أخي الكريم
http://vb4arb.com/vb/showthread.php?tid=34182
و البرنامج المذكور موجود على صفحتي الخاصة بالفور شيرد  منذ 2018
https://www.4shared.com/rar/i4GRDhLAee/M...ERTER.html
تحياتي واحتراماتي