نمایش نتایج 1 تا 21 از 21

نام تاپیک: منتشر کردن برنامه های Visual stdio 2005

  1. #1
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    Tick منتشر کردن برنامه های Visual stdio 2005

    با سلام :

    پس از اینکه برنامه های حاصل از mfc رو در ویژوال استدیو رو بخواهیم در کامپیوترهای دیگه هم منتشر کنیم دقیقا به چه چیزایی نیاز داریم ؟ اول بگید این سه dll کافیه ؟
    MFC42.dll
    MFCD42.dll
    MSVCRT.dll

    ضمنا dll ها و Activex ها رو در کامییوتر میزبان (target computer) چطور رجیستر کنم ؟ (بدون استفاده از regsvr32) .

    و سه تا سوال دیگه ؟

    فایلهایی رو که برنامه به اونها نیاز داره رو چطور آدرس دهی کنم ؟ یعنی در حقیقت میخوام این رو بدونم :
    فرض کنیم چند تا فایل صوتی هستش که یک اکتیوایکس مثل mci32 قراره در برنامه اونها رو در صورت لزوم پخش کنه . . . آدرس فایلها رو در کامپیوتر میزبان چطور برای اکتیوایکسم مشخص کنم ؟

    یکی از دوستانم میگفت که در کامپیوتر میزبان اگه در path سیستم فایلهای خودمون رو کپی کنیم مشکلی در آدرس دهی نخواهیم داشت (و همچنین استفاده از Environment Variables در قسمت Advanced در My computer ) . خوب . . . یک فایل نصبی چطور این مسیر رو پیدا میکنه ؟

    در مورد static linking هم چیزایی شنیدم . آیا این روش رو توصیه میکنید ؟

    و در آخر اینکه :
    Bitmap ها و آیکنها هم نیاز به آدرس دهی دارند ؟ خوب فایل exe ما یه جورایی باینری شده . . . میخواستم بدونم آیا نیاز به آدرس دهی مجدد دارند ؟

    با تشکر

  2. #2
    اگر از برنامه های نصب استفاده می کنید، کل فایلهای msm برای CRT و MFC را به برنامه اضافه کنید، برای کپی دستی بستگی به نسخه کامپایلر و امکاناتی که از آن ها استفاده کرده اید دارد، برای اطلاعات بیشتر در مورد dll های قابل انتشار به فایل Redist.txt در فولدر Visual Studio بروید و آن ها را مشاهده کنید.

    برای dll ها اکثرا کپی کردن آن ها در فولدر برنامه یا شاخه system32 کفایت می کند و کار خواصی نیاز نیست، اما برای سایر موارد و ActiveX هایی که نیاز به رجیستر شدن دارند از همان regsvr32.exe با استفاده از دستور ( )system در C برای اجرای command استفاده کنید.

    برای Environment Variables و PATH می توانید از رجیستری و یا اجرای دستورات command به شکل قبل استفاده کنید، صفحه زیر را مشاهده کنید:
    http://vlaurie.com/computers2/Articles/environment.htm

    Bitmap ها و آیکنها هم نیاز به آدرس دهی دارند ؟
    کلا فایل هایی که به عنوان resource به برنامه اضافه شده اند در داخل فایل exe شما قرار می گیرند و نیاز به مسیر دهی ندارند، اما در سایر موارد چه فیلم ، چه عکس و هر فایل دیگری که در داخل کدها به آن ها مسیر داده اید باید در مسیر مشخص و ثابتی کپی شوند، مثلا در فولدری در کنار فایل اجرایی شما:

    "..\\images\\pic1.bmp"

  3. #3
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372
    اگر از برنامه های نصب استفاده می کنید، کل فایلهای msm برای CRT و MFC را به برنامه اضافه کنید
    من قصد دارم از امکانات خود visual stdio بهره ببرم یعنی در حقیقت میخواهم از setup and deployment در خود ویژوال استدیو استفاده کنم .
    فایلهای msm ؟ منظورتون دقیقا چیه ؟

    برای اطلاعات بیشتر در مورد dll های قابل انتشار به فایل Redist.txt در فولدر Visual Studio بروید و آن ها را مشاهده کنید.
    این کار رو کردم .و اینها رو دیدم :


    msjet35.dll
    msjint35.dll
    msjter35.dll
    msrd2x35.dll
    msrepl35.dll
    expsrv.dll
    vbajet32.dll
    msexch35.dll
    msexcl35.dll
    mspdox35.dll
    msltus35.dll
    mstext35.dll
    msxbse35.dll
    MSJTOR35.DLL
    MSJT4JLT.DLL
    mdac_typ.exe
    msorcl32.dll
    msdaora.dll

    خوب یعنی منظورتون اینه که اینها باید روی کامپیوتر هدف کپی شن ؟

    برای dll ها اکثرا کپی کردن آن ها در فولدر برنامه یا شاخه system32 کفایت می کند و کار خواصی نیاز نیست
    شاخه سیستم رو مثل شکل زیر تعیین کنم و در اون فایلها رو کپی کنم ؟



    اما برای سایر موارد و ActiveX هایی که نیاز به رجیستر شدن دارند از همان regsvr32.exe با استفاده از دستور ( )system در C برای اجرای command استفاده کنید.
    منظورم روش دستی این کار نیست میخوام بدونم که در یک فایل نصبی که خودکار این کارها رو انجام میده چطور رجیستر شدن یک اکتیوایکس رو اعمال کنم ؟

    در مورد فایلها هم یک چیزی رو متوجه نمیشم :
    شما خوتون به این صورت نوشتید :

    "..\\images\\pic1.bmp"

    من هم مشکلم تو همین دو نقطه ای هست که در اول آدرس گذاشتید مثلا اکتیوایکسی که دستوری مثل open داره در برنامه چه کدی رو قرار بدم ؟

    .open(“???”);متغیر کنترل

    اگه توضیح بیشتری بدید ممنون میشم .
    عکس های ضمیمه عکس های ضمیمه

  4. #4
    من قصد دارم از امکانات خود visual stdio بهره ببرم یعنی در حقیقت میخواهم از setup and deployment در خود ویژوال استدیو استفاده کنم .
    فایلهای msm ؟ منظورتون دقیقا چیه ؟
    اگر از setup خود VُS استفاده می کنید، بعد از اضافه کردن فایل اجرایی برنامه خودش اتومات نیازمندی ها تشخیص می دهد و msm ها را به setup اضافه می کند تا در هنگان نصب بدون هیچ کاری اتومات در ویندوز نصب شوند. نیاز به مسیر دادن نیز نیست.

    خوب یعنی منظورتون اینه که اینها باید روی کامپیوتر هدف کپی شن ؟
    فقط dll های MFC و CRT که مسیرشان در آن فایل ذکر شده است نه همه DLL های ذکر شده در آن فایل.
    ضمنا اصلا نیازی به کپی کردن دستی dll ها MFC و CRT نیست، پروژه setup خودش تشخیص می دهد و اضافه می کند (همانطور که در مورد قبل توضیح داده شد)،
    در هر حال خودتان می توانید در فولدری که فایل exe قرار دارد dll ها مورد نظر را دستی کپی کنید (البته نه در ویندوز) که نیاز نیست.

    شاخه سیستم رو مثل شکل زیر تعیین کنم و در اون فایلها رو کپی کنم ؟
    اجباری نیست dll ها غیر سیستمی در شاخه های ویندوز کپی شود، کپی کردن در فولدری که فایل exe قرار دارد کافیست.
    در هر حال بله اگر خواستید به همان شکلی که در عکس نشان داده اید نیز درست هست.

    منظورم روش دستی این کار نیست میخوام بدونم که در یک فایل نصبی که خودکار این کارها رو انجام میده چطور رجیستر شدن یک اکتیوایکس رو اعمال کنم ؟
    اطلاع ندارم، احتمالا باید از اسکریپت نویسی و یا ساختن کلید های رجیستری در پروژه Setup این کار را انجام دهید که آسان نیست.

    من هم مشکلم تو همین دو نقطه ای هست که در اول آدرس گذاشتید مثلا اکتیوایکسی که دستوری مثل open داره در برنامه چه کدی رو قرار بدم ؟
    "..\\images\\pic1.bmp"
    \\.. یعنی اینکه مسیر فولدر کنونی که فایل exe قرار دارد.

     ..\\pic1.bmp
    open(“..\\pic1.bmp"); // just for example



    مسیر فوق یعنی فایل در فولدر فایل اجرایی، چیز سختی نیست ...

  5. #5
    من هم با مشکلی مشابه مواجه شدم یعنی برنامه هایی که با visual C++‎ ایجاد میکنم روی کامپیوتر های دیگه اجرا نمیشه . ممکنه
    راهنمایی بدید چطور میتونم اونا رو در کامپیوتر های دیگه هم اجرا کنم ؟
    با این ارور مواجه میشم :

    this appllication has faild to start because the application configuration is
    incorrect.reinstalling the application may fix this problem.

  6. #6
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372
    ببينيد من هم با خطايي مشابه مواجه بودم (و هستم ) در هر حال مشکلات زيادي ميتونن دخيل باشند من با ويژوال استديو به جرات ميتونم بگم يک پروژه رو سي چهل بار کامپايل کردم ، حالات مختلفي رو تست کردم ، dll هاي مختلفي رو که در فايل redist.txt بود رو
    کنار فايلم کپي کردم فايلهاي msm که در موردشون بحث شد رو به پروژم اضافه کردم ، اما نشد که نشد . . . اما فکرايي دارم که در زير بهشون اشاره ميکنم :

    فقط به عنوان چند تا راهنمايي عرض ميکنم :

    سيستم هدف را هم در نظر بگيريد که معمولا با پردازنده هاي x86 سر و کار داريم.

    چيز ديگه اي که هنوز خودم آزمايش نکردم (و البته اميد زيادي بهش دارم ) استفاده از ابزاري هست که در ويژوال 6 وجود داره

    Star menu – Microsoft visual stdio 6.0 - Microsoft visual stdio 6.0 Tools – Depends

    Depends ابزاري است که توسط آن شما ميتوانيد dll هاي وابسته به يک فايل exe رو پيدا کنيد

    عکس زير محيطي از اين برنامه را نشان ميدهد که من فايل Test.exe (که توسط mfcساخته بودم) را توسط اين برنامه باز کردم . . .


    احتمالا با اين ابزار در کامپيوتر هدف ميتونين dll هايي رو که در اونجا نيستند رو شناسايي کنيد .
    موفق باشيد
    عکس های ضمیمه عکس های ضمیمه

  7. #7
    خوب من هم سعي ميکنم از اين ابزار استفاده کنم اگه شما موفق به اجرا شديد لطفا بي اطلاع نگذاريد

  8. #8
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    منتشر کردن برنامه های Visual stdio 2008

    من vc ورژن RTM 9.0.21022 را دارم .لطفا بگید کدام کدام فایل vcredist_x86 باید دانلود شود تا برنامه من
    در target های دیگر اجرا شود ؟
    از کجا بدانم سرویس پک نصب شده است یا نه ؟
    و چگونه فایل مطابق با ورژن vc خودم را پیدا کنم ؟ سوال من این است : آیا برای ورژن های مختلف vc فایلهای متفاوت vcredist_x86 موجود است ؟
    با جستجو در Microsoft (وهمچنین با کمک مدیر بخش) چند فایل را پیدا کردم که نصب آنها هم هیچ تاثیری ندارد.
    یعنی این لینک ها (البته لینک sp1 را چک نکردم.)

    link1
    link2
    البته به دیلیل داشتن اینترنت dialup قادر نیستم همه فایلها را تک تک دانلود کنم و همه آنها را تست کنم.
    برای آزمایش از برنامه هایی که مدیر بخش در لینک (برنامه های کوچک و کاربردی ...) مثل این را به همراه دانلود و نصب بسته مورد نظر در VMvare اجرا کردم که در آنجا اجرا شدند. اما برای اجرای برنامه های mfc هنوز مشکل دارم.

    لطفا راهنمایی بدید.

  9. #9

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    سرویس پک ها را باید خودتان جداگانه نصب کنید، پس اگر نکرده اید همان نسخه اصلی است.
    در همان دیالوگ about نیز اگر نصب کرده باشید می نویسد که نسخه VC9 SP1 هست که برای شما نوشته نشده است پس همان معمولی است.
    اما با هم نمی توان دقیق گفت که dll های شما چه نسخه ای است، ممکن است با windows update نسخه جدیدتر را گرفته باشید یا موارد مشابه. چرا که حتی تاریخ dll ها مهم است.

    پس:
    1) سعی کنید برای vcredist_x86 از Setup VC استفاده کنید تا vcredist_x86 رابا توجه به نسخه کاری VC برایتان بسازد (به صورت فایل جداگانه از setup.exe) و سپس از آن استفاده کنید. پس نیاز نیست از اینترنت دانلود کنید.

    2) یا کلا برای انتشار setup بسازید

    3) یا dll های مورد نیاز را از فولدر VC/redist کپی کنید کنار فایل اجرایی.

    در هر حال از نسخه مناسب VC خودتان استفاده کنید و زیاد در اینترنت دنبال بسته نباشید.

  10. #10
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    نقل قول: منتشر کردن برنامه های Visual stdio 2008

    سلام
    با تشکر از شما

    فايل vcredist_x86.exe را توسط vc ساختم اما باز هم در target اجرا نشد .در نهايت به صورت تصادفي مسئله اي به ذهنم رسيد که منجر شد بتوانم جواب بگيرم و اون چیزی بود که واقعا من نميدونستم :

    فايل مورد نظر بايد در مد release کامپايل شود و نه در مد Debug



    آیا شما این گفته را قبول دارید ؟ چون در برنامه ای که دارم و به دلیل استفاده از dll نمی توانم آن را بصورت Release کامپایل کنم . آیا در حالت دیباگ هم میتوان آن را منتشر کرد ؟

    آخرین ویرایش به وسیله A_Salimi : یک شنبه 26 آبان 1387 در 23:40 عصر

  11. #11

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    سوال عجیبی بود!
    Debug فقط در سیستم هایی اجرا می شود که ++VC در آن نصب شده باشد و dll های مخصوص debug (که هم کندترند و هم سنگین تر) در آنجا نصب شده باشد.

    همیشه وقتی کار debug برنامه تمام می شود باید برنامه را release کنید. debug ،نسخه کامپیوتر خودتان هست تا اشکالات احتمالی را برطرف کنیم. علاوه بر آن حجم فایل اجرایی در مد debug چند برابر حالت معمول است. برنامه بدون release برنامه نیست.

    منظورتان را از "به دلیل استفاده از dll نمی توانم آن را بصورت Release کامپایل کنم" متوجه نشدم. فرق چندان خاصی بین آن دو در کامپایل وجود ندارد.

  12. #12
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    نقل قول: منتشر کردن برنامه های Visual stdio 2008

    منظورتان را از "به دلیل استفاده از dll نمی توانم آن را بصورت Release کامپایل کنم" متوجه نشدم. فرق چندان خاصی بین آن دو در کامپایل وجود ندارد.
    موضوع دقیقا از این قرار است که در زیر میگم :

    زمانی که تازه برنامه نویسی را شروع کرده بودم ، بنده خدایی برای اینکه من بتوانم shamsi.dll را در برنامه ام صدا بزنم روش زیر را پیشنهاد کرد :

    در این روش توسط CLR یک warrper برای آن ایجاد میشد که ترکیبی از ManagedCode و
    UnmanagedCode است.

    يعني

    یعنی Common Language Runtime Support را روی Common Language Runtime Support

    (/clr)i
    قرار مي گیرد.

    و در ادامه dll را به صورت دستی از طریق منوی project و properties .... اضافه میکردم .

    و با کدهایی نظیر

    using namespace ShamsiDLL;
    این dll کاملا کار میکرد.

    واقعیتش من قبل از اینکه روش استفاده با vcredist_x86 را فرابگیرم اونها را به صورت static لینک میکردم .

    ولی در این برنامه با توجه به شرایطی که گفتم نه برنامه static لینک میشه و نه با استفاده از vcredist_x86 .

    حالا به نظر شما آیا این روش اشکال دارد و همچنین آیا راهی برای کامپایل برنامه به صورت قابل اجرا در target های دیگر وجود دارد ؟

  13. #13

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    shamsi یک dll از نوع شئی COM هست، من اگر جای شما بودن می رفتم به سراغ اینکه نحوه کار کردن با COM را در MFC یاد بگیرم و سپس آن را استفاده کنم. پروژه را هم به CLR تبدیل نمی کردم.
    وقتی شما پروژه را به CLR تبدیل کردید، یعنی برنامه شما از Native خارج شده و باید NET Framework. را هم در سیستم هدف نصب کنید.

    برای یک مثال

  14. #14
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    به دليل دشواري استفاده از COM از اين روش استفاده كردم .

    به عنوان آخرين سوال :

    آيا استفاده از CLR دليلي براي Relese نشدن پروژه است ؟ مي خواهم بدانم چرا با اين روش نه استاتيك كامپايل ميشود و نه Relese ميشود؟

    با تشكر

  15. #15

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    شما در properties پروژه باید همانطور که در مد debug کتابخانه ها را به linker اضافه کردید و CLR را فعال کردید، در حالت انتخابی release نیز مجددا این اعمال را انجام دهید. هر کدام تنظیمات خودش را دارد.

  16. #16
    کاربر دائمی آواتار A_Salimi
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    North khorasan-Esfarayen
    پست
    372

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    دقیقا همون طوری که شما گفتید بود. و پروژه بصورت Relese هم کامپایل شد.

    معذرت ، قرار بود پست قبلی سوال آخر باشه .در هر حال شما که همیشه به ما لطف دارید در صورت امکان به این چند سوال دیگر من هم اگر مقدور بود پاسخ دهید :

    سوال 1 –

    شما گفتید که برای اجرای clr به نصب دات نت فریم ورک در کامپیوتر Target نیاز داریم .الان در Add or Remove programsدر کنترل پنل من سه تا ورژن مختلف از دات نت فریم ورک نصب است شکل زیر :



    در کامیوتر میزبان کدام را نصب کنم ؟

    ضمن اینکه درproperties پروژه من ورژن دو را مطابق شکل زیر دیدم .آیا همین نسخه مورد نیاز است ؟



    سوال 2 –

    آیا این نسخه هم توسط vc باید ساخته شود ؟

    من با توجه به شکل نسخه مورد نیاز را میسازم :



    پوشه ای به نام DotNetFX ساخته ميشود که حاوي چند فايل است .آیا روش فوق درست است و نیازی به اضافه کردن مورد دیگری نیست ؟

    سوال 3 :

    گاهی پیش می آید که از Activex ی به صورت تصادفی استفاده میکنم و مثلا برای نمایش یک عکس از آن بهره می برم (مثلا با دیدن کلمه image در نام آن اکتیوایکس ).سوالی که پیش می آید این است که خود آن Activex را چطور در سیستم پیدا کنم تا در کامپیوتر مقصد کپی و رجیستر کنم ؟ منظورم این است که در لیست اکتیوایکسها ما فقط اسم آنها را می بینیم از کجا بدانیم که هر اکتیوایکس با چه اسمی و در کجای سیستم ذخیره شده است ؟

    با تشکر

  17. #17

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    1- دقیقا همان نسخه ای که در properties پروژه شما تعیین شده است و پروژه شما بر اساس آن کامپایل می شود، که برای شما .NET 2 است، پس همان را در setup اضافه کنید.

    2- بله همین کار کافیست، فقط یک برنامه نویس خوب باید جدیدترین بسته .NET را از اینترنت دریافت کند. از طریق آن گزینه آبی با عنوان ...check Microsoft update for more می توانید به سایت اصلی رفته و جدید ترین بسته bootstrapper packages را برای .NET دانلود کنید تا امنیت و خطاها برای کاربر شما نیز برطرف شود (در حال حاضر جدید ترین نسخه بسته SP2 برای .NET 2 است)، اگر هم خیلی ضروری نیست از همان نسخه داخلی VC که تیک زدید استفاده کنید و دانلود نکنید.

    3- دقیق نمی دانم، معمولا وقتی از چیزی استفاده می کنیم باید بدانیم از کجا نصب می شود، مثلا از flash باشد می دانیم که باید به کاربر بگوییم Flash را نصب کند، یا مثلا quick-time را، یا ....

  18. #18

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    درود
    من تازه کار هستم و زیاد از اطلاعات این تاپیک سر در نیاوردم!!
    اگه امکان داره یه توضیح ساده بدید!
    میخوام کدهای C++‎ که با vs2010 نوشتم رو به برنامه نصبی یا فایل اجرایی تبدیل کنم(دیگه dll کپی نکنم)

  19. #19
    کاربر دائمی آواتار ASGGSA
    تاریخ عضویت
    دی 1390
    محل زندگی
    همین نزدیکی ها
    پست
    128

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    سلام.
    شما در منو Build در قسمت Configuration Manager باید حالت Release را انتخاب کنید و بعد بوسیله کلیدهای Ctrl+F5 خروجی برنامتون رو بگیرید. حالا بروید در فولدر پروژتون در فولدر Release فایل EXE برنامتون را بردارید و روی هر کامپیوتری که خواستید اجراش کنید.
    موفق باشید.

  20. #20
    کاربر دائمی آواتار ASGGSA
    تاریخ عضویت
    دی 1390
    محل زندگی
    همین نزدیکی ها
    پست
    128

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    سلام.
    خوب دوست عزیز زودتر بگو می خوام Setup بسازم. بعد از اجرای Visual ، در منو File گزینه New و بعد New Project رو انتخاب کن در این پنجره که ظاهر می شه Other Project Types رو انتخاب بعد گزینه Setup and deployment را انتخاب کن حالا باید Setup project رو انتخاب کنی بعد از وارد کردن name و Location دکمه OK رو بزن.
    حالا در قسمت Solution Explorer می توانی User Interface Editor را انتخاب کنی و مراحل نصب یه برنامه رو بوسیله Properties تغییر بدی و برای وارد کردن فایل های برنامت باید در همان قسمت قبلی File System Editor را انتخاب کنی که در اینجا مکان ها را به شما نشان می دهد( مثلاً دسکتاپ یا prgrams menu ) که تعیین می کنی برنامت در کجا ها کپی بشه. البته خیلی آسونه یکمی کار کنی یاد می گیری و من هم نمی تونم اینجا همه را برات توضیح بدم. اگه بازم به مشکلی برخوردی بپرس.
    موفق باشی.

  21. #21

    نقل قول: منتشر کردن برنامه های Visual stdio 2005

    سلام
    یک سوال در رابطه با کامپایل برنامه دارم.

    خیلی از برنامه ها را دیده ام که برای اجرا شدن و حتی نصب شدن نیاز به نت فروم ورک دارند.

    حالا سوال من اینه که می تونیم برنامه را به گونه ای منتشر کنیم که نیازی به نت فروم ورک نداشته باشه و کد هایی که ازش استفاده کرده به خود برنامه اضافه بشه؟

    ممنون

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •