一、拷贝文件
if(XCopyFile(SUPPORTDIR^"文件.dll",WINDIR^"system\\文件.dll",COMP_NORMAL|SELFREGISTER)<0) then
MessageBox("拷贝文件出错!",WARNING);endif;
二、注册表
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
//判断存在
if (RegDBKeyExist ("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5")<0) then
LaunchAppAndWait (SRCDISK^"supportFiles\\dotnetfx35.exe","/q:a /c", LAAW_OPTION_WAIT);
endif;
//取值 放入szValue
RegDBGetKeyValueEx("SOFTWARE\\ESRI\\ArcGIS Engine Runtime","MainDir",nType,szValue,nSize);
三、隐藏安装文件复制界面
OnMoving函数中编写一行代码:Disable(STATUSOLD)
四、检测磁盘空间是否足够于安装
当安装包非常大时,我们通常要考虑目标计算机的执行磁盘分区是否有足够的空间来顺利完成安装,在这里可以通过GetDisk (szDir, svDrive)、GetDiskSpace (svDrive)函数进行粗略的估算,如下:
GetDisk (szDir, svDrive);
lFreeSpace = GetDiskSpace (svDrive);
if (lFreeSpace < 314572800) then
MessageBoxEx("警告:本安装所需磁盘空间最低约为300M,安装路径所在的磁盘空间不足!请重新选择!","警告",WARNING);
goto Dlg_SdAskDestPath;
endif;
上述代码一般放到OnFirstUIBefore函数的Dlg_SdAskDestPath中。