innosetup下SQL静默安装有3个主要问题:
1.如何制作SQL静默安装的脚本
2.如何使用innosetup调用这个脚本
3.如何自动附加上数据库
然而这3个问题恶心极了,主要是由于各种沙雕脱离了SQL安装实际,传来传去都是辟邪剑谱残章("欲练此功必先自宫"那部分)
我这里也少放屁,直接上解决方案(如果各位看管姥爷解决不了,也可以给我私信或者去找微软官方要一份静默安装脚本)
首先,要先把静默安装搞起。先看这位大兄弟的解决方案:
http://blog.csdn.net/andkylee/article/details/5813029
这里有个风水问题:大兄弟和我用的斜杠是反的
我用的是SQL 2005 Express sp4
1.向一个批处理文件写入下列内容
Start /wait setup.exe /qb INSTANCENAME=实例名 ADDLOCAL=SQL_Engine,Client_Components,Connectivity,SDK SAPWD=SA密码 SQLACCOUNT="NT AUTHORITY\SYSTEM" SQLPASSWORD= AGTACCOUNT="NT AUTHORITY\Network Service" AGTPASSWORD= SQLBROWSERACCOUNT="NT AUTHORITY\SYSTEM" SQLBROWSERPASSWORD= SECURITYMODE=SQL DISABLENETWORKPROTOCOLS=2 SQLCOLLATION=Chinese_PRC_CI_AS ASCOLLATION=Chinese_PRC_CI_AS
2.然后把微软的SQL 2005 Express安装包解压了,弄出来这么一个文件夹:
D:\SQLEXPR_CHS
把这个批处理丢进去,然后试着运行一下。如果成了,那么说明静默安装已经成功实现。
如果失败了,有以下这么几个原因:
1.SQL Server 2005 Express的版本不同,导致静默安装所使用的参数不同,具体的请花点功夫查一查、试一试
2.批处理位置没有放对(基本不可能)
接下来要搞个大新闻,弄一弄innosetup的脚本。在此之前,奉劝各位先用一用innosetup
那么假设各位已经有一些 innosetip的使用经验了(细节问题懒得解释)
直接把代码放出来
; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName 自己写
#define MyAppVersion 自己写
#define MyAppPublisher 自己写
#define MyAppURL 自己写
#define MyAppExeName 自己写
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={
{68D14220-67BA-4556-9E35-5316E655EA03}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={code:GetDirName}
DefaultGroupName={#MyAppName}
DisableDirPage=yes
OutputDir=D:\打包项目
OutputBaseFilename=自己写
Compression=lzma
SolidCompression=yes
SetupIconFile=aa.ico更换了一下安装文件的ICO,不必在意
;卸载文件目录