使用InnoSetup我创建了一个运行的设置,只要其他人,2个批次;
第一个安装SQL EXPRESS 2008使用工具(%n是通过innosetup传递的参数):
C:\omi\setup\sql\setup.exe /QS /ACTION=Install /FEATURES=SQL,Tools /INSTANCENAME=%1 /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSVCSTARTUPTYPE="Automatic" /IACCEPTSQLSERVERLICENSETERMS /SECURITYMODE=SQL /SAPWD="omicron" /TCPENABLED=1
PAUSE
它似乎成功结束了。
问题出在第二批:
sqlcmd -d master -S .\%1 -q "CREATE DATABASE arca ON ( FILENAME = N'C:\omi\db\arca_Data.MDF' ), ( FILENAME = N'C:\omi\db\arca_Log.LDF') FOR ATTACH"
PAUSE
因为提示告诉我们sqlcmd不被识别为内部或外部命令,也不能识别为可执行文件或批处理。
令我眼花缭乱的是,如果我手动编写相同的命令,那就完美了。
答案 0 :(得分:0)
似乎在系统的路径中没有检测到它 在一个安装会话中,并且在没有看到已经更改的PATH环境的用户下执行。 首先,它在/ SQLSVCACCOUNT =" NT AUTHORITY \ Network Service"下执行。那么它似乎使用了不同的用户。看起来它只为网络服务用户设置PATH变量。