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

نام تاپیک: درست کردن برنامه‌ای برای برچیدن نرم‌افزار نصب شده

  1. #1

    درست کردن برنامه‌ای برای برچیدن نرم‌افزار نصب شده

    با سلام

    اگر از ویزارد Package ساز VB برای ساخت بسته نصب برنامه استفاده کنیم موقع نصب مجدد یک برنامه ابتدا اقدام به Remove نسخه قبلا نصب شده نمی‌کند.
    چطوری می‌شه یک برنامه مستقل برای Remove این جور نرم‌افزارهای نصب شده ساخت.

    با تشکر

  2. #2
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524
    نقل قول نوشته شده توسط A.Farzin مشاهده تاپیک
    با سلام

    اگر از ویزارد Package ساز VB برای ساخت بسته نصب برنامه استفاده کنیم موقع نصب مجدد یک برنامه ابتدا اقدام به Remove نسخه قبلا نصب شده نمی‌کند.
    چطوری می‌شه یک برنامه مستقل برای Remove این جور نرم‌افزارهای نصب شده ساخت.

    با تشکر
    Package خود وی بی این قابلیت رو نداره. باید نسخه قبلی را ابتدا Remove و نسخه جدید را نصب کنید.

  3. #3
    راهش را پیدا کردم ولی نمی‌دانم آن را چطوری اجرا کنم.

    همراه با نصب بسته تولید شده با Package & Deployment Wizard یک فایل به نام ST6UNST.EXE نصب می‌شود که در واقع وظیفه برچیدن نرم‌افزار را می‌تواند انجام دهد.
    برای برچیدن نرم‌افزار کافی است در خط فرمان Command Line و یا در کنسول Run وارد کنم
    G:\WINDOWS\st6unst.exe -n "G:\Program Files\AIS-Soft\ST6UNST.LOG"

    ولی نمی‌دانم این دستور خط فرمانی را چگونه در دل برنامه پیاده سازی کنم. از چه توابع API باید استفاده کنم.
    از دو تابع API به نامهای SHFileOperation و ShellExecute هم استفاده کردم نشد و هر دوی این توابع روی سوئیچ‌های این دستور خطا می‌گرفت. اگر سوئیچ‌ها را حذف کنم، APIها فایل st6unst.exe را به درستی اجرا می‌کنند ولی متاسفانه برای صحت کارکرد آنها نیاز به این سوئیچها است و بدون آنها فایده ندارد.

    این ارسال هم در همین زمینه بود
    http://www.barnamenevis.org/sh...ad.php?t=57427
    اگر از دوستان کسی راهنمایی کند ممنون می‌شوم

  4. #4
    کاربر دائمی آواتار sjj
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    ایران
    پست
    304
    از دستور Shell استفاده کردید ؟

  5. #5
    شما میخوای این خط رو از داخل یک برنامه ویژال بیسیک اجرا کنی. خب از دستور Shell استفاده کن.
    ضمنا یادآور شوم مایروسافت سورس برنامه Setup رو در اختیار گذاشته در این مسیر.
    Drive:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Setup1


    یک جواریی تو همین سورس دستکاری کن و دستور بالا رو بکار ببر. بعد میتونی سورس رو EXE کنی در این مسیر جایگزین فایل اصلی Setupکنی:(فایل با نام Setup1 هست که برنامه های VB رو نصب میکنه).
    Drive:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard

    حواست باشه قبلا از Setup1 تو مسیر بالا یک بک آپ بگیری.

  6. #6
    با سلام
    من اقدام به دستکاری پروژه Setup1 نمودم ولی دیدم مکان کنترلها قابل تغییر نیست. مثلا یک کلید که در سمت چپ قرار گرفته را می‌خواهم به سمت چپ فرم منتقل کنم.

    چرا جای قرارگیری کنترلهای موجود روی فرمهای پروژه Setup1 را نمی‌شود تغییر داد. مثل اینکه در جای خوشان قفل شده‌اند؟

    با تشکر

  7. #7
    نقل قول نوشته شده توسط A.Farzin مشاهده تاپیک
    با سلام
    من اقدام به دستکاری پروژه Setup1 نمودم ولی دیدم مکان کنترلها قابل تغییر نیست. مثلا یک کلید که در سمت چپ قرار گرفته را می‌خواهم به سمت چپ فرم منتقل کنم.

    چرا جای قرارگیری کنترلهای موجود روی فرمهای پروژه Setup1 را نمی‌شود تغییر داد. مثل اینکه در جای خوشان قفل شده‌اند؟

    با تشکر
    هااااااااااااااااااا !!!؟

    خب فرمهای این سورس برای Edit قفل شده. شما ابتدا پس از باز کردن فرم و قبل از تغییر در کنترلها از منوی Fromat گزینه Lock Controls که فعال هست غیر فعال کنید.
    در ضمن توصیه میکنم اگر مبتدی هستید فقط به گذاشتن یک خط کد (Shell) در روال Form_Load از فرم frmSetup1 بسنده کنید. چون علاوه بر کدهای پیچیده‌ای که داره نیاز به یک سری فایل جانبی هم برای اجرا داره.

    موفق باشید.

  8. #8
    با سلام و تشکر

    از راهنمایی شما بسیار سپاسگزارم چون با کمک همین راهنمائیهای شما توانستم علاوه بر گنجاندن دستور مورد نیاز برای برچیدن نسخه قبلاً نصب شده، تقریباً تمامی پیغامها (غیر از آنهایی که مربوط به توزیع بسته به وسیله فلاپی می‌شد) را فارسی کنم. به این مورد تا حالا بر نخورده بودم.
    در هر حال از راهنمائی شما باز هم متشکرم
    ممنون

  9. #9
    با سلام مجدد

    برنامه Setup فوق قرار است روی کامپیوتری اجرا شود که کلاینت شبکه بوده و حساب کاربری مورد استفاده کاربر آن از نوع User تعریف شده است و اجازه Add/Remove کردن برنامه‌ها را ندارد.
    طریقه اجرای برنامه Setup هم به این شکل خواهد بود که کاربر یک نرم‌افزاری را اجرا خواهد کرد. این نرم‌افزار ابتدا اقدام به تطبیق نسخه خود با نسخه برنامه نصب که در دسترس برنامه است خواهد کرد. چنانچه شماره نسخه برنامه قدیمی‌تر از نسخه برنامه نصب باشد، آنگاه دستور اجرای برنامه Setup از دل همان نرم‌افزاری صادر خواهد شد که توسط کاربر قرار است اجرا شود. مشکل اینجاست که این کاربر اجازه برچیدن و نصب ندارد.
    آیا نمی‌توان از طریق دستورات Shell به ویندوز فهماند که درست است کاربر فعلی اجازه نصب و برچیدن ندارد ولی شما فقط این برنامه را با سطح دسترسی Administrator اجرا کن؟
    با تشکر

  10. #10
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524
    نقل قول نوشته شده توسط A.Farzin مشاهده تاپیک
    با سلام مجدد

    برنامه Setup فوق قرار است روی کامپیوتری اجرا شود که کلاینت شبکه بوده و حساب کاربری مورد استفاده کاربر آن از نوع User تعریف شده است و اجازه Add/Remove کردن برنامه‌ها را ندارد.
    طریقه اجرای برنامه Setup هم به این شکل خواهد بود که کاربر یک نرم‌افزاری را اجرا خواهد کرد. این نرم‌افزار ابتدا اقدام به تطبیق نسخه خود با نسخه برنامه نصب که در دسترس برنامه است خواهد کرد. چنانچه شماره نسخه برنامه قدیمی‌تر از نسخه برنامه نصب باشد، آنگاه دستور اجرای برنامه Setup از دل همان نرم‌افزاری صادر خواهد شد که توسط کاربر قرار است اجرا شود. مشکل اینجاست که این کاربر اجازه برچیدن و نصب ندارد.
    آیا نمی‌توان از طریق دستورات Shell به ویندوز فهماند که درست است کاربر فعلی اجازه نصب و برچیدن ندارد ولی شما فقط این برنامه را با سطح دسترسی Administrator اجرا کن؟
    با تشکر
    نخیر اگه اینطوری بود دیگه ادمین معنا نداشت.
    شما تنها یک راه داری. اونم اینکه فقط فایل اجرایی برنامه (EXE) را از برنامه نصب بریزی در مسیری که برنامه قبلا نصب شده. یعنی فقط فایل EXE جایگزین قدیمی شود.
    این در صورتی عملی هست که DLL یا OCX جدیدی برای برنامه‌ی جدید استفاده نکرده باشی.

    شما اگه میخوای فقط تغییرات و اصلاحات یک یا چند فایل که نیاز رجیستر ندارند (مثل فایا اصلی برنامه EXE) رو بروز کنی، به جای ست آپ سرویس پک درست کن و بفرست. آدرس برنامه قبلی رو از رجیستری بگیر و فایلهای جدید رو جایگزین کن.
    .
    .
    .

  11. #11
    با تشکر
    شیوه کار برنامه، در حال حاضر، به همان ترتیبی است که فرمودید، یعنی کپی کردن نسخه جدید فایل اجرایی روی نسخه قبلی آن. ولی به دنبال اینم که بتوانم در چنین شرایطی Setup را Run کنم.
    به نظرم چنین می‌رسد که می‌توان به Shell فهماند که دستوری را با سطح دسترسی مدیر سیستم اجرا کند و اگر این چنین کاری با تطبیق UserName و Password یکی از کاربران عضو گروه Administrators صورت گیرد، کجای کار با فلسفه ایجاد ادمین تعارض خواهد داشت.
    در هر حال از پاسخی که دادید ممنونم - موفق باشید

  12. #12
    کاربر دائمی آواتار Payam Moradi
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    بيرجند
    سن
    40
    پست
    524
    نقل قول نوشته شده توسط A.Farzin مشاهده تاپیک
    با تشکر
    شیوه کار برنامه، در حال حاضر، به همان ترتیبی است که فرمودید، یعنی کپی کردن نسخه جدید فایل اجرایی روی نسخه قبلی آن. ولی به دنبال اینم که بتوانم در چنین شرایطی Setup را Run کنم.
    به نظرم چنین می‌رسد که می‌توان به Shell فهماند که دستوری را با سطح دسترسی مدیر سیستم اجرا کند و اگر این چنین کاری با تطبیق UserName و Password یکی از کاربران عضو گروه Administrators صورت گیرد، کجای کار با فلسفه ایجاد ادمین تعارض خواهد داشت.
    در هر حال از پاسخی که دادید ممنونم - موفق باشید
    شما اصلا در ست آپ تغییری نده و پسورد ادمین رو برنامه نبر. کار راحت:
    رو آیکون Setup راست کلید کن و گزینه Run As رو بزن و در دیالوگ باز شده گزینه The following User: را انتخاب و یوزر ادمین و پسوردش رو بده و OK.
    بهر حال بد نبود که بگم.

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

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