• InstallShield安装包中集成第三方安装包的方案选择[转]


     

     

    我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项。

    第三方安装包的介质类型有很多,主要有:单独的一个Setup.exe,单独的一个msi包,或者是类似光盘结构的一组文件及文件夹的安装包。

    首先,如何在InstallShield中添加第三方安装包:

    如果是单独的Setup.exe或单独的msi包,可以将他们添加到【Behavior and logic】 -> 【Support Files】 -> 【Language Independent】中。

    如果是一组文件以及文件夹的安装包,可以将他们添加到【Behavior and logic】 -> 【Support Files】 -> 【Advanced Files】-> 【Disk1】中。

    其次,第三方安装包在InstallShield中的路径如何获取:

    如果是单独的Setup.exe或单独的msi包, 可以通过SUPPORTDIR获取,然后组合出第三方安装包的执行路径。(注意:InstallScript工程中,SUPPORTDIR是一个系统变量,可以直接利用;而在MSI工程中,SUPPORTDIR是一个Property,所以需要通过MsiGetProperty读取)

    如果是一组文件以及文件夹的安装包,可以通过SETUPEXEDIR方安装包的执行路径。(注意:这里SETUPEXEDIR的读取方式同SUPPORTDIR)。
    最后,调用方法:
    如果是.exe文件,可以通过LaunchAppAndWait直接调用。

    如果是.msi文件,可以通过LaunchAppAndWait直接调用Windows Installer安装引擎,然后以参数的形式给入.msi路径。

    上述方式,只适用于主安装包是.exe的情况,如果是将主安装包做成单独的.msi包,其中SETUPEXEDIR将无效。

    另外,SETUPEXEDIR是InstallShield 8或9之后才有的一个系统变量,所以大家只用之前,可以通过帮助文档确认该变量的使用限制。

  • 相关阅读:
    pthread条件变量
    c++信号处理
    必杀技
    待飞日记(第四天和第五天)
    c++面试题总结(2)
    比起主流的30秒,10秒广告能获得2倍的效果
    c++面试题总结(1)
    待飞日记(第三天)
    static_cast, dynamic_cast, const_cast探讨
    c++一些问题总结
  • 原文地址:https://www.cnblogs.com/xiangfeideshui/p/3257397.html
Copyright © 2020-2023  润新知