بررسی ارورها و خطاها در هنگام نصب نرم افزارهای سیمبیان 9.1 و :read:9.2

1) خطای اول : Certificate error. Contact the application supplier.



اگر در هنگام نصب نرم افزاری دچار چنین پیغامی شدید تنها یک دلیل دارد :

برنامه ساین نشده است و شما باید آن را ساین نمایید


2) خطای دوم : Unable to install. Constrained by the certificate.



اگر در هنگام نصب نرم افزاری دچار چنین پیغامی شدید تنها 2 دلیل دارد و لاغیر :

1)برنامه برای imei گوشی دیگری ساین شده است . به عبارت دیگر شما اقدام به نصب نرم افزاری نموده اید که مختص imei گوشی شما ساین نشده است و برای imei گوشی دیگری ساین شده است .
2) مدت اعتبار cer شما به اتمام رسیده است و برنامه imei شما را به علت اکسپایر شدن cer شناسایی نمیکند. برای آنکه از اعتبار cer خود مطمئن شوید بر روی فایل cer خود کلیک راست نمایید و open را بزنید و سپس run کلیک کنید . در پنجره محاوره ای باز شده سربرگ certification path را کلیک نمایید و ورودی زیر پنجره cetificate status را ملاحظه نمایید . چنانچه با عبارت This certificate has expired or is not yet valid. مواجه شدید یعنی مدت اعتبار 6 ماه ی cer شما به پایان رسیده است و cer شما اکسپایر شده است و هنگام نصب برنامه ها دچار پیغام خطای فوق خواهید شد . میگید نه ؟ امتحان کنید . این مورد ممکن است در مورد تمام برنامه ها و یا برنامه هایی که تاریخ cer را چک نمیکنند صادق نباشد ! البته گاهی اوقات تمام شدن مدت اعتبار با ارور دیگری همراه است که در بندهای بعدی به آن اشاره خواهد شد .

3) خطای سوم : Required application access not granted




میخواهم در مورد این خطا با این جمله شروع کنم : یک cer خودساخته و عمومی عاقبت در مقابل این بند بازنده است !
این پیغام یکی از شوم ترین خطاهایی است که عملا ساین عمومی را به بن بست کشانده است ! میتوانم بگویم گارد امنیتی سیستم عامل سیمبیان ویرایش سوم در این بند نهفته است !

اگر در هنگام نصب نرم افزاری دچار پیغام فوق شدید بدان علت است که :

نرم افزار از سرتیفیکیت شما ( cer ) قابلیتهای 13 گانه ای را که در هنگام ساخت فایل csr انتخاب کرده اید را چک میکند . چنانچه نرم افزاری از لحاظ امنیتی پیشرفته باشد معمولا تمام 13 قابلیت را از فایل cer شما چک میکند و چنانچه یکی از آن قابلیتها در فایل cer شما موجود نباشد برنامه به شما پیغام خطای Required application access not granted را خواهد داد و این یعنی شکست ساین عمومی و نشستن پشت درهای بسته ی سایت سمیبیان ساین و از من و شما انتظار و از او فیس و افاده! ( او همون سایت عاشق کش و فارغ کش سمیبیان ساین هست ) !

بیایید قبل از رفتن به سراغ آیتم و خطای 4 قدری در مورد خطای سوم بیشتر با هم صحبت کنیم :

در هنگامی که شما برنامه ای را با یک سرتیفیکیت و کلید عمومی ساین میکنید و به اصطلاح برنامه را سلف ساین و یا ساین عمومی مینمایید در فایل cer شما تنها 5 قابلیت برای ساین نرم افزار وجود دارد و چنانچه نرم افزاری capabilities ای را غیر این موارد 5 گانه چک و طلب نماید بلافاصله پیغام ناخوشایند فوق ظاهر میگردد و از این روست که بارها گفته ام تعداد اندکی از برنامه ها ساین عمومی میپذیرند چرا که اغلب برنامه ها capabilities بیشتری را چک مینمایند مگر آنکه سطح برنامه از لحاظ امنیتی چندان بالا نباشد . این 5 capabilities که در cer عمومی موجودند عبارتند از : UserEnvironment , WriteUserData , NetworkServices, ReadUserData, و LocalServices

ملاحظه میکنید که در یک cer خود ساخته (self) تنها قابلیتهای پایه و ساده ای وجود دارند و 8 capabilities مهم دیگر وجود ندارند که معمولا وابسته به دیتاهایی است که از imei گوشی شما تبعیت میکند نظیر swEvent و trustedUI و ...

پس در یک جمله میتوان پیغام فوق را در وابسته به 2 عامل دانست :
الف) در هنگام ساخت csr از تمام capabilities ها استفاده نکرده اید .
ب ) برنامه ساین عمومی شده است .
تبصره :
ج ) در برخی از برنامه ها چناچه برنامه selfsign شده باشد و بعد با cer ای که مختص به imei خودتان است و اعتبار آن cer شما نیز تمام شده باشد برنامه را ساین کرده باشید ممکن است دچار خطای فوق شوید که در این حالت با به عقب بردن تاریخ گوشی این خطا رخ نخواهد داد
اما آیا ساین عمومی تنها خطای فوق را در برمیگیرد ؟ خیر در مورد بعدی به خطایی اشاره خواهم کرد که ساین عمومی از ساین نمودن نرم افزارهای امنیتی عاجز است و باعث بروز خطای 4 خواهد شد .

4) خطای چهارم : Unable to install a protected application from an untrusted supplier



این خطا نیز اگر چه زیر سر ساین عمومی است اما من آنرا دور زده ام و با ترفندی خاص میتوان از شر این پیغام رهایی یافت . اما دلیل این پیغام خطا در چیست ؟ :

چناچه برنامه ای را که میخواهید نصب نمایید دارای یک uid حفاظت شده باشد حتما باید آنرا با imei مخصوص گوشی خود ساین نمایید تا قابلیت نصب بر روی گوشی شما را داشته باشد در غیر اینصورت برنامه ای که ساین عمومی شده باشد اگر دارای uid حفاظت شده و یا همان شماره منحصر به فرد نرم افزاری که در مبنای 32 bit است باشد پیغام خطای فوق در هنگام نصب نرم افزار بر روی گوشی شما ظاهر خواهد شد و تلاش شما را برای نصب برنامه تان بی ثمر خواهد گذاشت . اگر چه این خطا تنها با ساین نمودن برنامه با cer مخصوص گوشی خودتان قابل حل است اما چنانچه از cer و ساین عمومی استفاده کرده باشید میتوانید برنامه را با دکومپایل کردن از یک uid حفاظت شده به uid غیر حفاظتی تغییر دهید و به اصطلاح خودمانی برنامه را دور بزنیم . uid های حفاظت شده معمولا با اعداد 1 و 2 شروع شده اند و در غیر آن با حروف . به عنوان مثال uid نظیر 0xAFFFFFFF غیر حفاظتی و 0x1FFFFFFF یک uid وارث و حفاظت شده است . چگونگی تغییر و کار با uid ها کمی اختصاصی تر است و در این بحث نمیگنجد .

5) خطای پنجم : Installer Feature Not Supported


این خطا جز ساده ترین پیغامهای خطا محسوب میشود . چنانچه برنامه نویسی برنامه ای را با sdk های 9.2 و فیچر پک fp1 مربوط به آن نوشته باشد و فرضا برنامه مذکور را بخواهید بر روی n73 نصب نمایید دچار پیغام خطای فوق میشوید .

6) خطای ششم : Unable to install



ریشه ی این پیغام یک عامل است و خودمونی بگم : فایلها و ریسورسهای برنامه میخواد تو فولدرهای پرایویت دیگه نصب و کپی بشه و چون شما به فولدرهای private برنامه های دیگه دسترسی ندارید ( یعنی برنامه دسترسی نداره ) این پیغام اعصاب خورد کن ظاهر میشه . حالا علت چیست که روی بعضی از گوشیها و برنامه ها چنین اتفاقی میفته شما یه کم فکر کنید من هم بیشتر فکر میکنم شاید دلایل انحراف مسیر نصب فایلها رو تونستیم کشف کنیم . تنها یک دلیلش مشکل خود برنامه و پی کی جی هست .

7) خطای هفتم : expired certificate



این خطا هنگامی اتفاق می افتد که دسته ای از برنامه های s60v3 محدوده ی معینی را از نظر زمانی برای اینستال شدن در خود مشخص کرده اند . معمولا در این دسته از برنامه ها این محدوده 6 ماهه میباشد که برنامه تاریخ محدودیت خود را با تاریخ گوشی مشتری چک میکند و چنانچه از ماکزیمم تاریخ برنامه گذشته باشد چنین پیغامی بر روی گوشی شما ظاهر خواهد شد .
راه حل ساده برای رفع این خطا به عقب بردن تاریخ گوشی است . این عقب بردن میتواند از یکماه به بالا و حتی با توجه به تاریخ برنامه بیشتر از یکسال نیز باشد .

8) خطای هشتم : CERTIFICAT MAY NOT BE VALID ,IS EXPIRED OR PHONS DATE SETTING MAY BE INCORECCT



آندسته از برنامه هایی که از تاریخ اعتبار نصب آنها نگذشته باشد هنگامی چنین پیغامی را صادر میکنند که تاریخ گوشی مشتری تنظیم نباشد . برای برطرف کردن این خطا تنها کافیست که تاریخ گوشی خود را به طور صحیح تنظیم نمایید .

9) خطای نهم : not supported



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

10) خطای دهم : update error



این خطا نام با مسمایی را برای خود انتخاب کرده است .
دلیل بروز این خطا همنام بودن ریسورسهای اپز یک برنامه است . برای حل آن 2 راه موجود است :

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

ب) اگر کمی مثل من دنبال دردسر و خفت گیری از برنامه باشید نیز میتوانید میتوانید با تغییر نام فایلهای با پسوند rsc و mif حاصله از اکسترکت کردن sis مربوطه به انضمام تغییر uid آن از این ارور جلوگیری به عمل آورید . نتیجه دادن این روش منوط به آنست که مسیرهای آدرس دهی فایلهای مذکور در خود سورس برنامه نیز اصلاح شود وگرنه برنامه بدون ارور پدیت نصب ولیکن اجرا نخواهد شد . خب راه عاقلانه آن است که از روش الف استفاده شود و به دنبال راه ب نباشید که مصداق ضرب المثل : لقمه را دور دهان چرخاندن است !

11) خطای یازدهم : file corrupted



این خطا از خطاهای مقدم است و نه مؤخر و چنانچه در اول نصب یک برنامه ظاهر نشود دیگر هرگز رخ نخواهد داد .
دلیل بروز این خطا کامل نبودن فایل از سورس اصلی خود در هنگام نصب است . این امر با عدم دریافت کامل و انتقال فایل ارتباط مستقیم دارد .
چه آنکه این امر در حین پلود و یا دانلود اتفاق بیفتد .
بنابراین : هر گاه دچار این ارور شدید مطمئن باشید که فایل دریافتی شما کامل نیست و به طور ناقص آنرا دانلود کرده اید و یا آنکه فایل به طور ناقص پلود شده است و شما فایل ناقصی را دانلود نموده اید . با دانلود کامل فایل دیگر دچار این خطا نخواهید شد .
امیدوام مفید بوده باشه oo: