سلام دوستان. من یک اتوران طراحی کردم که یک آیتم اون باید یک مقدار رو از ریجستری ویندوز مربوط به یک نرمافزار (ESET Smart Security) رو در یک دیالوگ باکس به کاربر نشون میده. بعد از این که از اتوران فایل خروجی گرفتم و تست کردم هیچ گونه مشکلی وجود نداشت (تست بر روی رایانه خودم ویندوز 7 التیمیت 32 بیت). بر روی یک رایانه دیگه هم که ویندوز 7 التیمیت 32 بیت نصب بود تست کردم و باز هم هیچ گونه مشکلی نبود و اطلاعات از ریجستری ویندوز در دیالوگ باکس نمایش داده میشد.
اما وقتی اتوران را بر روی ویندوز 7 هوم پرمیوم 64 بیت تست کردم، دیالوگ باکس نمایش داده میشود اما مقدار ریجستری از ریجستری خوانده نمیشود. (جای خالی). با توجه به اینکه نباید مشکلی می بود، مسیر ریجستری مورد نطر را به صورت دستی در ویندوز 64 بیت بررسی کردم اما با مسیر ریجستری که اتوران باید مقدار آن را نمایش میداد، هیچ تفاوتی نمی کرد.
صرفا جهت اطلاع: مسیری که اتوران باید مقدار ریجستری را از آن بخواند و نمایش دهد این است: (مقدار FailSafeServer رو باید در یک دیالوگ باکس نشون بده) و با توجه به بررسی دستی بر روی هر دو ویندوز 34 بیت و 64 بیت، این مسیر ثابت است.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در ضمن اسکریپت نویسی اتوران هم به صورت صحیح توسط خودم انجام داده شده است:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و اتوران دارای سطح اجازه ی دسترسی ادمین (UAC) هست و کلا به نظر میرسد مشکل از سطح اجازه ی دسترسی نباشد. چون همانطور که در بالا گفتم اتوران مقدار ریجستری را در دو ویندوز 7 32 بیت نشان داد اما در 64 بیت خیر. و اشاره میشود که جهت اطمینان حتی اتوران را در safe mode هم اجرا کردم اما باز هم مقدار ریجتسری مورد نظر در ویندوز 64 بیت نمایش داده نشد.حالا این سوال برای من ایجاد شده که ایا ریجستری ویندوز 32 بیت با 64 بیت فرق می کند که اتوران نتوانسته در ویندوز 64 بیت این مقدار ثابت را به نمایش در آورد؟ مشکل چیست و چگونه این مشکل را حل کنم. با تشکر.