小弟想在安装盘中集成sqlserver2005 express版,想在静默安装时指定端口,NSIS代码如下:
SetOutPath "$INSTDIR\SetupPrerequisites\SQLEXPR_CHS"
nsExec::Exec "cmd /C setup.exe /settings $INSTDIR\SetupPrerequisites\SQLEXPR_CHS\template.ini /qn"
template.ini里内容如下:
[Options]
INSTALLSQLDIR="C:\Program Files\Microsoft SQL Server\"
INSTALLOLAPDATADIR="C:\Program Files\Microsoft SQL Server\MSSQL\OLAP\Data"
ADDLOCAL=ALL
SECURITYMODE=SQL
INSTANCENAME=EHUISUANDATA
DISABLENETWORKPROTOCOLS=0
SAPWD=sa123456
SQLAUTOSTART=1
AGTAUTOSTART=0
ASAUTOSTART=1
RSAUTOSTART=1
请问大牛们该如何实现?
PS:如果不能在安装时指定端口,就之后在安装之后修改注册表来监听我自己指定的端口,需要重启数据库服务,这个过程放在安装盘里时间较长,有什么好的解决方案
SetOutPath "$INSTDIR\SetupPrerequisites\SQLEXPR_CHS"
nsExec::Exec "cmd /C setup.exe /settings $INSTDIR\SetupPrerequisites\SQLEXPR_CHS\template.ini /qn"
template.ini里内容如下:
[Options]
INSTALLSQLDIR="C:\Program Files\Microsoft SQL Server\"
INSTALLOLAPDATADIR="C:\Program Files\Microsoft SQL Server\MSSQL\OLAP\Data"
ADDLOCAL=ALL
SECURITYMODE=SQL
INSTANCENAME=EHUISUANDATA
DISABLENETWORKPROTOCOLS=0
SAPWD=sa123456
SQLAUTOSTART=1
AGTAUTOSTART=0
ASAUTOSTART=1
RSAUTOSTART=1
请问大牛们该如何实现?
PS:如果不能在安装时指定端口,就之后在安装之后修改注册表来监听我自己指定的端口,需要重启数据库服务,这个过程放在安装盘里时间较长,有什么好的解决方案
解决方案 »
- 请教一个关于产品子结构的SQL语句
- 数据库分组问题.追加30分.解决了一块接.
- 创建临时表 表名字不能@table_guid是变量 报错 怎么解决?
- 问2个问题
- 100分,不求答案。。。只问你见过没有。。。1千分,,,给提出些参考意见的。
- JSP + SQL Server2000 操作系统 xp home的 乱码问题
- SQL Server 数据库工具-测试测试!
- 假设有2个表,需要组成一个视图
- sqlserver2000我想以某个sqlserver2000用户(not sa)而不是nt用户登陆,怎么做?
- 怎么返回表?
- 数据库里面是怎么取数据的?按列取,还是按行取?望解答!
- SQL查询很多字段,按照某一个字段去重复(100分送上)
nsExec::Exec "cmd /C setup.exe /settings $INSTDIR\SetupPrerequisites\SQLEXPR_CHS\template.ini /qn"
;改注册表,监听sqlserver的指定端口,改了之后需要重启数据库服务,这里也比较耽误时间
${registry::Read} "${PRODUCT_UNINST_ROOT_KEY\${PRODUCT_DB_INSTANCE_NAME}" "${PRODUCT_DB_SERVICES_NAME}" $R0 $R1
${If} $R1 == ""
MessageBox MB_OK|MB_ICONSTOP "数据库实例名对应数据库服务不存在"
Abort
${Else}
MessageBox MB_OK $R0
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "Software\Microsoft\Microsoft SQL Server\$R0\MSSQLServer\SuperSocketNetLib\Tcp\IPAll" "TcpDynamicPorts" ""
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "Software\Microsoft\Microsoft SQL Server\$R0\MSSQLServer\SuperSocketNetLib\Tcp\IPAll" "TcpPort" "${PRODUCT_DB_DEFAULT_PORT}"
nsExec::Exec "cmd /C sc stop MSSQL$$${PRODUCT_DB_SERVICES_NAME}"
Sleep 3000
MessageBox MB_OK "E汇算数据库端口号为${PRODUCT_DB_DEFAULT_PORT}"
${EndIf}
现在的问题是,能否在安装sqlserverexpress过程中就指定端口并监听,而不是安装sqlserver结束后再修改,还得重启服务才能生效