您的位置:首页 > 数据库

使用Setup Factory 8.0 打包软件,安装时自动创建数据库

2012-03-23 15:27 543 查看
1、设置项目属性


点此出现如下对话框:



2、添加需要打包的文件,并设置安装目录



3、安装过程设置


点此出现以下对话框

安装前(Before Installing),安装中(While Installing),安装后(After Installing)的设置



此处重点讲如何在安装后自动创建数据库

在“(After Installing)”中添加Progress Bars

可在settings中设置说明文字



在Actions-On Start中设置执行创建数据库文件的语句。



-- These actions are performed when the screen is shown.

-- Note: this is normally where you would put the actions

-- that you want this screen to perform (i.e. the

-- actions that you want to show the progress of).

-- Tip: use the DlgProgressBar actions (such as SetRange,

-- SetPos and Step) to make the progress bars reflect

-- the current status of your actions.

local AppFolder =File.GetShortName( SessionVar.Get("%AppFolder%"));

local ProductVer = SessionVar.Get("%ProductVer%");

local Version= SessionVar.Get("%VersionType%");

DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, 30);

local Params=String.Concat(AppFolder,"");

Params=String.Concat(Params," ");

Params=String.Concat(Params,ProductVer);

Params=String.Concat(Params," ");

Params=String.Concat(Params,Version);

DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, 50);

File.Run("%AppFolder%\\Data\\CreateDatabase_BW_SMS.bat", Params, "", SW_MINIMIZE, true);

--执行安装路径Data文件夹下的CreateDatabase_BW_SMS.bat文件,传入 Params参数,就是开始属性;里面设置的参数

DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, 100);

注意:File.Run("%AppFolder%\\Data\\CreateDatabase_BW_SMS.bat", Params, "", SW_MINIMIZE, true); 这句要执行,必须在安装目录Data文件夹下面存放以下三个文件。



4、CreateDatabase_BW_SMS.bat文件的内容

@echo off

rem %1 为路径参数; 要还原的数据库备份.bak文件存放的目录

rem %2 为版本号;如 6.1.2 ;

rem %3 为版本; 为“标准版”或“多探头版”

echo 正在启动SQL SERVER服务...

net start mssqlserver

echo 正在创建数据库,请稍等...

osql -E /Q "IF Not Exists (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BW_SMS') RESTORE DATABASE BW_SMS FROM DISK ='%1\Data\BW_SMS_V%2%3' WITH MOVE 'BW_SMS_Data' TO '%1\Data\BW_SMS.mdf',MOVE 'BW_SMS_log' TO '%1\Data\BW_SMS.ldf'"

rem echo 正在启动SQL代理...

rem net start sqlserveragent

echo 正在更新SQL脚本...

osql -E -i %1\Data\BW_SMS_V%2%3.sql

echo 数据库创建成功!

备注:创建数据库的语句,传入参数后应该为

osql -E /Q "IF Not Exists (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BW_SMS')

RESTORE DATABASE BW_SMS FROM DISK ='C:\Program Files\日报管理系统\Data\BW_SMS_V1.0.0标准版' WITH

MOVE 'BW_SMS_Data' TO 'C:\Program Files\日报管理系统\Data\BW_SMS.mdf',

MOVE 'BW_SMS_log' TO 'C:\Program Files\日报管理系统\Data\BW_SMS.ldf'"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: