您现在的位置: 爱51代码网 >> 范文 >> 文章正文
inno setup可以根据某个条件释放指定的文件到某个目录吗

inno setup可以根据某个条件释放指定的文件到某个目录吗

比如我有file1.sys 和file2.sys
我想判断下操作系统的位数是否是64位然后 决定使用哪个sys文件
最终会存成file.sys 但一个是32位一个是64位的
可以用 IsWin64 判断操作系统位数 这个我懂,但是
file1 file2在脚本里一般要指定最终释放到的目录的
能不能先驻留内存 当我的条件符合时决定释放哪个文件到安装目录吗?
脚本如何写?

方法其实很简单。

①先解决你文件的问题。
1、[Files]段可以使用参数DestName来指定复制后的文件名,即可实现安装包里file1.sys变成机器上的file.sys;
2、[Files]段中分别添加不同路径的file.sys,比如\32\file.sys和\64\file.sys。

②再解决64的判断问题。
1、在[setup段]添加64位判断ArchitecturesInstallIn64BitMode=x64
2、给[Files]段的64位文件添加Check:Is64BitInstallMode即可。

注意:[Files]中要先写32位文件再写64位文件。
原理:32位文件不管如何都会复制到系统;如果判断为64位,继续复制64位文件覆盖之前的32位文件。

[Files] Source: \SQLServer2005_BC.msi; DestDir: {tmp}; DestName:'SQLServer2005_BC.msi'; Flags: dontcopy; Check: not Is64BitInstallMode Source: \SQLServer2005_BC_x64.msi; DestDir: {tmp}; DestName:'SQLServer2005_BC.msi'; Flags: dontcopy; Check: Is64BitInstallMode [Run] Filename: {%COMSPEC}; Parameters: /C msiexec -i {tmp}\SQLServer2005_BC.msi; WorkingDir:{tmp}; StatusMsg: “正在安装SQL-DMO组件...”

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    E-business suite system servic
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    undefined reference timer_crea
    Failed to open eth0
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    MFC拖动界面到屏幕外刷新的问
    vc如何实现桌面工作区域设定
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |