上一篇转载了SUPPORTDIR的理论解释,现在截图说明实际操作:
选择依赖的语言,在右面的files框里右键点击,选择Insert Files插入文件,编译。因为安装得时候,压缩包会解压成一个临时文件,你就可以通过SUPPORTDIR获取添加文件的路径,调用文件了。例如:
SUPPORTDIR^"\\dotNetFx40_Full_x86_x64.exe"就是刚才添加的.net.的调用路径,通过这种方法可以有脚本来完成软件安装的时候检查.net的某个版本是否安装。附一段代码如下:
function OnBegin()
string svCurrentDir;
begin
// TO DO: you may change default non-UI setting, for example
//
// You may also perform your custom initialization steps, check requirements, etc.
//GetCurrentDir(svCurrentDir);
//svCurrentDir = svCurrentDir+"\\dotNetFx40_Full_x86_x64.exe";
svCurrentDir = SUPPORTDIR^"\\dotNetFx40_Full_x86_x64.exe";
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); //设置默认的注册表键值根节点
// 判断是否存在.net
if (RegDBKeyExist ("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4.0") <0 &&RegDBKeyExist ("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4") < 0) then
//当上面判断了没有安装.net这个软件时,则启动光盘里
//dotnetfx.exe安装程序来安装。
MessageBox ("检测到本机未安装.Net FrameWork 4.0,下一步将会先安装.Net FrameWork 4.0 ", INFORMATION);
if(LaunchAppAndWait (svCurrentDir ,"", LAAW_OPTION_WAIT)<0) then
MessageBox ("找不到安装程序或者安装出错,请双击运行dotNetFx40_Full_x86_x64.exe,手动安装", INFORMATION);
return 0;
endif;
endif;
end;