用installShield很简单就可以实现。或者用下面代码写一个程序(delphi的),然后用你的安装工具调用。
=================================
function Set_MSSQL_Alias( snAlias, ServerName, DbName, UserName, Password: string):boolean;
var
Env: DBIEnv;
sError: string;
sParams: string;
addingResult: DBIResult;
label addAlias;begin
with Env do begin
StrPCopy(szWorkDir,pchar(''));
StrPCopy(szIniFile,'');
bForceLocalInit := True;
StrPCopy(szLang,'');
StrPCopy(szClientName,'Tony');
end; sParams := 'DATABASE NAME:' + DbName +'; ';
sParams := sParams + 'HOST NAME:'+ ServerName + '; ';
sParams := sParams + 'USER NAME:'+ UserName + '; ';
sParams := sParams + 'SERVER NAME:' + ServerName;
if DbiInit(@Env) <> DBIERR_NONE then
raise Exception.create('不能初始化数据库,数据库别名创建失败!');
addAlias:
addingResult := DbiAddAlias( nil, pchar(snAlias), pchar('MSSQL'), pchar(sParams), true);
case addingResult of
DBIERR_NONE:
sError := '';
DBIERR_NAMENOTUNIQUE:
begin
session.DeleteAlias(snAlias);
goto addAlias;
end
else
sError := '数据库别名创建失败,未知原因!';
end;
if sError <> '' then
begin
raise Exception.create(sError);
result := false;
end
else
result := true; Session.SaveConfigFile;
if DbiExit <> DBIERR_NONE then
raise Exception.create('关闭数据引擎失败!');end;
=================================
function Set_MSSQL_Alias( snAlias, ServerName, DbName, UserName, Password: string):boolean;
var
Env: DBIEnv;
sError: string;
sParams: string;
addingResult: DBIResult;
label addAlias;begin
with Env do begin
StrPCopy(szWorkDir,pchar(''));
StrPCopy(szIniFile,'');
bForceLocalInit := True;
StrPCopy(szLang,'');
StrPCopy(szClientName,'Tony');
end; sParams := 'DATABASE NAME:' + DbName +'; ';
sParams := sParams + 'HOST NAME:'+ ServerName + '; ';
sParams := sParams + 'USER NAME:'+ UserName + '; ';
sParams := sParams + 'SERVER NAME:' + ServerName;
if DbiInit(@Env) <> DBIERR_NONE then
raise Exception.create('不能初始化数据库,数据库别名创建失败!');
addAlias:
addingResult := DbiAddAlias( nil, pchar(snAlias), pchar('MSSQL'), pchar(sParams), true);
case addingResult of
DBIERR_NONE:
sError := '';
DBIERR_NAMENOTUNIQUE:
begin
session.DeleteAlias(snAlias);
goto addAlias;
end
else
sError := '数据库别名创建失败,未知原因!';
end;
if sError <> '' then
begin
raise Exception.create(sError);
result := false;
end
else
result := true; Session.SaveConfigFile;
if DbiExit <> DBIERR_NONE then
raise Exception.create('关闭数据引擎失败!');end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货