参考了N个帖子,没有一次试验成功,无奈只好使用批处理。。。。。 下面是代码(原文出处不记得了,下面是我的测试代码)
-------------------批处理代码------------
@echo 开始安装,请等待……
Goto SetupMsde
:SetupMsde
cd MSDE
Setup
cd..
"tools/sc" config MSSQLSERVER start = auto
"tools/sc" start MSSQLSERVER
Goto SetupPrograme
:SetupPrograme
cd Web
Setup /passive
cd..
Goto Next
:Next
Copy "tools/MyErp" "C:/Program Files"
Copy "tools/restore.sql" "C:/Program Files"
If Not Exist "c:/MyErp/MSSQL" Goto CreateDataFolder
Goto DelBackDataFile
:CreateDataFolder
C:
If not Exist "c:/MyErp" Goto CreateMyErp
Goto CreateMSSQL
:CreateMyErp
MD "C:/MyErp"
Goto CreateMSSQL
:CreateMSSQL
MD "C:/MyErp/MSSQL"
Goto DelBackDataFile
:DelBackDataFile
Del /Q "c:/MyErp/MSSQL"
Goto BackDataBase
:BackDataBase
osql.exe /Usa /Psa /dmaster /i "C:/Program Files/restore.sql"
del "C:/Program Files/MyErp"
DEL "C:/Program Files/restore.sql"
Goto ExitSetup
:ExitSetup
@echo 安装成功
----------------------------------------------------
-----restore.sql代码----------
use master
if not exists(select * from sysdatabases where name = 'MyErp')
begin
create database MyErp
end
if exists(select * from sysdevices where name = 'MyErpdisk')
begin
exec sp_dropdevice 'MyErpdisk'
end
else
begin
exec sp_addumpdevice 'disk','MyErpdisk','MyErp'
end
restore database MyErp from disk='C:/Program Files/MyErp'
with move 'MyErp_Data' to 'c:/MyErp/MSSQL/MyErp_Data.mdf ',
move 'MyErp_Log' to 'c:/MyErp/MSSQL/MyErp_Log.Ldf'