2012-08-23 76 views
1

我需要創建一個安裝程序,它將在兩臺不同的機器上安裝組件。Windows服務和Web服務位於「APP服務器」上,數據庫部件位於「數據庫服務器」上。 SQL Server 2005/2008將已經存在於DB SERVER上。但它可能會使用與默認端口不同的端口用於SQL Server。在兩臺機器上安裝安裝程序

爲了實現這個,我需要什麼東西?

在此先感謝。

回答

1

這是一個簡單的將SQL腳本與安裝程序捆綁在一起並通過使用ExecWait調用sqlcmd來執行腳本。

我們可以通過使用受信任的連接運行腳本:

sqlcmd -S _SERVER\_INSTANCE_ -d _DBNAME_ -i _SCRIPT_FILE_ 

或者用SQL登錄:

sqlcmd -S _SERVER\_INSTANCE_ -d _DBNAME_ -U _USERNAME_ -P _PASSWORD_ -i _SCRIPT_FILE_ 

有關遠程SQL Server引擎本地驅動程序執行的操作是required.In SQL Server 2005或更高版本的命令行客戶端稱爲sqlcmd。

0

我建議創建2個單選按鈕:

(O)安裝 - 應用服務器

()安裝 - 數據庫服務器

用戶選擇一個項目和相應的組件將被安裝。 (如.dlls,.exes,...在應用程序服務器上和數據文件或sql腳本[也可以在db服務器上執行腳本])。 全部裝入單個安裝程序。

也應該有一定的自定義頁面(S),其中用戶可以設置參數(使用nsDialogs創建)(端口,服務器名稱,數據庫的名稱,路徑DB,...)

+0

謝謝Slappy。但SQL服務器安裝在其他機器上,我只需要在該機器上創建數據庫。 你能告訴我安裝程序將如何在這臺機器上運行sql腳本嗎? – Ajinkya

+0

許多SQL服務器接受參數,因此創建您的sql腳本並將其保存爲文件並使用此文件作爲參數(基於SQL Server類型)啓動SQL Server。檢查這個mySQL示例:http://stackoverflow.com/questions/11638294/how-to-backup-mysql-database-from-nsis – Slappy

+0

感謝Slappy爲您的建議。我能夠使用SQLCMD驅動程序來完成它。 – Ajinkya

相關問題