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了

原文地址:https://www.cnblogs.com/MayGarden/p/1769782.html