InstallShiled完成界面绑定安装软件

这个InstallShield 安装包中我设置了三种安装语言(英简繁),根据用户需要可以在开始运行安装时选择,具体设置我就不说了,那怎么样实现在安装的最后能有提示一个对话框,提供给用户选择需要立即运行的,就比方在装其他软件时有提示用户是否选择立即运行程序。
    这里要通过写程序来实现。我采用的是InstallScript Project这种工程
    在InstallScipt的Setup.Rul中,IS内部定义的阶段选择After Move Data,而后面的函数选择OnFirstUIAfter。(Attention:网上也有些关于写这个怎么实现的,但是他们采用的是OnMoved函数,我也曾试过那个函数,但后来发现使用那个函数存在缺点,不仅是在卸载软件时很不合情理的也出现这个选择运行程序的对话框,而且在点击了这个对话框的完成按纽后仍然会弹出一个SdFinish似的Dialog)
     所以还是采取OnFirstUIAfter函数较妥当。
     在程序展开的OnFirstUIAfter的函数体中先定义参数:
    STRING szTitle,szMsg1,szMsg2,szOpt2,szOpt2,szProductName;
    NUMBER bvOpt1,bvOpt2;  
    这里我设置可以根据安装选择的语言,使这个对话框中的显示的语言也不同,需要在这个函数体中加入三段程序。这里我只举在中文简体下的程序,其他两种变换一下就可以了。(因为是要在安装完成后弹出的对话框,所以选择了SdFinish这个Dialog)
 
在begin后面加入下面这段程序。
Dlg_SdFinish:
    if (SELECTED_LANGUAGE =ISLANG_CHINESE_SIMPLIFIED) then
     szProductName = "XXXXX";//输入你的软件名
     SdProductName (szProductName);
     // Setup parameters that will be passed to SdFinish.
     szTitle = "安装完成";
     szMsg1  = "%P 安装已经完成.\n" +
               "请根据需要选择下面的选项.";
     szMsg2  = "点击‘完成’按钮完成%P安装.";//%P为软件产品名称
     szOpt1 = "阅读帮助文件";//如果这里为空,则表示只有一个选项
     szOpt2 = "运行%p";
       // Display the SdFinish dialog box.
    SdFinish (szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2);
      if (bvOpt1) then
      LaunchApp ('conn.exe',INSTALLDIR ^ "readme.txt");//LaunchApp 用来运行某外部程序,你需要将conn.exe改成你系统需要运行的程序名
     endif;
     if (bvOpt2) then
            LaunchApp (INSTALLDIR ^ "\\conn.exe","");  // 第一个参数,表示目录安装目录,第二个,表示目录下的EXE,第三个,可用来传给EXE的参数
     endif;

end;

 最后保存,然后Build没有出现错误就OK了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值