翻譯|使用教程|編輯:況魚杰|2019-11-18 13:35:58.800|閱讀 2129 次
概述:安裝的一般要求是,安裝完成后啟動(dòng)安裝的應(yīng)用程序,通常基于用戶在類似于以下內(nèi)容的完成對(duì)話框上的復(fù)選框選擇。本文將會(huì)展示安裝基本MSI和InstallScript項(xiàng)目類型后如何啟動(dòng)應(yīng)用程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
InstallShield是構(gòu)建Windows安裝程序和MSIX包并直接在Microsoft Visual Studio中創(chuàng)建安裝的最快速最簡(jiǎn)單的方法。借助InstallShield,您可以快速適應(yīng)行業(yè)的變化,更快地進(jìn)入市場(chǎng)并提供引人入勝的客戶體驗(yàn)。
安裝的一般要求是,安裝完成后啟動(dòng)安裝的應(yīng)用程序,通常基于用戶在類似于以下內(nèi)容的完成對(duì)話框上的復(fù)選框選擇。
以下各節(jié)描述了安裝基本MSI和InstallScript項(xiàng)目類型后如何啟動(dòng)應(yīng)用程序。
Windows Installer項(xiàng)目
對(duì)于Windows Installer項(xiàng)目,基本思想是在SetupCompleteSuccess對(duì)話框的完成按鈕上調(diào)用帶有控制事件的啟動(dòng)EXE自定義操作。
對(duì)于Basic MSI項(xiàng)目,您可以在Project Assistant的Installation Interview頁(yè)面中啟用此類復(fù)選框和操作。您首先需要選擇的問(wèn)題是,是否要為用戶提供安裝完成后啟動(dòng)應(yīng)用程序的選項(xiàng)? 接下來(lái),瀏覽要啟動(dòng)的可執(zhí)行文件。在項(xiàng)目助手中,可執(zhí)行文件必須已經(jīng)在項(xiàng)目中; 在此示例中,名為sample.exe的文件已添加到目標(biāo)為INSTALLDIR的組件中。
當(dāng)選擇是并瀏覽到可執(zhí)行文件時(shí),InstallShield會(huì)在項(xiàng)目中添加一個(gè)稱做IS_LAUNCH_MY_PROGRAM_PLEASE的即時(shí)模式啟動(dòng)EXE自定義操作。
該動(dòng)作未出現(xiàn)在序列中,之后在自定義動(dòng)作視圖中就不會(huì)定義安裝UI序列,安裝執(zhí)行序列和相關(guān)設(shè)置。相反,該操作由附加到SetupCompleteSuccess對(duì)話框上的完成按鈕(內(nèi)部稱為確定按鈕)的DoAction控件事件啟動(dòng)。您可以在對(duì)話框視圖中SetupCompleteSuccess的行為節(jié)點(diǎn)下查看控件事件的屬性。
DoAction控件事件具有附加的條件LAUNCHPROGRAM,其中LAUNCHPROGRAM是與SetupCompleteSuccess上的CheckLaunchProgram復(fù)選框控件關(guān)聯(lián)的屬性。如果用戶在運(yùn)行時(shí)選中該復(fù)選框,則將設(shè)置LAUNCHPROGRAM,并將運(yùn)行啟動(dòng)可執(zhí)行文件的自定義操作。如果用戶未選中該復(fù)選框,則條件將失敗,并且不會(huì)啟動(dòng)可執(zhí)行文件。
提示:默認(rèn)情況下,LAUNCHPROGRAM屬性沒(méi)有值,因此默認(rèn)情況下,運(yùn)行時(shí)該復(fù)選框會(huì)取消選中。要指定最初應(yīng)選中此復(fù)選框,可以將LAUNCHPROGRAM添加到值為1的Property Manager視圖中。
選擇添加復(fù)選框,然后重新構(gòu)建并運(yùn)行安裝后,SetupCompleteSuccess對(duì)話框如下所示。
(如果您在對(duì)話框編輯器中查看SetupCompleteSuccess對(duì)話框,您會(huì)注意到啟動(dòng)該應(yīng)用程序的選項(xiàng)受兩個(gè)控件的支持,這兩個(gè)復(fù)選框控件名為CheckLaunchProgram,而文本控件名為L(zhǎng)aunchProgramText。具有兩個(gè)控件的原因是該復(fù)選框控件不支持Transparent屬性,因此該復(fù)選框控件的文本將在白色對(duì)話框背景位圖上顯示為灰色背景。文本控件確實(shí)支持Transparent屬性,因此該選項(xiàng)由一個(gè)復(fù)選框,沒(méi)有文本和一個(gè)文本控件表示。)
使用戶能夠選擇是否啟動(dòng)應(yīng)用程序的復(fù)選框控件和文本控件具有以下復(fù)合控件條件:
SHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND<>"" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOG
除其他事項(xiàng)外,該條件還確保該復(fù)選框僅針對(duì)首次安裝(未安裝)出現(xiàn),而不針對(duì)維護(hù)操作或卸載出現(xiàn)。一種可能的改進(jìn)是通過(guò)添加類似于&ProgramFeatureName = 3的條件,僅在選擇了包含應(yīng)用程序的功能時(shí)才啟動(dòng)該應(yīng)用程序。
InstallScript項(xiàng)目
對(duì)于InstallScript項(xiàng)目,您可以通過(guò)修改OnFirstUIAfter事件處理程序來(lái)添加啟動(dòng)應(yīng)用程序的選項(xiàng)。默認(rèn)情況下,OnFirstUIAfter事件處理程序包含一個(gè)if語(yǔ)句,該語(yǔ)句檢查是否需要重新啟動(dòng)以及是否包含UpdateService支持,并顯示適當(dāng)?shù)耐瓿蓪?duì)話框。 可能的完成對(duì)話框是SdFinishReboot,SdFinishUpdateEx和SdFinish。在大多數(shù)情況下,SdFinish是您要修改的對(duì)話框。
在OnFirstUIAfter的默認(rèn)實(shí)現(xiàn)中,顯示SdFinish的if語(yǔ)句的分支如下所示:
SdFinish(szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2);
要啟用帶有適當(dāng)文本的復(fù)選框,并在用戶選中該復(fù)選框時(shí)啟動(dòng)您的應(yīng)用程序,您可以修改if語(yǔ)句的分支,使其顯示如下:
bvOpt1 = TRUE; // enable check box szOpt1 = "Launch %p"; // %p expands to product name SdFinish(szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2); if (bvOpt1) then LaunchApp(TARGETDIR ^ "sample.exe", ""); endif;
(實(shí)際上,對(duì)于szOpt1,應(yīng)使用字符串表?xiàng)l目而不是硬編碼字符串,以簡(jiǎn)化安裝項(xiàng)目的本地化。)
在運(yùn)行時(shí),對(duì)話框如下所示。
與Windows Installer項(xiàng)目一樣,一項(xiàng)增強(qiáng)功能是確保使用FeatureIsItemSelected僅在安裝了包含應(yīng)用程序的功能時(shí)才顯示該復(fù)選框。
推薦文章:
如果您想要購(gòu)買正版授權(quán)InstallShield,可以聯(lián)系咨詢相關(guān)問(wèn)題。
關(guān)注慧聚IT微信公眾號(hào)???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: