installshield database text replacement (转)
环境:
InstallShield 12
VC6.0生成的工程
SQL2005 Express
前提:
已按装SQL2005 Express
1.建立Basic MSI Project
2.将分离出来的.mdf和.ldf添加到InstallShield中.
3.在SQL Scripts中添加连接如"NewSQLConnecttion1", 在"Default Target Server Name“中添".\SQLEXPRESS".
4.在添加的连接中新建Script ,在"Script"项添加追加数据库的SQL语言 如:
USE master;
GO
-- Drop database if it exists.
IF EXISTS (SELECT name FROM sys.databases WHERE NAME = 'SurperDB')
DROP DATABASE SurperDB;
GO
CREATE DATABASE SurperDB ON PRIMARY
(FILENAME = '%INSTALL_DIR%NewDB.mdf') --NewDB.mdf
LOG ON(FILENAME = '%HELLOW%NewDB_log.ldf') --NewDB_log.ldf
FOR ATTACH;
GO
因为本列中数据库文件路径在用户安装过程中才能得到,这里
将路径用字符来替换[虽然mdf 和 ldf的路径是一样的,但一定要用2个字符分开代替,否则出错,原因不明]
在"Text Replacement" 中将路径替换出来
%INSTALL_DIR% <=> [INSTALLDIR]
%HELLOW% <=> [INSTALLDIR]
编译下就ok了