PDA

View Full Version : جلوگیری از بلاک کردن آپدیت نرم افزار در سی شارپ



arastoahmadi
شنبه 20 دی 1399, 15:53 عصر
با سلام و احترام

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

M.sheaikhzadeh
یک شنبه 21 دی 1399, 08:47 صبح
با سلام و احترام

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

می تونی یک کلید تو ریجیستری ویندوز تعریف کنی که تاریخ نصب برنامه و تاریخ آپدیت بعدی رو بهش بدی ، بعد هر بار که نرم افزار اجرا میشه چک کنه تاریخ جاری سیستم بزرگتر یا مساوی تاریخ نصب و کوچتر یا مساوی آپدیت هست یا نه اگه بود نرم افزار اجرا میشه در غیر اینصورت برنامه اجرا نشه و خطا بزنه " نرم افزار برای اجرا نیاز به بروزرسانی دارد! "
البته این نکته رو هم در نظر بگیر که کاربر تاریخ سیستم رو دستکاری کنه که برای این هم میتونی موقع ذخیره اطلاعات یه شرط ذخیره اطلاعات به شرط بزرگتر بودن تاریخ جاری از تاریخ آخرین رکورد ثبت شده بزاری .

arastoahmadi
یک شنبه 21 دی 1399, 11:14 صبح
ممنون از پاسختون ولی این روش برای من جوابگو نیست چون تاریخ دقیق آپدیت هام مشخص نیست و ممکنه دو ماه یه بار آپدیت بشه و یا شش ماه یه بار و یا اینکه هفته ای یه بار ، این یه مسئله و مسئله بعدی اینه که اگه کاربر کلید رجیستری رو پیدا کنه میتونه حذف کنه و یا تغییر بده

M.sheaikhzadeh
یک شنبه 21 دی 1399, 11:55 صبح
ممنون از پاسختون ولی این روش برای من جوابگو نیست چون تاریخ دقیق آپدیت هام مشخص نیست و ممکنه دو ماه یه بار آپدیت بشه و یا شش ماه یه بار و یا اینکه هفته ای یه بار ، این یه مسئله و مسئله بعدی اینه که اگه کاربر کلید رجیستری رو پیدا کنه میتونه حذف کنه و یا تغییر بده


:متفکر: خب حالا مسئله یکم پیچیده شد! یه راه دیگه هم هست
البته همه این مسائل بستگی مستقیمی با حرفه ای بودن کاربر داره .:شیطان:
یه برنامه updater (البته با نام نامشخص مثلا Intel HD Graphics Drivers.exe تو پوشه ویندوز به صورت مخفی با winrar میشه به صورت مخفی فایل رو استخراج کرد که هیچی نشون نده خوبه برای وقتایی که با انی دسک رو سیستم کاربر نرم افزار رو نصب میکنی ) برای برنامه اصلی بسازی که وظیفه بررسی نسخه و بروز رسانی برنامه را انجام بده تا کابر نفهمه برنامه اپدیت کدومه که تو فایروال بزاره.
راه بعدی که به نظرم میرسه راه شرکت اپل هست :متعجب: به این صورت که یه مقدار اجرا برای نرم افزارت تعریف می کنی که بعد از این مدت توی بعضی از قسمت های برنامه ات عمداً ! حلقه های الکی بزاری مثلا برای هر رفرش اطلاعات دیتا گرید یه حلقه میلیون سطری بزاری که با مرور سرعت برنامه تا جایی پایین بیاد که کاربر به جز آپدیت چاره دیگه ای نداشته باشه !!:قهقهه:

رامین مرادی
سه شنبه 23 دی 1399, 08:40 صبح
یه روشی هم که میتونی استفاده کنی دسترسی به سرور آپدیتتو تو برنامه کنترل کنی اگه دسترسی نداشته باشی از اجرای برنامه جلوگیری بکنی. علاوه بر برنامه آپدیترت یه آپدیتر داخلی هم تعریف کن اونم آپدریت ها رو بگیره و در اجرای بعدی جایگزاری کنه.

Arman_1367
یک شنبه 28 دی 1399, 13:32 عصر
برای مشتری مداری یکی از امکانات برنامه که کلیدی هست رو در سرور پردازش کن که کاربر مجبور باشه دسترسی به اینترنت رو باز بزاره برات