ساخت اوتوران برای خروجی های air

khorzu

Member
سلام.
اخیرا یه پروژه گرفته بودم که با ایر بستمش.یه سری کارهایی رو که برای انتقال خروجی به سیستم کاربر تجربه شد رو فکر کردم بگم ، شاید به درد بقیه هم خورد .
می دونید که برای اجرای خروجی AIR روی سیستم مقصد باید AIR Framework نصب بشه و ما می خواستیم به صورت اوتوران و بدون اینکه کاربر متوجه بشه ، این فرآیند اتفاق بیفته.
زحمت عمده کار رو خود Adobe کشده بود.یه نسخه از AIR Inistaller موجود بود که با سوییچ silent بدون ابنکه پنجره ای باز بشه AIR رو نصب می کرد و بسته می شد. توضیحات مربوطه در این صفحه اومده بود :
کد:
[URL]http://help.adobe.com/en_US/air/redist/WS485a42d56cd19641-70d979a8124ef20a34b-8000.html[/URL]

اما دسترسی به اینستالری که این سوییچ رو بپذیره برای ما ایرانی ها محدود شده بود.نسخه قابل دسترس رو از :
کد:
[URL]http://get.adobe.com/air/[/URL]

گرفتیم و با این :
کد:
[URL]http://www.legroom.net/software/uniextract[/URL]
که می تونه محتویات انواع فایل های setup معمولی رو استخراج کنه ، محتویات ستاپ AIR رو کشیدیم بیرون . نسخه ای که در سایت قابل دسترس بود ، فشرده فایل setup اصلی بود که با سوییچ کار می کرد.

بعد یه بار خروجی نرم افزارمون رو روی سیستم نصب کردیم و فایل اجرایی رو که ساخته شده بود برای اجرا در اوتوران کپی کردیم.(فایل اجرایی که بعد از نصب نرم افزار AIR شما در Program Files ساخته می شود ، قابل انتقال است)
حال با یه برنامه که توی دلفی نوشته شده بود ، اول AIR Installer رو به صورت سایلنت اجرا می کردیم و منتظر می ماندیم تا نصب تمام شود و بعد نرم افزار خودمون رو صدا می زدیم.
مشکلی که باقی مانده بود، این بود که وقتی برای اولین بار یه نرمافزار AIR اجرا می شود ، از کاربر خواسته می شود تا اجازه نامه Adobe را امضا کند(مثل AdobeReader که وقتی برای اولین بار یه فایل PDF رو اجرا کی کنه پنجره لایسنس میاد.)
برای این مسئله با این :
کد:
[URL]http://technet.microsoft.com/en-us/sysinternals/bb896645[/URL]
تغییراتی رو که فایل اجرایی(برای اولین بار بعد از نصب AIR ) در رجیستری و فایل سیستم انجام می داد رو مونیتور کردیم و فهمیدیم بعد از نصب فقط با کپی کردن یه فایل این مشکل هم رفع میشه.
دوستانی که دلفی بلد نیستن اگر این کد ها رو توی یه فایل bat کپی کنند ، میتونن ازش به عنوان اوتوران نرم افزارشون استفاده کنند.
کد:
CLS
@ECHO off
IF EXIST "%AppData%\Adobe\AIR\eulaAccepted" (
    START myAirApp.exe    
) ELSE (
    START /W AirInstaller\AdobeAIRInstaller.exe  -silent
    XCOPY "eulaAccepted" "%AppData%\Adobe\AIR\"
    START myAirApp.exe
)
* فایل eulaAccepted یه فایل متنی هست که برای AIR نسخه 2.x داخلش نوشته شده 2 و برای نسخه 3.x داخلش نوشته شده 3 .
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا