【问题标题】:How to pack two msi files and run a condition between them?如何打包两个 msi 文件并在它们之间运行条件?
【发布时间】:2009-12-21 12:42:30
【问题描述】:

我需要将两个 msi 文件打包到一个 setup.exe 文件中(通过引导程序)并根据条件仅运行其中一个(机器是 x64 或 x86)。
有没有办法做到这一点?

【问题讨论】:

    标签: installation wix windows-installer bootstrapping bootstrapper


    【解决方案1】:

    您可以使用 iexpress.exe(标准 Window 工具)打包这两个 msi 文件,还可以添加一个自定义批处理文件,将其设置为 iexpress 包的启动命令。批处理脚本将确定架构并启动相应的 msi 文件:

    if %PROCESSOR_ARCHITECTURE% EQU x86 (
      echo "x86"
      call setup-x86.msi
    ) ELSE (
       echo "x64"
       call setup-x64.msi
    )
    

    将该代码放在名为 installmsi.bat 的批处理文件中。然后稍后在 IExpress 向导中输入以下安装命令:

    cmd.exe /C installmsi.bat
    

    这里需要显式调用cmd.exe,否则IExpress会使用旧的command.com

    您可能还想隐藏批处理窗口,这可以通过在 IExpress 向导中设置适当的选项来完成。

    【讨论】:

      【解决方案2】:

      您可以编写一个程序并嵌入两个安装程序,然后让它检查系统是否为 64 位。我在http://blog.foldertrack.com/?p=45 写了一篇关于编写本机应用程序的博文@

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-04
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多