InstallshieldX安装制作杂记(实例之安装完成)

作者:fbysss
Blog:blog.csdn.net/fbysss
声明:本文章由fbysss原创,转载或引用请注明引用地址。
    我们可以看到,很多软件在安装完成之后,可以有一些选项,比如“查看ReadMe”,“运行程序”等等,这是怎么做到的呢?
关键词:OnMoved、SdFinish
     1.InstallShieldX脚本中有一个OnMoved事件。这个事件在需要安装的文件拷贝完成之后触发;
     2.SdFinish是一个标准对话框函数,函数原型为SdFinish ( szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2 );从参数中可以发现,这里只提供最多两个选项。

实例代码如下:
function OnMoved()
    STRING szTitle;
    STRING   szMsg1, szMsg2,szOpt1,szOpt2;
    BOOL     bvOpt1, bvOpt2;
    STRING szApplicationPath,szApplicationCmdLine,szCmdLine;
begin     
    if (MAINTENANCE) then return 0;endif;//如果不是安装状态,比如修改/卸载状态的时候,则不执行。
    szTitle = "安装完成";//对话框的标题
    szMsg1  = "%P 安装已经完成./n" +
              "请根据需要选择下面的选项.";//%P为软件产品名称
//如果要单独在这里设置产品名称,在之前使用如下两句
//    szProductName = "某某软件";
//    SdProductName (szProductName);

    szMsg2  = "点击‘完成’按钮完成%P安装.";
    

    szOpt1 = "阅读自述文件";//如果这里为空,则表示只有一个选项
    szOpt2 = "运行程序";
    SdFinish (szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2);
    if (bvOpt1) then

        LaunchApp ('notepad.exe',TARGETDIR ^ "//readme.txt");//LaunchApp 用来运行某外部程序
    endif;
  
    if (bvOpt2) then
           LaunchApp (TARGETDIR ^ "//App.exe","");
    endif;

end;

你可能感兴趣的:(function,String,Blog,脚本,产品)