zoukankan      html  css  js  c++  java
  • Basic INFO: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文件(注意如果是多语言版本,需要放到对应的语言目录下)。

    版权声明: 转载时请务必以超链接形式标明文章原始出处和作者信息 

  • 相关阅读:
    MySQL Show Processlist 整理
    由linkedin数据库泄漏引发的思考[转发]
    MySQL 严重 Bug 用户登陆漏洞[转发]
    关于博客的开始
    Linux共享库位置配置
    getopt详解
    git使用
    ArrayList读源码心得
    HashMap内部实现机制及优化第一篇
    如何才能做一个好网站系列 第三篇 最初的思路
  • 原文地址:https://www.cnblogs.com/wanbinghong/p/2001034.html
Copyright © 2011-2022 走看看