【发布时间】:2015-03-10 02:36:09
【问题描述】:
我用 InnoSetup 做了一个安装程序,我需要在正常安装后运行一些 msi 文件。 我添加了下一行代码:
[Files]
Source: "..\..\..\Dependencies\sqlncli2012.msi"; DestDir: "{tmp}"
Source: "..\..\..\Dependencies\SQLSysClrTypes.msi"; DestDir: "{tmp}"
Source: "..\..\..\Dependencies\SQLServer2012_XMO.msi"; DestDir: "{tmp}"
Source: "..\..\..\Dependencies\SqlCmdLnUtils.msi"; DestDir: "{tmp}"
[Run]
Filename: "msiexec.exe"; Parameters: "/i IACCEPTSQLNCLILICENSETERMS=YES""{tmp}\sqlncli2012.msi"" /qb"; StatusMsg: Installing MySQL Server;
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\SQLSysClrTypes.msi"" /qb"
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\SQLServer2012_XMO.msi"" /qb"
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\SqlCmdLnUtils.msi"" /qb"
我看到有一个类似的问题,但我就是不知道我做错了什么。 我在虚拟机中重新安装了 Windows 7,但出现以下错误:
http://i.imgur.com/a2tPnGW.png
http://i.imgur.com/PUwjDz7.png
如您所见,我在最后一个 msi 文件 SqlCmdLnUtils 中出现错误,而之前的文件甚至都没有启动。 (我也在没有“IACCEPTSQLNCLILICENSETERMS=YES”的情况下进行了测试,我收到以下错误“缺少所需的 IACCEPTSQLNCLILICENSETERMS=YES 命令行参数。通过指定此参数...),因此安装文件不存在的事实下降。 )
【问题讨论】:
-
如果您从命令提示符运行 SQLServer2012_XMO.msi 安装命令,是否会发生同样的情况?第二个错误报告您缺少 SQL Server Native Client,所以我想您也需要将它包含在您的设置链中。但最好使用
PrepareToInstall事件来安装所有这些包。 -
如果我在命令提示符下运行工作正常,那么我认为我可能需要删除 qb(基本 UI)。 Sql Server Native Client 是第一个,sqlncli。我不知道如何使用 PrepareToInstall,所以现在我会这样。谢谢你的回答!
标签: installation windows-installer inno-setup