خوب با توجه به درخواست دوستان عمل reboot را کامل توضیح می دهم:
برای پروژه Basic MSI به راحتی و به این شکل عمل کنید:
1) در install designer به قسمت زیر بروید
behavior and logic -> sequences -> installation - > Execute
2) حال ScheduleReboot را انتخاب کنید (اگر هم وجود نداشت آن را با راست کلیک کردن و insert به انتهای لیست اضافه کنید) و condition آن را پاک کنید ، با این کار برای تمامی شرایط install و uninstall و ... در پایان کار پیام reboot سیستم نمایان می شود .
اگر خواستید می توانید condition آن را مثلا به "Not Installed" تغییر دهید تا فقط در هنگام نصب پیام reboot نمایش داده شود.
--------------------------------------------------------
برای پروژه InstallScript که سخت تر می باشد :
1) با توجه به اینکه ممکن است به script آشنایی نداشته باشید ، ابتدا پروژه خود را از طریق project assistant مرحله به مرحله تکمیل کنید و نوع فایل خروجی را مثلا CD-Rom یا هر کدام که مورد نظر شما است تعیین کنید و سپس پروژه را build کنید تا script ها برایتان ساخته شود.
2) اکنون در install designer از طریق behavior and logic بر روی InstallScript بروید و بر روی فایل setup.Rul (یا هر نام دیگر) دابل کلیک کنید تا باز شود.
3) از طریق دو comboBox بالای صفحه اسکریپت ها ، After Move Data را انتخاب کنید و از دیگری OnEnd را انتخاب کنید تا event و تابع ساخته شود و سپس کد ها را به شکل زیر تغییر دهید تا عمل reboot به شکل دیگری پس از انجام نصب نمایش داده شود:
function OnEnd()
STRING szTitle, szMsg1, szMsg2 ;
begin
if( SdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0)< 0 ) then
MessageBox ("SdFinishReboot failed.", SEVERE);
endif;
end;
ضمنا از طریق custom action ها می توانید در هر کجا که می خواهید SdFinishReboot را فراخوانی کنید که به خودتان می سپارم.