• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++樂園

            C/C++ 交流

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              12 隨筆 :: 18 文章 :: 14 評論 :: 0 Trackbacks
            [轉載]InstallShield內部庫函數之5 Sd對話框函數
            InstallShield內部庫函數之5? Sd對話框函數
            ??? InstallShield提供一些Sd對話框函數,用戶可自定義和顯示。Sd對話框使用可以創建用戶輸入的對話框的特殊腳本定義函數來創建。然后該對話框根據所作選擇返回值給腳本。
            ??? Sd對話框有一個Cancel按鈕,當它被選中時不返回一個CANCEL值。而是調用缺省的退出處理。
            下面是所有有效的Sd對話框函數的列表:
            DialogSetInfo
            改變由一些內部對話框函數呈現的對話框的顯示元素。
            SdAskDestPath
            呈現一個對話框,允許最終用戶指定安裝的一個目標位置。
            SdAskOptions
            創建一個對話框,它比標準AskOptions函數更靈活。
            SdAskOptionsList
            呈現一個對話框,允許最終用戶選定和撤消選定一個列表中的項目。
            SdBitmap
            在對話框中顯示一個位圖。
            SdComponentDialog
            顯示一個對話框,允許最終用戶選擇安裝的組件和目標文件夾。
            SdComponentDialog2
            顯示一個對話框,允許最終用戶選擇要安裝的文件夾、組件和子部件。
            SdComponentDialogAdv
            顯示一個對話框,允許最終用戶選擇安裝的組件和目標文件夾。
            SdComponentMult
            顯示一個對話框,允許最終用戶選擇安裝的組件和子部件。有關磁盤空間的附加信息也被提供來確定安裝的最佳位置。
            SdComponentTree
            顯示一個有樹形控制控件的對話框,允許最終用戶選擇安裝的組件和子部件。有關磁盤空間的附加信息也被提供來確定安裝的最佳位置。
            SdConfirmNewDir
            提示用戶確認文件夾的選擇。
            SdConfirmRegistration
            提示最終用戶確認輸入到由SdRegisterUser或SdRegisterUserEx呈現對話框中的信息。
            SdDisplayTopics
            顯示主題列表。
            SdExceptions
            顯示一個對話框,通知最終用戶遇到一個共享、鎖定(在使用中)或只讀文件。
            SdFinish
            顯示一個對話框,通知最終用戶安裝完成并提供一個選項的選擇,如是否要查看信息文件或運行一個應用程序。
            SdFinishEx
            顯示一個對話框,通知最終用戶安裝完成。
            SdFinishReboot
            顯示一個對話框,通知用戶安裝完成并提供一個重啟Windows 和計算機選項的選擇。
            SdInit
            準備一個調用Sd對話框函數的安裝。
            SdLicense
            顯示一個許可證協議并給最終用戶一個接受或拒絕許可證條款的選項。
            SdLoadString
            返回和一個指定資源ID相聯系的字符串值。
            SdMakeName
            創建一個自定義對話框的節名。該節名在向一個 .iss文件寫或從一個.iss文件讀時使用。.iss文件由 InstallShield Silent使用。
            SdOptionsButtons
            顯示一個有用戶定義按鈕的對話框,提供給最終用戶不同選擇。
            SdProductName
            在腳本對話框的特定靜態區中插入你的產品名。
            SdRegisterUser
            顯示一個可輸入用戶名和公司名的對話框。
            SdRegisterUserEx
            顯示一個對話框,最終用戶可在里面輸入用戶姓名、公司名稱和應用程序序列號。
            SdSelectFolder
            呈現一個對話框,允許最終用戶從程序文件夾列表中選擇一個文件夾。
            SdSetupType
            顯示一個對話框,使最終用戶能選擇三種標準安裝類型之一:典型、簡易或自定義。
            SdSetupTypeEx
            顯示一個對話框,允許最終用戶選擇標準或自定義安裝類型。
            SdShowAnyDialog
            顯示一個資源DLL的通用對話框。當用SdShowAnyDialog函數顯示一個對話框時你不能從最終用戶接受任何輸入。
            SdShowDlgEdit1
            顯示一個對話框,它有一個單行的編輯區和其它靜態控件。
            SdShowDlgEdit2
            顯示一個對話框,有兩個單行的編輯區和其它靜態控件。
            SdShowDlgEdit3
            顯示一個對話框,有三個單行的編輯區和其它靜態控件。
            SdShowFileMods
            呈現一個對話框,預覽對文件的可能修改并允許最終用戶同意修改、拒絕修改或要求將修改寫到一個文件中。
            SdShowInfoList
            在一個對話框中顯示一個可滾動的消息列表。
            SdShowMsg
            在一個小窗口中顯示一個消息。
            SdStartCopy
            呈現一個對話框,顯示已經由最終用戶指定的選項和設置。
            SdWelcome
            顯示一個通用歡迎。
            SdWelcomeMaint
            顯示一個在維護安裝開始時使用的對話框。
            5.1? DialogSetInfo
            語法:DialogSetInfo (nInfoType, szInfoString, nParameter);
            說明:DialogSetInfo函數修改下列在InstallShield對話框中顯示的元件:
            顯示的圖象;
            得到最終用戶選擇的復選框的風格;
            指示有效和所需磁盤空間值的精度。
            ??? 通過調用DialogSetInfo產生的修改對安裝的剩余部分保持為有效或直到它們又被隨后的對DialogSetInfo的調用修改。如果你的腳本在調用任何Sd對話框函數前調用DialogSetInfo,在 DialogSetInfo的調用前必須先調用SdInit。否則,對DialogSetInfo的調用無效。
            參數:
            nInfoType
            指定要修改的顯示特征。在該參數位置傳遞下列預定義的常量之一:
            DLG_INFO_USEDECIMAL:缺省時,顯示的指示組件大小、有效磁盤空間和所需磁盤空間的值被四舍五入到最近的KB或MB。下列對話框受該參數影響:ComponentDialog, SdComponentDialog, SdComponentDialog2, SdComponentDialogAdv 和SdComponentMult。
            DLG_INFO_KUNITS:缺省時,顯示的指示組件大小、有效磁盤空間和所需磁盤空間的值以KB為度量。傳遞該參數同時nParameter設置為FALSE時則以MB為度量顯示這些值。下列對話框受該參數影響:SdComponentTree, ComponentDialog, SdComponentDialog, SdComponentDialog2, SdComponentDialogAdv 和SdComponentMult。
            DLG_INFO_ALTIMAGE:指定一個顯示在該對話框中的候選位圖。如果nParameter設置為TRUE,szInfoString必須指定在該對話框顯示的圖象。該參數應用于所有在對話框右上角顯示標準安裝圖象的InstallShield對話框(和圖象顯示在對話框左邊一個大圖象的右上角的Welcome, SdWelcome和SdFinish對話框)。更多的信息可查看下面參數nParameter處描述的"當nInfoType是.DLG_INFO_ALTIMAGE"。
            ??? 由SetDisplayEffect設置的顯示效果不能應用到交替圖象,通常它們顯示時沒有任何特殊效果.
            DLG_INFO_CHECKSELECTION:指定選擇方法將由nParameter傳遞的常量確定。注意SdComponentTree不支持改變復選框類型。
            szInfoString
            當DLG_INFO_ALTIMAGE傳遞給nInfoType時,該參數指定要顯示的候選位圖的文件名和一組位圖屬性(可選)。如果包括了位圖屬性,傳遞給該參數的字符串必須如下格式化:
            ?"位圖文件名;透明標志;<未用>;<未用>;透明色"
            位圖文件名:
            指定位圖文件名。如果文件名未限定(也就是說,如果它不包括一個驅動器指示符和路徑),InstallShield在SUPPORTDIR查找該位圖。
            透明標志:
            指示是否透明顯示位圖。當該標志是1(真)時,該位圖中所有其顏色是由szInfoString的透明色參數指定的RGB值的部分都透明顯示。該參數缺省為0(非透明)。
            未用:
            格式行的這些部分都被忽略,但它們必須被包括。也就是說,格式行串必須包括四個分號,三個分號在透明標志和透明色之間。
            透明色:
            指示透明顯示的顏色。透明色必須用一個RGB值來表示,也就是,三個數值型值由逗號分隔。如果沒有指定值,即使透明標志設置為1,位圖也不會被透明顯示。
            ??? 下面的例子將顯示MyBitmap.bmp文件的位圖,它位于SUPPORTDIR文件夾。位圖所有黑色部分(RGB值為0,0,0)將被透明顯示。
            "MyBitmap.bmp;1;;;0,0,0"
            注意:標準位圖為57×53。一個候選位圖必須也約是這個大小。如果位圖大于這個大小,它會在標題區中垂直置中,位圖的右邊將和對話框的右邊對齊。(在Welcome, SdWelcome, 和 SdFinish對話框中,位圖的右邊將和它所呈現在的更大的位圖的右邊對齊)。位圖左邊將盡可能擴展到對話框左邊。位圖擴展在對話框標題區下的任何部分將被剪切掉。如果位圖小于57×53,它將被正確顯示,但它將不被調整大小或被擴展。
            ??? 當缺省位圖被重新裝入或nInfoType不是DLG_INFO_ALTIMAGE時該參數被忽略
            nParameter
            和nInfoType相聯系一起來指定對話框特性。
            當nInfoType是DLG_INFO_CHECKSELECTION時,傳遞下列預定義常量之一來指定復選框風格:
            CHECKBOX:指定Windows 3.1風格的復選框。
            CHECKBOX95:指定標準(Windows 95 風格)復選框。如果不調用DialogSetInfo,這是缺省的復選框風格。
            CHECKLINE:指定復選行風格的復選框。
            CHECKMARK:指定復選標記風格的復選框。
            當nInfoType是DLG_INFO_ALTIMAGE,傳遞下列預定義常量之一來指定顯示位圖:
            -1:指定對話框必須顯示缺省位圖。
            TRUE:指定由szInfoString指示的位圖必須在隨后的對話框中使用,就如前面在szInfoString下描述的一樣。
            當nInfoType是DLG_INFO_KUNITS 或DLG_INFO_USEDECIMAL時,傳遞下列預定義常量之一來指定大小如何顯示:
            TRUE:指定大小按照nInfoType指示的顯示。
            FALSE:指定大小按照缺省風格顯示。
            返回值:
            0??表明函數成功設置了指定的風格。
            < 0??表明函數未能設置該風格。
            注解:
            ·為預覽調用DialogSetInfo的效果,運行InstallShield范例,改變對話框的屬性(通過單擊屬性按鈕),然后檢驗如SdComponentDialog2和 SdComponentMult的對話框的改變。
            ·每次你要改變一個對話框的細節方面時都必須調用DialogSetInfo。
            你可以使用DLG_INFO_ALTIMAGE參數來激活16色、256色或真彩色(24位)的位圖。注意當256色的位圖在16色系統中顯示或真彩色位圖在256色系統中顯示時會有顏色失真。建議你指定一與目標系統的顏色模式兼容的候選圖象。
            5.2? SdAskDestPath
            語法:SdAskDestPath (szTitle, szMsg, svDir, nReserved);
            說明:SdAskDestPath函數創建一個對話框,允許最終用戶選擇一個候選目標路徑。當你單擊對話框中的瀏覽按鈕,SelectDir函數被調用來打開一個二次對話框使最終用戶可以選擇一個存在的文件夾或輸入一個新的文件夾名。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇文件夾") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的文本。該文本被考慮為一個靜態控件。在你的消息字符串中使用%P位置夾來插入已經由先前的一個對SdProductName的調用指定的產品名稱(如果有)。為顯示對話框的缺省指示,傳遞一個空字符串("")。
            svDir
            指定缺省選定的目錄名。返回由最終用戶選定的目錄名。
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            NEXT (1):指定Next按鈕被單擊。
            BACK (12):指定Back按鈕被單擊。
            注解:
            ·運行在靜止方式的安裝程序必須創建在調用SdAskDestPath前不存在的新文件夾。這樣可以確保確認對話框不被顯示。沒有這一步驟,則需要兩個響應文件來處理兩種可能情況。
            5.3? SdAskOptions
            語法:SdAskOptions (szTitle, szMsg1, szMsg2, szId, szComponents, nExclusiveFlag);
            說明:SdAskOptions 函數創建一個對話框,提供安裝選項。你可以使用復選框或單選鈕作為選擇按鈕。顯示在按鈕旁邊的信息從一組選項中檢索得到。選項的缺省數目是4。必要時你可以增加或減去組中選項的數目。
            ??? SdAskOptions運行于由系統變量MEDIA指定的當前媒體上。在安裝的初始化中,InstallShield給MEDIA賦缺省媒體名("DATA"),它和你的文件媒體庫(Data1.cab)相聯系。為顯示腳本創建的組件,可按4.6中的相同步驟進行:
              如果你的安裝不使用一個安裝類型的對話框,你必須在調用SdAskOptions之前調用ComponentSetupTypeSet來指定一個已經在IDE安裝類型窗格中定義的安裝類型
              系統變量MEDIA的值在安裝初始化過程中被設置為'DATA'。如果你改變該變量的值來指向一個腳本創建組件組,你必須在調用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前將值修改回'DATA'。注意運行一個基于事件的腳本的安裝中,ComponentTransferData被自動調用。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")。
            szMsg1
            指定顯示在對話框的消息。該靜態區的ID是801。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            szMsg2
            指定在對話框顯示的一個二次消息。該靜態區的ID是802。
            SzId
            指定一個候選數值型對話框ID。僅使用以字符串形式表示的數值型ID(例如,ID 13001 為"13001")。你可以拷貝SdAskOptions對話框資源,對它做有限的修改,給它一個唯一數值型ID,并通過以字符串傳遞它的ID給szId來調用對話框。參考下面的注解部分。為創建標準的四選項的SdAskOptions對話框,給該參數傳遞一個空字符串("")。
            szComponents
            指定要顯示的包含子部件的組件名稱。子部件前面有復選框或單選鈕。為顯示所有頂層組件,給該參數傳遞一個空字符串("")。
            SdAskOptions在由系統變量MEDIA指定的文件媒體庫或腳本創建組件組中查找所需組件。
            nExclusiveFlag
            指定你要在對話框中顯示的按鈕類型。在該參數位置傳遞下列預定義常量之一:
            EXCLUSIVE:指定單選鈕。
            NONEXCLUSIVE:指定復選框。
              如果你的安裝包括必需的可見的組件,不要調用SdAskOptions來得到安裝選項。而是,以非靜止方式調用ComponentDialog, SdComponentDialog, SdComponentDialogAdv, SdComponentMult 或SdAskOptionsList。
              必需組件可以這么理解:當活動組件(在組件窗格中被選擇的組件)被安裝時,你要添加組件到必須被安裝的組件列表中或從該組件列表中刪除組件。
            其中控件有:
            所需組件(列表框):列出活動組件要求的組件。
            組件(列表框):列出所有定義的組件。活動組件有一個復選標記;所需組件有一個紅圈和斜杠。
            添加(按扭):將在組件列表框中選定的組件添加到所需組件列表框中。
            刪除(按扭):從所需列表框中刪除選定的組件。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·你可以通過使用資源編輯器拷貝SdAskOptions對話框資源(位于_isres.dll),對拷貝作有限的修改,并給它一個唯一ID來創建多個SdAskOptions類型的對話框。當你調用SdAskOptions并在參數szId傳遞對話框的自定義拷貝時,自定義拷貝被顯示。限制對存在的靜態文本區作編輯修改和增加靜態文本區。不建議添加需要處理程序的控件,因為它需要改變SdAskOptions的資源腳本。
            5.4? SdAskOptionsList
            語法:SdAskOptionsList (szTitle, szMsg, szComponents, nStyle);
            說明:SdAskOptionsList函數創建一個對話框,顯示一個自定義安裝的組件列表。
            SdAskOptionsList運行在由系統變量MEDIA指定的當前媒體上。在安裝的初始化中,InstallShield給MEDIA賦缺省媒體名("DATA"),它和你的文件媒體庫(Data1.cab)相聯系。為顯示腳本創建的組件,按4.6中的相同步驟進行。
            系統變量MEDIA的值在安裝初始化過程中被設置為'DATA'。如果你改變該變量的值來指向一個腳本創建組件組,你必須在調用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前將值修改回'DATA'。注意運行一個基于事件的腳本的安裝中,ComponentTransferData被自動調用。
              如果你的安裝不使用一個安裝類型對話框,你必須在調用SdAskOptionsList前調用ComponentSetupTypeSet來指定一個已經在IDE安裝類型窗格中定義的安裝類型。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            szComponents
            指定要顯示的包含子部件的組件名稱。為顯示所有頂層組件,給該參數傳遞一個空字符串。
            SdAskOptionsList在由系統變量MEDIA指定的文件媒體庫或腳本創建組件組中查找所需的組件。
            nStyle
            指定最終用戶的選擇是否受限。在該參數位置傳遞下列預定義常量之一:
            EXCLUSIVE:允許最終用戶僅從列表中選擇一個項目。如果任何szComponents'的子部件是所需組件,則不使用EXCLUSIVE模式。
            NONEXCLUSIVE:允許最終用戶從列表中選擇多個項目,包括多個非鄰接的選項。兩個按鈕被顯示:Select All 和Clear All,,允許通過單擊一個按鈕選擇所有選項或清除所有選項。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.5? SdBitmap
            語法:SdBitmap (szTitle, szMsg, szBitmap);
            說明:SdBitmap函數在一個對話框中顯示一個位圖。位圖所允許的最大大小是寬440個像素點、高275個像素點。僅當你使用一個資源編輯器來修改SdBitmap對話框資源使得顯示消息的控件成為可見時,你才可以在SdBitmap對話框中顯示一個消息,查看下面注解。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("歡迎") ,給該參數傳遞一個空字符串("")。
            szMsg
            給該參數傳遞一個空字符串(""),除非你使用一個資源編輯器修改SdBitmap對話框來顯示一個消息,查看下面注解。
            szBitmap
            指定要顯示的位圖的文件名和一組位圖屬性(可選)。如果包括位圖屬性,傳遞給該參數的字符串必須如下格式化:
            ?"位圖文件名;透明標志'3-D標志;背景顏色"
            位圖文件名
            指定位圖文件名。如果文件名未限定(也就是說,如果它不包括一個驅動器指示符和路徑),InstallShield在SUPPORTDIR查找該位圖。
            透明標志
            指示是否透明顯示位圖。當該標志是1(真)時,該位圖所有紫紅色(RGB值:255,0,255)部分都透明顯示。該參數的缺省值是0(非透明)。
            3-D 標志
            指示是否要繞著包含位圖的靜態區的邊緣增加一個3-D邊框。缺省為0(非3D邊框)。
            背景色
            指示作為靜態文本區背景的顏色。 注意該顏色僅當位圖小于它所顯示在的靜態文本區或透明標志設置為1并且位圖有透明區域時才會可見。背景色必須以RGB值表示,也就是三個由逗號分隔的數值型的值。
              下面的例子將從MyBitmap.bmp文件顯示位圖,它位于SUPPORTDIR文件夾。該位圖將被置于一個黑色背景上。它有一個3-D邊框。該位圖的任何紫紅色的部分將被顯示為背景色-黑色。
            ??? "MyBitmap.bmp;1;1;0,0,0"
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·你可以使用一個資源編輯器來修改SdBitmap對話框資源,使得一個傳遞給參數szMsg的消息字符串在SdBitmap對話框中顯示。
            ·SdBitmap 對話框資源包括在_isres.dll中。該資源包含一個靜態文本控件,它接收由參數szMsg傳遞的字符串。然而,該靜態文本控件缺省為在SdBitmap對話框中不可查看(在對話框下)。SdBitmap也使用一個靜態文本控件顯示位圖圖象。你可以調整位圖圖象靜態文本控件的大小和移動消息靜態文本控件進入對話框來查看。
            改變位圖圖象靜態文本控制的大小可能影響你位圖圖象的顯示。位圖圖象必須足夠小來避免當它被SdBitmap在位圖圖象靜態文本控制置中時被剪切掉。
            ·該函數不支持透明位圖。如果你以該函數來使用一個透明位圖,透明部分將被正常顯示。
            ·SdBitmap不支持圖元文件。
            5.6? SdComponentDialog
            語法:SdComponentDialog (szTitle, szMsg, svDir, szComponents);
            說明:使用SdComponentDialog函數創建一個對話框。顯示當前媒體上用戶可以安裝的的組件列表和每個組件將占用的磁盤空間。該函數和SdComponentDialogAdv相同。
            ??? 目標目錄可以使用Browse按鈕來修改;在其它驅動器上的可用磁盤空間可以使用Disk Space 按鈕來檢查。
            SdComponentDialogt運行在由系統變量MEDIA指定的當前媒體上。在安裝的初始化中,InstallShield給MEDIA賦缺省媒體名("DATA"),它和你的文件媒體庫(Data1.cab)相聯系。為顯示腳本創建的組件,按4.6中的相同步驟進行。
            ??? 如果你的安裝不使用一個安裝類型的對話框,你必須在調用SdComponentDialog之前調用ComponentSetupTypeSet來指定一個已經在IDE安裝類型窗格中定義的安裝類型。
            ??? 系統變量MEDIA的值在安裝初始化過程中被設置為'DATA'。如果你改變該變量的值來指向一個腳本創建組件組,你必須在調用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前將值修改回'DATA'。注意運行一個基于事件的腳本的安裝中,ComponentTransferData被自動調用。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            svDir
            指定缺省選定的文件夾名;返回最終用戶選擇的文件夾名。注意由svDir指定的目標文件夾不會自動賦給TARGETDIR或其它任何系統變量。如果它要被使用,為將svDir值提供給安裝,你必須將它賦給TARGETDIR或一個腳本定義的變量。
            ??? 我們建議用戶給該參數傳遞TARGETDIR而不是一個字符串變量。如果你在該參數不傳遞TARGETDIR,當最終用戶在一個不同驅動器選擇一個目標時顯示在對話框的所需磁盤空間不會被重算。
            szComponents
            指定其子部件要被顯示的組件名稱。為顯示所有主組件,給該參數傳遞一個空字符串("")。
            SdComponentDialog在由系統變量MEDIA指定的文件媒體庫或腳本創建組件組中查找所需的組件。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·一個組件在被選定前,其大小都顯示為0。一旦它已經被選定,它的實際大小被顯示。
            ·若有必要,組件名被截尾來允許顯示最大可能的組件大小。顯示大小的必要空間依賴于最大組件大小本身(2GB)、當前使用的組件大小選項、和用來在對話框顯示組件信息的字體。組件大小選項由DialogSetInfo函數設置。
            ·一旦顯示最大可能大小所需的空間被確定,若有必要,所有組件名均自動被截尾以適應剩余空間。這確保組件名不會覆蓋組件大小。
            ·注意在這種方法下需要較少空間顯示大小(或沒有被選)的組件的名稱仍然會被截尾。為了最大化執行并確保組件名完整顯示,使組件名小于在組件對話中的有效空間。
            ·如果由svDir指定的缺省文件夾不存在于最終用戶系統,除非最終用戶按下Browse按鈕并按下列步驟從選擇文件夾對話框創建它,否則它不會被創建。因此,無論何時用戶想在調用ComponentTransferData(必要時,它會創建文件夾)前指定一個要使用的缺省文件夾,為了確定該文件夾是否存在,當SdComponentDialog返回時都必須調用ExistDir 。如果不存在,調用CreatDir在最終用戶系統上創建它。
            ·運行在靜止方式(silent mode )的安裝,如果在調用SdComponentDialog前文件夾不存在,必須創建該新文件夾。這樣可以確保確認對話框不被顯示。沒有這一步,需要兩個響應文件來處理兩個可能情況。
            ·Disk Space按鈕的ID是101。該按鈕自動顯示有效磁盤空間對話框。如果愿意你可以刪除該按鈕/選項。目錄靜態區需要一個ID為851。列表框ID有一個多選項風格。
            5.7? SdComponentDialog2
            語法:SdComponentDialog2 (szTitle, szMsg, szDir, szComponents);
            說明:SdComponentDialog2函數創建一個對話框,顯示一個用戶可以安裝的當前媒體上的組件列表。顯示在組件窗口中的組件可以有子部件。如果一個組件有子部件,Change按鈕將成為有效。單擊Change按鈕將生成選擇子部件對話框,可以作進一步的選擇。對每個組件和子部件,也提供說明。當用戶選擇或高亮顯示組件時,其說明顯示在對話框的說明區下。
            ??? SdComponentDialog2運行在由系統變量MEDIA指定的當前媒體上。在安裝的初始化中,InstallShield給MEDIA賦缺省媒體名("DATA"),它和你的文件媒體庫(Data1.cab)相聯系。為顯示腳本創建的組件,按4.6中的相同步驟進行。
            ??? 如果你的安裝不使用一個安裝類型的對話框,你必須在調用SdComponentDialog之前調用ComponentSetupTypeSet來指定一個已經在IDE安裝類型窗格中定義的安裝類型。
            ??? 系統變量MEDIA的值在安裝初始化過程中被設置為'DATA'。如果你改變該變量的值來指向一個腳本創建組件組,你必須在調用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前將值修改回'DATA'。注意運行一個基于事件的腳本的安裝中,ComponentTransferData被自動調用。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            szDir
            指定目標目錄的名稱(目標位置)。注意由svDir指定的目標文件夾不會自動賦給TARGETDIR或其它任何系統變量。如果它要被使用,為將svDir值提供給安裝,你必須將它賦給TARGETDIR或一個腳本定義的變量。
            szComponents
            指定其子部件要被顯示的組件名稱。為顯示所有主組件,給該參數傳遞一個空字符串("")。
            ??? SdComponentDialog2在由系統變量MEDIA指定的文件媒體庫或腳本創建組件組中查找所需的組件。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·一個組件在被選定前,其大小都顯示為0。一旦它已經被選定,它的實際大小被顯示。
            ·若有必要,組件名稱被截尾來允許顯示最大可能的組件大小。顯示大小的必要空間依賴于最大組件大小本身(2GB),當前使用的組件大小選項,和用來在對話框顯示組件信息的字體。組件大小選項由DialogSetInfo函數設置。
            ·一旦顯示最大可能大小所需的空間被確定,若有必要,所有組件名均自動被截尾以適應剩余空間。這確保組件名不會覆蓋組件大小。
            ·注意在這種方法下需要較少空間顯示大小(或沒有被選)的組件的名稱仍然會被截尾。為了最大化執行并確保組件名完整顯示,使組件名小于在組件對話框中的有效空間。
            ·當且僅當被選定的組件有任何子部件時Change按鈕才為有效。否則,它將變灰。
            ·如果一個組件被撤消選定,它的子部件也必須缺省為撤消選定。同樣的,如果一個組件的所有子部件缺省為撤消選定,則父組件也必須缺省為撤消選定。有關組件和子部件的缺省選定設置請參考ComponentAddItem函數。
            ·當用戶選定一個顯示在對話框中的組件或子部件時,缺省選定設置被清除。如果用戶撤消選定一個組件,所有它的子部件也將被撤消選定。如果用戶撤消選定一個組件的所有子部件,該組件也將被撤消選定。
            5.8? SdComponentDialogAdv
            語法:SdComponentDialogAdv (szTitle, szMsg, svDir, szComponents);
            說明:使用SdComponentDialogAdv函數創建一個對話框。顯示當前媒體上用戶可以安裝的組件列表和每個組件將占用的磁盤空間。該函數和SdComponentDialog相同。
            ??? 目標目錄可以使用Browse按鈕來修改:同時在其它驅動器上的可用磁盤空間可以使用Disk Space 按鈕來檢查。
            SdComponentDialogtAdv運行在由系統變量MEDIA指定的當前媒體上。在安裝的初始化中,InstallShield給MEDIA賦缺省媒體名("DATA"),它和你的文件媒體庫(Data1.cab)相聯系。為顯示腳本創建的組件,按4.6中的相同步驟進行。
              如果你的安裝不使用一個安裝類型的對話框,你必須在調用SdComponentDialog之前調用ComponentSetupTypeSet來指定一個已經在IDE安裝類型窗格中定義的安裝類型。
            ??? 系統變量MEDIA的值在安裝初始化過程中被設置為'DATA'。如果你改變該變量的值來指向一個腳本創建組件組,你必須在調用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet.前將值修改回'DATA'。注意運行一個基于事件的腳本的安裝中,ComponentTransferData被自動調用。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            svDir
            指定缺省選定的文件夾名;返回最終用戶選擇的文件夾名。注意由svDir指定的目標文件夾不會自動賦給TARGETDIR或其它任何系統變量。如果它要被使用,為將svDir值提供給安裝,你必須將它賦給TARGETDIR或一個腳本定義的變量。
            ??? 我們建議用戶給該參數傳遞TARGETDIR而不是一個字符串變量。如果你在該參數不傳遞TARGETDIR,當最終用戶在一個不同驅動器選擇一個目標時顯示在對話框的所需磁盤空間不會被重算。
            szComponents
            指定其子部件要被顯示的組件名稱。為顯示所有主組件,給該參數傳遞一個空字符串("")。
            SdComponentDialogAdv在由系統變量MEDIA指定的文件媒體庫或腳本創建組件組中查找所需的組件。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            請參閱5.7。
            5.9? SdComponentMult
            語法:SdComponentMult (szTitle, szMsg, szTargetDir, szComponents);
            說明:SdComponentMult函數創建一個對話框,提供給最終用戶一個選項來從當前媒體上的一個組件和子部件列表中選擇。對話框有兩個子窗口。如果被選定的組件有子部件,它們在第二個窗口中顯示。對話框也顯示所需的磁盤空間(依賴于被選定的組件和子部件)和目標目錄的空閑磁盤空間來在安裝過程中提供幫助。組件和/或子部件的說明可以通過單擊它的名稱在說明區中查看。
            有關組件和子部件的詳細情況請參閱7.1。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            szTargetDir
            指定將應用程序安裝到的目標文件夾名。注意由svTargetDir指定的目標文件夾不會自動賦給TARGETDIR或其它任何系統變量。如果它要被使用,為將svTargetDir值提供給安裝,你必須將它賦給TARGETDIR或一個腳本定義的變量。
            szComponents
            指定其子部件要被顯示的組件名稱。為顯示所有主組件,給該參數傳遞一個空字符串("")。
            SdComponentMult在由系統變量MEDIA指定的文件媒體庫或腳本創建組件組中查找所需的組件。
            ??? 太長不能適應選擇窗口的組件名將被從右截尾以適應有效空間。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            請參閱5.7。
            5.10? SdComponentTree
            語法:SdComponentTree (szTitle, szMsg, szDir, szComponents, nLevel);
            說明:SdComponentTree函數顯示一個對話框,它包含下列內容:
            一個樹形控件,最終用戶可以在其中選定在他們系統上需要的組件和不選定在他們系統上不需要的組件。
            選定組件的說明(組件屬性說明文本)。
            需要用來執行樹形控件中指定的文件操作的磁盤空間,和由szDir指定路徑的磁盤的有效空間。(所需磁盤空間的計算考慮在szDir指定的磁盤的簇的大小。)
            SdComponentTree運行在由系統變量MEDIA指定的當前媒體上。在安裝的初始化中,InstallShield給MEDIA賦缺省媒體名("DATA"),它和你的文件媒體庫(Data1.cab)相聯系。為顯示腳本創建的組件,按4.6中的相同步驟進行。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。szDir
            指定在計算所需和有效磁盤空間中用到的磁盤的路徑。
            szComponents
            指定其子部件要被顯示的組件名稱。為顯示所有主組件,給該參數傳遞一個空字符串("")。
            nLevel
            指定當對話框第一次被顯示時在樹形控件中打開多少層組件和子部件。(例如,nLevel為2,則對話框首次顯示時,第三和更低層的子部件在樹形控件中被關閉。)
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.11? SdConfirmNewDir
            語法:SdConfirmNewDir (szTitle, szDir, nReserved);
            說明:SdConfirmNewDie函數創建一個對話框,顯示一個文件夾名和一個確認的提示。如果最終用戶單擊Yes按鈕,則一個新文件夾自動由該函數創建。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("確認新文件夾") ,給該參數傳遞一個空字符串("")。
            szDir
            指定要確認的目錄名稱。(通過調用SdAskDestPath來得到該信息)
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            YES (1):表明單擊了Yes按鈕并且目錄已經被確認并將被創建。
            NO (0):表明單擊了No按鈕,并且指定的目錄不會被創建。
            <0:表明Yes被選定了但函數未能創建新目錄。
            5.12? SdConfirmRegistration
            語法:SdConfirmRegistration (szTitle, szName, szCompany, szSerial, nReserved);
            說明:SdConfirmRegistration函數創建一個對話框,顯示用戶名、公司名稱和序列號。如果在該對話框的任何區域輸入一個空字符串(""),顯示的區域將為空。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("注冊認可") ,給該參數傳遞一個空字符串("")。
            szName
            指定最終用戶姓名。
            szCompany
            指定公司名稱。
            szSerial
            指定序列號。如果該參數包含一個空字符串(""),序列號區不在對話框顯示。
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            YES (1):表明單擊Yes按鈕。
            NO (0):表明單擊No按鈕。
            注解:
            ·為得到序列號和最終用戶的姓名和公司名,調用SdRegisterUserEx。只要得到姓名和公司名,調用SdRegisterUser。
            5.13? SdDisplayTopics
            語法:SdDisplayTopics (szTitle, szMsg, listTopics, listDetails, nReserved);
            說明:SdDisplayTopics 函數創建一個對話框,顯示基于主題數據(資料)的信息。對話框提供一個標題然后是標題的主題和說明。你可以修改說明文本的字體風格以讓它和標題(主題)文本想區別。消息和主題標題通常是粗體。可使用該對話框顯示幫助主題、例子等。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("自定義安裝幫助") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定對話框中顯示的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            listTopics
            指定要顯示的包含主題的字符串列表。
            listDetails
            指定包含每個主題的說明的字符串列表。
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·消息靜態區必須以801為ID。主題標識符ID必須在802-849的范圍之內。說明區ID必須在851-899的范圍之內。
            ·靜態說明區的空間由對話框的大小固定。你不能動態改變listDetails列表的空間。如果主題和說明的數目小于靜態區的數目,在空白區不顯示任何內容,但對話框大小不會改變。
            5.14? SdExceptions
            語法:SdExceptions (nExceptionType, szFilename);
            說明:SdExceptions函數顯示一個對話框,通知最終用戶遇到一個共享,鎖定(在使用中)或只讀的文件并提供適當的選項。
            參數:
            nExceptionType
            指定遇到文件問題的類型。在該參數位置傳遞下列預定義常量之一:
            SHARED:一個共享的文件,其引用計數器已經減為0。
            READONLY:遇到一個只讀文件。
            LOCKED:遇到一個鎖定文件。
            szFilename
            指定遇到問題的文件名。
            返回值:
            ERR_RETRY (4):表明選定了Retry按鈕。
            ERR_IGNORE (5):表明選定了Ignore按鈕。
            ERR_YES (6):表明選定了Yes按鈕。
            ERR_NO (7):表明選定了No按鈕。
            ERR_PERFORM_AFTER_REBOOT (100):表明選定了Reboot按鈕。
            <0:表明對話框不能被顯示。
            5.15? SdFinish
            語法:SdFinish (szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2);
            說明:SdFinish函數顯示一個對話框,通知最終用戶安裝已完成并給用戶信息或選擇。SdFinish對話框顯示兩個消息和兩個復選框選擇選項。例如,你可能想要提供給用戶查看README文件或運行應用程序的選擇。
            ??? 為在消息中或復選框說明中插入產品名稱,在szMsg1, szMsg2, szOpt1, 和szOpt2傳遞的字符串中使用位置夾%P。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("安裝完成") ,給該參數傳遞一個空字符串("")。
            szMsg1
            指定在對話框頂端顯示的消息。為顯示通知用戶安裝完成的缺省指示,給該參數傳遞一個空字符串("")。
            szMsg2
            指定在對話框底部顯示的消息。為顯示缺省指示("單擊Finish按鈕完成安裝"),給該參數傳遞一個空字符串("")。
            szOpt1
            指定顯示在第一個復選框旁邊的文本。給該參數傳遞一個空字符串("")來隱藏復選框。
            szOpt2
            指定顯示在第二個復選框旁邊的文本。給該參數傳遞一個空字符串("")來隱藏復選框。
            bvOpt1
            返回第一個復選框的選擇狀態(TRUE或FALSE)。
            bvOpt2
            返回第二個復選框的選擇狀態(TRUE或FALSE)。
            返回值:
            NEXT (1):表明單擊了Finish按鈕。
            注解:
            ·SdFinish沒有選項來終止安裝和重啟最終用戶的計算機。當SdFinish返回時,安裝繼續執行。當有必要提供給用戶重啟的選項時,可用調用SdFinishReboot來代替。
            ·因為SdFinish被設計為宣告安裝結束,所以Back按鈕被禁用。
            5.16? SdFinishEx
            語法:SdFinishEx (szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2);
            說明:SdFinishEx函數調用SdFinish或SdFinishReboot來顯示一個對話框,通知最終用戶安裝已完成并給用戶信息或選擇。如果系統變量BATCH_INSTALL等于FALSE(表明安裝過程中沒有遇到鎖定文件),SdFinishEx調用SdFinish來顯示對話框。如果BATCH_INSTALL等于TRUE,SdFinishEx調用SdFinishReboot來顯示對話框。
            ??? 為在消息中或復選框說明中插入產品名稱,在szMsg1, szMsg2, szOpt1, 和szOpt2傳遞的字符串中使用位置夾%P。
            參數:
            參數和SdFinish的相同。如果BATCH_INSTALL等于TRUE,這些參數被忽略并調用 SdFinishReboot("","",SYS_BOOTMACHINE,"",0)。
            返回值:
            0:表明調用了SdFinish。
            NEXT (1):表明調用SdFinishReboot并且最終用戶不重啟計算機。
            <0:表明調用SdFinishReboot并且最終用戶選擇重啟計算機,但重啟失敗。
            5.17? SdFinishReboot
            語法:SdFinishReboot (szTitle, szMsg1, nDefOption, szMsg2, nReserved);
            說明:SdFinishReboot函數在你的安裝結尾宣告安裝完成并提供給用戶重啟系統的選項。重啟系統允許修改Autoexec.bat,Config.sys和一些.ini文件使其起作用。
            ??? SdFinishReboot對話框在靜態文本區中顯示兩個消息。用參數szMsg1和szMsg2來設置這些區域的值。為在消息中或復選框說明中插入產品名稱,在szMsg1和szMsg2傳遞的字符串中使用位置夾%P。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("安裝完成") ,給該參數傳遞一個空字符串("")。
            szMsg1
            指定在對話框頂端顯示的消息。為顯示通知用戶安裝完成的缺省指示,給該參數傳遞一個空字符串("")。
            nDefOption
            指定一個缺省單選按鈕選項選擇。在該參數位置傳遞下列預定義常量之一:
            SYS_BOOTMACHINE:安裝結束時重啟計算機。
            0:不重啟計算機。.
            szMsg2
            指定顯示在對話框底部的文本,提供用戶要做什么的信息。為顯示缺省指示,傳遞一個空字符串("")。
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            WILL_REBOOT:表明用戶選擇重啟系統。
            NEXT (1):表明用戶沒有選擇重啟系統或Windows。
            <0:表明用戶選擇重啟系統或Windows,但重啟失敗。
            注解:
            ·因為當其它InstallShield實例運行時,InstallShield將盡力不重啟計算機,所以你必須在允許SdFinishReboot重啟Windows或系統前關閉所有其它InstallShield實例。另外,你給用戶的消息必須要求他們以后若要重啟系統,則他們必須確保首先關閉所有其它的應用程序。
            ·InstallShield自動確保鎖定的.dll和.exe文件在下一次系統啟動時將被更新。
            ·因為SdFinishReboot被設計為宣告安裝結束,所以Back按鈕被禁用。
            5.18? SdInit
            語法:SdInit ( );
            說明:SdInit函數準備一個調用Sd對話框函數的安裝:裝入所需的資源字符串,還原最小化的InstallShield窗口,并指定在Sd對話框中Windows 95風格的復選框。
            參數:
            該函數沒有參數。
            返回值:
            0:表明安裝為調用Sd對話框函數作好初始化。
            1:表明為調用Sd對話框函數,安裝已經被初始化。
            注解:
            ·該函數由每個Sd函數自動調用。沒有必要顯式調用SdInit,除非你的腳本在調用任何Sd對話框函數前調用了DialogSetInfo。這種情況下,你的腳本必須在調用DialogSetInfo前調用SdInit;否則對DialogSetInfo的調用不起任何作用。
            5.19? SdLicense
            語法:SdLicense (szTitle, szMsg, szQuestion, szLicenseFile);
            說明:SdLicense函數顯示一個對話框,包含一個在多行編輯區的許可證協議。許可證協議保存在一個由參數szLicenseFile指定的文本文件中。
            ??? 用戶可以上下滾動來閱讀協議,然后必須選擇Yes、No或Enable、Back按鈕。因為這可能是你將顯示的第一個對話框,你可能要禁止Back按鈕。如果用戶選擇了Yes,安裝將繼續。如果用戶選擇了No,InstallShield將顯示退出安裝對話框。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("軟件許可證協議") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在多行編輯區上方的靜態文本區中的消息。為顯示缺省指示,傳遞一個空字符串。
            szQuestion
            指定顯示在多行編輯區下方的靜態文本區中的文本。你可能在這兒放置一個問題,用戶必須選擇Yes 或 No來響應它。為顯示缺省指示,給該參數傳遞一個空字符串("")。
            szLicenseFile
            指定包含許可證協議的文本文件名。該文件必須被加到安裝文件窗格中適當語言文件夾中。
            返回值:
            YES (1):表明用戶選擇了Yes按鈕。
            BACK (12):表明用戶選擇了Back按鈕。
            注解:
            ·該函數不能返回NO,因為,如果用戶選擇了No按鈕,將顯示退出安裝對話框。
            ·你也可以通過輸入全限定名,在引號中,或一個Universal Naming Convention (UNC)路徑來指定szLicenseFile。
            ·在szLicenseFile中的文本在超過1024個字符的一行后必須包含硬回車。該文件的文本必須以1024字節為間隔讀入字符串列表。如果從szLicenseFile的文本不包含硬回車,單詞會在SdLicense對話框中意外地回繞。
            5.20? SdLoadString
            語法:SdLoadString (nID);
            說明:SdLoadString函數返回與指定的資源ID相聯系的字符串值。安裝引擎首先在_isuser.dll(如果該文件存在)中查找資源;如果資源沒有找到,安裝引擎在_isres.all中查找。
            參數:
            nID
            指定一個在_isuser.dll或 _isres.dll中的字符串資源的標識符。一些nID的有效值可以在InstallShield? Professional? 文件夾的 Script\Ifx\Include 的子文件夾的 Ifx.h文件中找到。
            返回值:
            非空字符串值
            SdLoadString成功檢索到字符串值。
            空字符串值("")
            表明SdLoadString失敗。
            5.21? SdMakeName
            語法:SdMakeName (svSection, szDlg, szUnused, nvDlgName);
            說明:SdMakeName函數為一個自定義對話框創建一個節名。該節名在寫到一個.iss文件或從中讀出時被使用,由InstallShiled Silent使用。
            參數:
            svSection
            指定節名(InstallShield使用變量szDlg和 nvDlgName來給該變量置一個值)。該值由SilentReadData和 SilentWriteData.使用。
            szDlg
            指定自定義對話框的名稱。
            szUnused
            該參數不使用,給它傳遞一個空字符串("")。
            nvDlgName
            指定記錄SdMakeName被由szDlg命名的對話框調用的次數的計數器。InstallShield自動增加該計數器。為每個自定義對話框使用一個唯一的變量名。(可參閱下面的注解)
            返回值:? 無。
            注解:
            ·為使節被適當命名,你必須在每個不同的自定義對話框的第四個參數使用一個唯一的變量名。做到這一點的簡單方法是在szDlg使用對話框名來命名該變量。例如,當szDlg是"MyDlgOne",命名在第四個參數的變量為nvMyDlgOne;當szDlg是"MyDlgTwo",命名該變量為nvMyDlgTwo。
            5.22? SdOptionsButtons
            語法:SdOptionsButtons (szTitle, szMsg, listButtons, listDescription);
            說明:SdOptionsButtons函數顯示一個對話框,包含一到四個位圖按鈕和一個簡短的對每個按鈕的文本說明。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇組件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為顯示該對話框缺省指示("請選擇你要安裝的組件"),給該參數傳遞一個空字符串("")。
            listButtons
            指定一個包含一到四個元素的字符串列表。每個元素是一個格式化的指定顯示在按鈕上的位圖的字符串。一個按鈕將被用來顯示列表中的每個字符串元素。字符串列表元素必須有下列格式:
            ?"@<位圖ID>;<位圖圖標標志>;<透明顏色>"
            由@符號開始字符串并后隨位圖ID。<位圖圖標標志>域是1(真)或0(假),表明位圖被顯示時在<透明顏色>域指定的顏色是否要透明顯示。<透明顏色>域指定一個RGB值,它是位圖的透明顏色。注意分號將ID和圖標標志、圖標標志和透明顏色分隔。
            更多的信息可參閱下面的注解部分。
            listDescription
            指定一個包含一到四個字符串元素的字符串列表,每個相對應于參數listButtons中的一個字符串。每個字符串是一個和它相應按鈕一起顯示的文本說明。
            返回值:
            NEXT (1):表明單擊了NEXT按鈕。
            BACK (12):表明單擊了Back按鈕。
            101:對應于listButtons中的第一個字符串元素的按鈕被選定。
            102:對應于listButtons中的第二個字符串元素的按鈕被選定。
            103:對應于listButtons中的第三個字符串元素的按鈕被選定。
            104:對應于listButtons中的第四個字符串元素的按鈕被選定。
            注解:
            ·雖然SdOptionsButtons可以被使用為一個安裝類型對話框,但還是推薦使用SdSetupTypeEx對話框來允許最終用戶選擇一個安裝類型,因為它不需要任何用戶化。注意如果你調用SdOptionsButtons來得到最終用戶的安裝類型選擇,你必須然后調用ComponentButtons來為你的安裝建立選擇的安裝類型。
            ·InstallShield提供可以被該函數調用的四個_isres.dll中的缺省位圖。這些位圖有從12001到12004的ID和在腳本范例中相應的典型、可移植、簡易和自定義安裝類型。
            ·如果你使用該對話框作其它用途或你想要使用_isres.dll中提供的類型之外的安裝類型,你必須將你自己的自定義按鈕加入到_isuser.dll對話框模板中并且然后在你的安裝中包含自定義的_isuser.dll。
            ·為防止用戶沒有單擊一個特定按鈕時就退出對話框,在你調用SdOptionsButtons前調用Disable函數來禁止Next按鈕。
            5.23? SdProductName
            語法:SdProductName (szProductName);
            說明:SdProductName函數使得你的產品名對所有的%P位置夾都有效。%P位置夾在一些Sd對話框中的靜態文本區中找到。另外,一些Sd對話框函數,如SdFinish,允許你在作為函數參數的字符串中包含%P。
            參數:
            szProductName
            指定被安裝的產品名。該名稱將取代在Sd對話框的適當靜態區出現的任何產品名位置夾(%P)。
            返回值:
            該函數沒有返回值。
            5.24? SdRegisterUser
            語法:SdRegisterUser (szTitle, szMsg, svName, svCompany);
            說明:SdRegisterUser函數創建一個對話框,檢索用戶姓名和公司名稱。如果svName和svCompany都包含空字符串,InstallShield將從注冊表中得到用戶姓名和公司名稱。
            ??? 僅當兩個編輯區都存在數據時Next按鈕才被激活。如果InstallShield可以從系統查找缺省姓名和公司名稱,Next按鈕被自動激活。完成時,SdRegisteruser調用RegDBSetDefaultRoot來將注冊表開關鍵設置給HKEY_CLASSES_ROOT。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("用戶信息") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。該文本被看作為一個靜態控制。為顯示該對話框缺省指示,給該參數傳遞一個空字符串("")。
            svName
            返回由用戶輸入的姓名。注意SdRegisterUser顯示該參數的初始值由用戶進行編輯。如果svName和svCompany都是空字符串,在目標系統注冊表中被找到的用戶姓名將被顯示來進行編輯。
            svCompany
            返回由用戶輸入的公司名稱。注意SdRegisterUser顯示該參數的初始值由用戶進行編輯。如果svName和svCompany都是空字符串,在目標系統注冊表中被找到的公司名稱將被顯示來進行編輯。
            返回值:
            NEXT (1):表明單擊了NEXT按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.25? SdRegisterUserEx
            語法:SdRegisterUserEx (szTitle, szMsg, svName, svCompany, svSerial);
            說明:SdRegisterUserEx函數創建一個對話框,檢索用戶姓名、公司名稱和序列號。如果svName和svCompany都包含空字符串,InstallShield將從注冊表得到用戶姓名和公司名稱。
            ??? 僅當三個編輯區都存在數據時Next按鈕才被激活。你不能讓任何區域空白。
            完成時,SdRegisteruser調用RegDBSetDefaultRoot來將注冊表開關鍵設置給HKEY_CLASSES_ROOT。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("用戶信息") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。該文本被看作為一個靜態控件。為顯示該對話框缺省指示,給該參數傳遞一個空字符串("")。
            svName
            返回由用戶輸入的姓名。注意SdRegisterUserEx顯示該參數的初始值由用戶進行編輯。如果svName和svCompany都是空字符串,在目標系統注冊表中被找到的用戶姓名將被顯示來進行編輯。
            svCompany
            返回由用戶輸入的公司名稱。注意SdRegisterUserEx顯示該參數的初始值由用戶進行編輯。如果svName和svCompany都是空字符串,在目標系統注冊表中被找到的公司名稱將被顯示來進行編輯。
            svSerial
            返回用戶輸入的序列號。你可以使用該信息并把它寫入一個文件或者把它顯示在一個確認對話框中。
            返回值:
            NEXT (1):表明單擊了NEXT按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.26? SdSelectFolder
            語法:SdSelectFolder (szTitle, szMsg, svDefGroup);
            說明:SdSelectFolder函數顯示供選擇的程序文件夾。SdSelectFolder允許你提供一個缺省選擇。用戶也可以輸入一個新的文件夾名。SdSelectFolder將僅返回被選擇的或輸入的文件夾名。它不能創建文件夾。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("選擇程序文件夾") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。該文本被看作為一個靜態控件。為顯示該對話框缺省指示,給該參數傳遞一個空字符串("")。
            svDefGroup
            返回被選文件夾的名稱。
            返回值:
            NEXT (1):表明單擊了NEXT按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·運行在Windows NT下的一個安裝中,如果在調用SdSelectFolder前調用ProgDefGroup,由SdSelectFolder顯示的程序文件夾(公用或專用)將依賴于傳遞給ProgDefGroupType的參數。
            5.27? SdSetupType
            語法:SdSetupType (szTitle, szMsg, svDir, nReserved);
            說明:SdSetupType函數顯示一個對話框允許最終用戶選擇三種標準安裝類型之一:典型、簡易或自定義。這些安裝選項顯示時有標準描述文本。如果你想加入其它安裝類型或改變顯示的安裝類型名或描述,調用SdSetupTypeEx來替代。
            ??? 對話框也顯示一個缺省的目標路徑。一個Browse按鈕裝入一個對話框,允許最終用戶通過輸入一個新文件夾名或從一個列表中選擇存在的文件夾來修改目標路徑。如果最終用戶輸入一個不存在的文件夾名,將顯示一個消息框來詢問是否要創建該文件夾。如果最終用戶單擊Yes,該函數自動創建指定文件夾。指定文件夾的全限定路徑在svDir返回。
            如果最終用戶在使用組件對話框來選定和撤消選定與已選安裝類型相聯系的組件后,返回到安裝類型對話框,那么那些選擇將丟失。這種情況發生是因為SdSetupType函數每次被調用時自動根據選中的安裝類型復位缺省組件選項。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("安裝類型") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。該文本被看作為一個靜態控件。為顯示該對話框缺省指示,給該參數傳遞一個空字符串("")。
            svDir
            指定一個缺省文件夾名。返回最終用戶所選的文件夾名。
            nReserved
            保留為將來使用。給該參數傳遞0。
            返回值:
            TYPICAL (301):表明用戶選擇典型安裝。
            COMPACT (302):表明用戶選擇簡易安裝。
            CUSTOM (303):表明用戶選擇自定義安裝。
            BACK (12):表明單擊Back按鈕。
            5.28? SdSetupTypeEx
            語法:SdSetupTypeEx (szTitle, szMsg, szReserved, svSetupType, nReserved);
            說明:SdSetupTypeEx函數顯示一個對話框,當你指定除典型、簡易和自定義之外的安裝類型時,允許最終用戶選擇安裝類型。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("安裝類型") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為顯示該對話框缺省指示,給該參數傳遞一個空字符串("")。
            szReserved
            給該參數傳遞一個空字符串("")。不允許其它值。
            svSetupType
            指定一個缺省安裝類型和返回由最終用戶選擇的安裝類型。為使在列表中的第一次安裝為缺省選擇,給該參數傳遞一個空字符串("")。在該參數返回的字符串將和在IDE中指定的安裝類型名相匹配。
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            0:表明SdSetupTypeEx成功。
            BACK (12):表明單擊了Back按鈕。
            5.29? SdShowAnyDialog
            語法:SdShowAnyDialog (szTitle, szID, nID, nReserved);
            說明:SdShowAnyDialog函數顯示一個自定義或改進型對話框。該函數僅推薦給高級用戶使用。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("歡迎") ,給該參數傳遞一個空字符串("")。
            szID
            指定標識對話框的標識符字符串。如果該參數包含一個空字符串(""),SdShowAnyDialog使用nID的值。
            nID
            指定標識對話框的數值型值。如果szID包含一個空字符串(""),該參數被忽略。
            nReserved
            給該參數傳遞0。不允許其它值。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·為了使用SdShowAnyDialog函數,你必須知道你希望顯示的_isres.dll中的改進型對話框或_isuser.dll中的自定義對話框的ID。
            ·如果對話框只有靜態控件,你不需要修改SdShowAnyDialog腳本文件。但如果你的對話框有其它控件,為了處理用戶的反饋,你必須修改Sdsadlg.rul文件,位于你的InstallShield程序文件夾中的Script/Srt文件夾,
            5.30? SdShowDlgEdit1
            語法:SdShowDlgEdit1 (szTitle, szMsg, szField1, svEdit1);
            說明:SdShowDlgEdit1函數創建一個通用對話框,顯示一個消息和一個單行編輯區。你可以為該對話框指定一個標題。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("編輯數據") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為在該消息包含由先前調用SdProductName設置的產品名稱,在該消息的任何地方插入位置夾%P。當消息被顯示時,%P由產品名稱代替。
            szField1
            指定顯示在編輯區左邊的域名。缺省的域名是"域1:";為顯示缺省名稱,給該參數傳遞一個空字符串("")。可以被顯示的字符數最大約為10。實際的最大值依賴于域名中每個字符的組合寬度。如果域名超出有效空間,則當對話框被顯示時它將從右被截尾。
            svEdit1
            指定編輯區的初始值;當對話框被關閉時,返回編輯區的值。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.31? SdShowDlgEdit2
            語法:SdShowDlgEdit2 (szTitle, szMsg, szField1, szField2, svEdit1, svEdit2);
            說明:SdShowDlgEdit2函數創建一個通用對話框,顯示一個消息和兩個單行編輯區。你可以為該對話框指定一個標題。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("編輯數據") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為在該消息包含由先前調用SdProductName設置的產品名稱,在該消息的任何地方插入位置夾%P。當消息被顯示時,%P由產品名稱代替。
            szField1
            指定顯示在第一個編輯區左邊的域名。缺省的域名是"域1:";為顯示缺省名稱,給該參數傳遞一個空字符串("")。可以被顯示的字符數最大約為10。實際的最大值依賴于域名中每個字符的組合寬度。如果域名超出有效空間,則當對話框被顯示時它將從右被截尾。
            szField2
            為第二個編輯區指定域名。缺省為"域2:"。
            svEdit1
            指定第一個編輯區的初始值;當對話框被關閉時,返回第一個編輯區的值。
            svEdit2
            指定第二個編輯區的初始值;當對話框被關閉時,返回第二個編輯區的值。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.32? SdShowDlgEdit3
            語法:SdShowDlgEdit3 (szTitle, szMsg, szField1, szField2, szField3, svEdit1, svEdit2, svEdit3);
            說明:SdShowDlgEdit2函數創建一個通用對話框,顯示一個消息和三個單行編輯區。你可以為該對話框指定一個標題。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("編輯數據") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為在該消息包含由先前調用SdProductName設置的產品名稱,在該消息的任何地方插入位置夾%P。當消息被顯示時,%P由產品名稱代替。
            szField1
            指定顯示在第一個編輯區左邊的域名。缺省的域名是"域1:";為顯示缺省名稱,給該參數傳遞一個空字符串("")。可以被顯示的字符數最大約為10。實際的最大值依賴于域名中每個字符的組合寬度。如果域名超出有效空間,則當對話框被顯示時它將從右被截尾。
            szField2
            為第二個編輯區指定域名。缺省為"域2:"。
            szField3
            為第二個編輯區指定域名。缺省為"域2:"。
            svEdit1
            指定第一個編輯區的初始值;當對話框被關閉時,返回第一個編輯區的值。
            svEdit2
            指定第二個編輯區的初始值;當對話框被關閉時,返回第二個編輯區的值。
            svEdit3
            指定第三個編輯區的初始值;當對話框被關閉時,返回第三個編輯區的值。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.33? SdShowFileMods
            語法:SdShowFileMods (szTitle, szMsg, szTargetFile, szAltFile, listChanges, nvSelection);
            說明:SdShowFileMods函數創建一個對話框,顯示你想要對一個文件進行的修改。下面這些選擇是有效的:
            修改目標文件。
            修改替代文件,它是目標文件的拷貝,但非聯合修改。
            不作任何修改。SdShowFileMods不對文件作修改。你必須使用適當的文件函數把那些修改寫入你的腳本。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("修改文件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            szTargetFile
            指定要修改的文件名。它將和第一個單選按鈕一起顯示。
            szAltFile
            如果最終用戶決定要作修改,指定該文件的替代名。這將和第二個單選按鈕一起顯示。為使用sztargetFile指定的擴展名為.bak的文件名,給該參數傳遞一個空字符串("")。
            listChanges
            指定字符串列表名,它包含對文件所作修改的列表。該列表位于一個多行編輯區,允許最終用戶選擇要實現的修改。
            nvSelection
            返回最終用戶選擇的按鈕的ID:
            101: "讓安裝修改<szTargetFile>文件。"
            102: "保存對<szAltFile>所要求的修改。"
            103: "不作任何修改。"
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            5.34? SdShowInfoList
            語法:SdShowInfoList (szTitle, szMsg, listID);
            說明:SdShowInfoList函數創建一個對話框,顯示一個可滾動的消息列表。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("信息") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在信息框上方一行的消息。如果消息長于一行,將被從右截尾。如果消息包含一個換行符(\n),換行符后的文本不被顯示。為顯示缺省消息("Text"),給該參數傳遞一個空字符串("")。
            listID
            指定顯示在對話框的消息列表。所有顯示在對話框的消息為只讀。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            BACK (12):表明單擊了Back按鈕。
            注解:
            ·多行編輯區必須為只讀。
            ·SdShowInfoList可以顯示大約多達57200個字符的列表。
            5.35? SdShowMsg
            語法:SdShowMsg (szMsg, bShow);
            說明:SdShowMsg函數打開或關閉一個小的非模態窗口,顯示由szMsg指定的消息。當bShow為TRUE,窗口被打開,消息顯示在窗口中,并且繼續腳本中下一個語句的處理。注意SdShowMsg窗口被置于安裝窗口的中央。當bShow為FALSE時,szMsg被忽略并且關閉SdShowMsg窗口。
            參數:
            szMsg
            指定顯示在窗口的消息。為顯示缺省消息("安裝正查找已安裝的組件"),給該參數傳遞一個空字符串("")。當bShow為FALSE時該參數被忽略。
            bShow
            指定是否要打開或關閉窗口。在該參數位置傳遞下列預定義常量之一:
            TRUE:如果窗口沒有打開則打開它。
            FALSE:如果窗口打開了則關閉它。
            返回值:
            返回值總為0。
            注解:
            ·SdShowMsg函數提供了一個簡單方法使得腳本進程繼續的同時,可以將一個顯示豐富資料的消息保留在屏幕上。
            ·當SdShowMsg窗口是打開的,隨后的對SdShowMsg(第二個參數為TRUE)的調用被忽略。為改變消息,你必須首先以第二個參數為FALSE調用SdShowMsg來關閉窗口,然后以第二個參數為TRUE,szMsg為新的消息再次調用SdShowMsg。
            ·SdShowMsg窗口水平調整大小來在一行上顯示szMsg的值。如果消息的長度超過窗口的最大寬度,消息被截尾以適應窗口。
            ·SdShowMsg被設計為單行顯示消息。不要在szMag中嵌入換行符(\n)。
            5.36 SdStartCopy
            語法:SdStartCopy (szTitle, szMsg, listData);
            說明:SdStartCopy函數創建一個多行編輯區,顯示安裝過程中所作的設置和選擇。為按需改變設置,用戶可以單擊對話框的Back按鈕來返回到以前的對話框。在檢索用戶的選擇后,開始文件傳輸處理之前調用SdStartCopy。
            ??? 使用一個字符串列表來收集安裝過程中得到的信息。然后你可以將該字符串列表傳遞給SdStartCopy的參數listData。SdStartCopy將顯示該列表并允許用戶在繼續文件傳輸處理之前確認這些信息是正確的。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("開始拷貝文件") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在多行編輯區上方的靜態文本區的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            listData
            指定從最終用戶檢索得的信息字符串列表。SdStartCopy會自動將每個元素放置到多行編輯區。如果列表為空,該多行編輯區將被隱藏并且只有靜態文本區為可見。
            返回值:
            NEXT (1):表明用戶選定了Next按鈕。
            BACK (12):表明用戶選定了Back按鈕。
            5.37? SdWelcome
            語法:SdWelcome (szTitle, szMsg);
            說明:SdWelcome函數顯示一個對話框,歡迎最終用戶。
            參數:
            szTitle
            指定顯示在對話框標題部分的文本。為顯示缺省標題("歡迎") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在歡迎對話框中的消息。為在該消息中包含先前調用SdProductName而設置的產品名稱,在該消息的任意位置插入一個位置夾%P。當該消息被顯示時,%P被產品名稱代替。為顯示缺省歡迎消息("歡迎進入%P安裝程序。該程序將在你的計算機上安裝%P"),給該參數傳遞一個空字符串("")。
            返回值:
            NEXT (1):表明單擊了Next按鈕。
            5.38? SdWelcomeMaint
            語法:SdWelcomeMaint (szTitle, szMsg, nType);
            說明:SdWelcomeMaint函數顯示一個對話框 ,在一個維護型安裝(也就是,一個已經被運行的安裝的重運行)的開始時使用。該對話框包含修改、修復、刪除選項按鈕。
            參數:
            szTitle
            指定對話框標題。為顯示缺省標題("歡迎") ,給該參數傳遞一個空字符串("")。
            szMsg
            指定顯示在對話框的消息。為顯示該對話框的缺省指示,給該參數傳遞一個空字符串("")。
            nType
            指定哪個選項按鈕為缺省選擇。你必須在該參數位置傳遞下列預定義常量之一,使在對話框中正確顯示:
            MODIFY:修改按鈕為缺省選擇。
            REPAIR:修復按鈕為缺省選擇。
            REMOVEALL:刪除按鈕為缺省選擇。
            返回值:
            MODIFY (301):表明當單擊Next按鈕后修改按鈕被選定。
            REPAIR (302):表明當單擊Next按鈕后修復按鈕被選定。
            REMOVEALL (303):表明當單擊Next按鈕后刪除按鈕被選定。
            posted on 2007-01-18 11:58 小不懂^_^ 閱讀(1591) 評論(0)  編輯 收藏 引用
            97视频久久久| 久久精品国产亚洲AV影院| 97精品国产97久久久久久免费| 伊人色综合九久久天天蜜桃| 亚洲AV成人无码久久精品老人 | 日韩欧美亚洲综合久久| 免费无码国产欧美久久18| 国产精品久久久久AV福利动漫| 久久99亚洲综合精品首页| 国产偷久久久精品专区| 精品久久久久久无码人妻蜜桃| 久久国产免费直播| 久久精品国产WWW456C0M| 韩国免费A级毛片久久| 欧洲性大片xxxxx久久久| 国产91色综合久久免费分享| 欧美亚洲国产精品久久久久| 久久久久久国产精品免费无码| 久久久久黑人强伦姧人妻| 精品无码久久久久久午夜| 伊人久久无码中文字幕| 久久精品国产一区二区三区| 99国产欧美久久久精品蜜芽| 少妇熟女久久综合网色欲| 四虎久久影院| 精品久久久久久国产免费了| .精品久久久麻豆国产精品| 思思久久99热只有频精品66| 久久精品综合一区二区三区| 婷婷综合久久狠狠色99h| 国产精品久久久久jk制服| 一本久道久久综合狠狠爱| 久久精品免费一区二区| 亚洲国产成人久久综合碰| 久久青青草原精品国产软件| 理论片午午伦夜理片久久| 丁香久久婷婷国产午夜视频| 久久精品九九亚洲精品天堂| 久久免费视频网站| 国产成人精品综合久久久| 久久99精品国产麻豆婷婷|