作者: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; 
|