很多朋友经常来问:为什么我用CopyFile/XCopyFile函数拷贝文件无效?
引起这种情况的原因有很多,今天略微总结了一下,欢迎各位朋友跟帖补充不完善的地方
1:文件路径错误,比如将CopyFile/XCopyFile脚本放在OnFirstUIBefore里,但是引用的文件路径却是INSTALLDIR/TARGETDIR的,而这时候,安装程序还未将安装文件拷贝至用户安装路径,当然是找不到可拷贝的文件的
调试和解决办法:在任何拷贝之前,用FindFile函数来确定你的文件路径是否正确;有必要时,调整脚本所在位置
2:函数的参数使用错误,比如XCopyFile拷贝全部文件,参数写法是xxx\\*.*,而有的朋友粗心大意想当然地只写了需要拷贝的文件夹的名字,而不用通配符*.*去匹配文件夹之下的所有文件,自然拷贝不成功
调试和解决办法:多读几遍IS自带的函数的example
3:敏感区域的保护措施,常见的有win7, windows server系统,对系统盘的一些敏感区域保护是很严密的,普通权限的操作根本无法将文件拷贝进去
调试和解决办法:试试将函数的拷贝改成普通非系统盘路径是否成功,以便于确定是否是操作系统的保护引起的问题;解决办法,对于windows权限,并没有什么特别好的解决办法,无非是提升安装包的权限,比如在release里把required execute level选为highest available,有时候还需要做一些不太优雅的事情,比如打包完毕后拆包改设置提升权限,参阅
http://hi.baidu.com/westsky/blog/item/a114f4390bb1cafd3b87ceec.html