我尝试在NSIS中安装MS SQL2008 R2,所以我使用以下代码片段:
SetOutPath "$TEMP\Unit\DimIns\binary\SQLSVR"
File /r "..\..\shared-binaries\download.unit.hu\MsSQLServer2008R2\SQLSVR-x86\"
SetOutPath "$TEMP\Unit\DimIns\"ExecDos::exec "$OUTDIR\binary\SQLSVR\setup.exe /QUIET /IACCEPTSQLSERVERLICENSETERMS /ConfigurationFile=$OUTDIR\binary\SQLSVR\dimsqlsetup.ini /ACTION=Install" "" "$OUTDIR\MsSQLServer2008R2.log"但它会失败。并输出以下错误消息:
The following error occurred:
The action type 'ExecuteWorkflowAction' is not valid for the WorkflowIdentity element. The only valid action type is ExecuteWorkflowAction.
Error result: -2068709375
Result facility code: 1202
Result error code: 1
Please review the summary.txt log for further details
The following error occurred:
The action type 'ExecuteWorkflowAction' is not valid for the WorkflowIdentity element. The only valid action type is ExecuteWorkflowAction.
Error result: -2068709375
Result facility code: 1202
Result error code: 1
Please review the summary.txt log for further details
Microsoft (R) SQL Server 2008 R2 Setup 10.50.4000.00
Copyright (c) Microsoft Corporation. All rights reserved.但是如果我显式地给出路径
ExecDos::exec "C:\Users\UNIT-TEST\AppData\Local\Temp\Unit\DimIns\binary\SQLSVR\setup.exe /QUIET /IACCEPTSQLSERVERLICENSETERMS /ConfigurationFile=C:\Users\UNIT-TEST\AppData\Local\Temp\Unit\DimIns\binary\SQLSVR\dimsqlsetup.ini /ACTION=Install" "" "C:\Users\UNIT-TEST\AppData\Local\Temp\Unit\DimIns\MsSQLServer2008R2.log"或者从CMD运行它
C:\Users\UNIT-TEST\AppData\Local\Temp\Unit\DimIns\binary\SQLSVR\setup.exe /QUIET /IACCEPTSQLSERVERLICENSETERMS /ConfigurationFile=C:\Users\UNIT-TEST\AppData\Local\Temp\Unit\DimIns\binary\SQLSVR\dimsqlsetup.ini /ACTION=Install然后安装程序将正确安装MS SQL。因此,我无法想象NSIS会以错误的方式解决$TEMP或$OUTDIR问题。这是可能的吗?问题出在哪里?
如果我将$TEMP或$OUTDIR的内容写到控制台日志中,它看起来像是存储了正确的路径。
发布于 2014-02-18 13:56:46
我不喜欢你命令的语法。使用以下语法:
nsExec::ExecToStack [OPTIONS] '"PATH" param1 param2 paramN'确保所有参数和路径都被正确处理。
您的路径中可能存在空间,这可能会导致问题。
发布于 2014-02-19 06:06:50
您是否尝试过为所有路径添加额外的引号?
ExecDos::exec '"$OUTDIR\binary\SQLSVR\setup.exe" /QUIET /IACCEPTSQLSERVERLICENSETERMS /ConfigurationFile="$OUTDIR\binary\SQLSVR\dimsqlsetup.ini" /ACTION=Install' "" "$OUTDIR\MsSQLServer2008R2.log"https://stackoverflow.com/questions/21839809
复制相似问题