Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation 如何打包两个msi文件并在它们之间运行条件?_Installation_Wix_Windows Installer_Bootstrapping_Bootstrapper - Fatal编程技术网

Installation 如何打包两个msi文件并在它们之间运行条件?

Installation 如何打包两个msi文件并在它们之间运行条件?,installation,wix,windows-installer,bootstrapping,bootstrapper,Installation,Wix,Windows Installer,Bootstrapping,Bootstrapper,我需要将两个msi文件打包到一个setup.exe文件中(通过引导程序),并根据条件(机器为x64或x86)仅运行其中一个文件。 有办法吗?您可以使用iexpress.exe(标准窗口的工具)打包这两个msi文件,还可以添加一个自定义批处理文件,将其设置为iexpress包的开始命令。批处理脚本将确定体系结构并启动相应的msi文件: if %PROCESSOR_ARCHITECTURE% EQU x86 ( echo "x86" call setup-x86.msi ) ELSE (

我需要将两个msi文件打包到一个setup.exe文件中(通过引导程序),并根据条件(机器为x64或x86)仅运行其中一个文件。

有办法吗?

您可以使用iexpress.exe(标准窗口的工具)打包这两个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将使用旧的
命令.com


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

您可以编写一个程序并嵌入两个安装程序,然后让它检查系统是否为64位。我写了一篇关于编写一个本地应用程序的博客文章