前提:已安装Setup Fatory软件、我使用的是 安装工厂永乐汉化版,需要的请自行下载安装

下面只列出关键性步骤,黄色字体较为关键,是一个出错点

 

步骤一(关键):生成数据库备份文件,以及建表sql脚本,和bat命令文件

备份数据库,生成文件1,.bak文件

sql server数据库附加语句_Data

生成建表语句.sql脚本文件

sql server数据库附加语句_打包_02

新建txt文件,修改后缀名为.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'InternalRadiationSystem') RESTORE DATABASE InternalRadiationSystem FROM DISK ='%1\Data\InternalRadiationSystem_V%2%3.bak' WITH MOVE 'InternalRadiationSystem' TO '%1\Data\InternalRadiationSystem.mdf',MOVE 'InternalRadiationSystem_log' TO '%1\Data\InternalRadiationSystem.ldf'"

rem echo 正在启动SQL代理...
rem net start sqlserveragent

echo 正在更新SQL脚本...
osql -E -i %1\Data\InternalRadiationSystem_V%2%3.sql
echo 数据库创建成功!

在debug文件夹中新建Data文件夹,将这三个文件放入此文件夹中,并修改名称(注意和上面版本版本号一致)

sql server数据库附加语句_setup factory_03

步骤二:打开并操作 安装工厂永乐汉化版(Setup Fatory)

sql server数据库附加语句_setup factory_04

选择打包程序所在文件夹(如需要把源代码打包,则从程序所在根目录开始,如D:\MySoft。如只打包运行,则选择到debug或者relese目录,如D:\MySoft\bin\Debug)

sql server数据库附加语句_Data_05

步骤三(关键):设置参数以及增加创建数据库以及数据表代码

   

sql server数据库附加语句_打包_06

设置参数

sql server数据库附加语句_打包_07

对于打包可执行文件的操作

sql server数据库附加语句_Data_08

sql server数据库附加语句_Data_09

sql server数据库附加语句_setup factory_10


 

步骤四:加入安装步骤,进度条,操作为执行上面的bat文件

sql server数据库附加语句_sql server数据库附加语句_11

对screens进行设置

sql server数据库附加语句_Data_12

sql server数据库附加语句_打包_13

 

(重要)下面的file.run方法中执行bat文件时,其实相当于命令行输入 ..\..\..\.bat 参数1 参数2 参数3

因为默认的安装路径为C:\Program Files\文件名,因路径中包含空格,故执行时会将C:\Program看成执行文件,空格后的视为参数,会出错,所以我在步骤二中把安装路径的参数修改为自定义的

sql server数据库附加语句_打包_14

上面的代码文本,用于复制粘贴

local AppFolder =File.GetShortName( SessionVar.Get("%AppFolder%"));
local ProductVer = SessionVar.Get("%ProductVer%");
local VersionType= 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,VersionType);
DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, 50);
File.Run("%AppFolder%\\Data\\CreateDatabase_InternalRadiationSystem.bat", Params, "", SW_MINIMIZE, true); 

DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, 100);

--执行安装路径Data文件夹下的CreateDatabase_InternalRadiationSystem.bat文件,传入 Params参数,就是开始属性;里面设置的参数(此句注释不必复制)

步骤5:进行打包操作,点击打包按钮即可

sql server数据库附加语句_Data_15

 

 

谢谢观看,欢迎指正