InstallShield的InstallScript MSI工程中如何添加用户协议界面

在InstallShield中,通过工程向导创建的InstallScript MSI工程中,默认情况下是没有用户协议界面的。
所以我们需要通过修改脚本的方式实现:
 
首先是在事件响应函数OnFirstUIBefore中添加SdLicense2Ex,部分代码段见:
Dlg_SdWelcome:
    szTitle 
=   "" ;
    szMsg   
=   "" ;
    nResult 
=  SdWelcome(szTitle, szMsg);
    
if  (nResult  =  BACK)  goto  Dlg_SdWelcome; 
    
Dlg_SdLicense2:
    szTitle 
=   "" ;
    szOpt1 
=   "" ;
    szOpt2 
=   "" ;
    
// {{IS_SCRIPT_TAG(License_File_Path)
    szLicenseFile 
=  SUPPORTDIR  ^   " License.rtf " ;
    
// }}IS_SCRIPT_TAG(License_File_Path)
    
// {{IS_SCRIPT_TAG(Dlg_SdLicense2)
    nResult 
=  SdLicense2Ex( szTitle, szOpt1, szOpt2, szLicenseFile, bLicenseAccepted,  TRUE  );
    
// }}IS_SCRIPT_TAG(Dlg_SdLicense2)
    
if  (nResult  =  BACK)  then
        
goto  Dlg_SdWelcome;
    
else
        bLicenseAccepted 
=   TRUE ;
    endif;

Dlg_SdRegisterUser:
    szMsg 
=   "" ;
    szTitle 
=   "" ;
    nResult 
=  SdRegisterUser( szTitle, szMsg, svName, svCompany );
    
if  (nResult  =  BACK)  goto  Dlg_SdLicense2;
 
在函数OnFirstUIBefore中增加如下变量定义代码段:
     STRING  szOpt1, szOpt2; 
    BOOL bLicenseAccepted;
最后一步是在Support Files/Billboards -> Support Files下添加License.rtf文件(注意如果是多语言版本,需要放到对应的语言目录下)。
 
转自Kevin Wan博客,更多Installshield打包技术交流问题可查看Appinstall论坛
( www.appinstall.cn)

你可能感兴趣的:(职场,休闲,installshield)