2012-03-02 54 views
0

很高興認識你,我總是潛伏在這裏,只要我遇到一些問題;但現在看來我有一些奇怪的問題,我沒有在這裏找到任何痕跡。sqlcmd在安裝過程中不工作(innosetup)

使用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

似乎在一個安裝會話中在系統的PATH 中未檢測到它,並且在沒有看到已更改的PATH環境的用戶下執行。 首先它在/ SQLSVCACCOUNT =「NT AUTHORITY \ Network Service」下執行,那麼它似乎使用不同的用戶。它看起來像只爲網絡服務用戶設置PATH變量。