Установка Interbase и добавление пользователя

Автор: Denis Alexandrovich Ivanov

Как сделать инсталятор, который прописывал бы пользователя в Interbase? BDE при этом не нужна совсем.
1. При помощи InstallShieldExpress формируется проект, который включает в себя установку Interbase Server.
2. После установки Interbase запускаешь программу, написанную на Delphi 6, которая добавляет нового пользователя Interbase

{************************************************************************

Проект : ....

Автор : Иванов Д.А.

Назначение : Выжимки из библиотеки функций для работы со справочником

  пользователей

  Note: You must install InterBase 6 to use this feature.

Дата создания: 11.13.2002

История :

************************************************************************}


unit usr;

interface

uses IBCustomDataSet,IBDataBase,IBServices;

type

 TUsrInfo = record

  Usr:string ; //login

  Uid:integer; //уникальный идентификатор, если программа ведет

  //справочник пользователей в своей БД - его можно

  //брать оттуда по секвенции

  Grp:integer; //Group

  Pas:string ; //password

 end;

 TUsrClass = class(TObject)

 private

  { Private declarations }

 public

  UsrData:TUsrInfo;

  dbSec :TIBSecurityService;

  // добавляет или редактирует пользователя в Interbase

  function UpdateUser: string;

 end;

 TUsrLib = class(TUsrClass)

 private

  { Private declarations }

 public

  procedure AddNewUserToInterbase;

 end;

var

 clUsr:TUsrLib;

implementation

uses SysUtils,Controls,db,windows,QDialogs;

(***************** Добавляет или редактирует пользователя ***************)

function TUsrClass.UpdateUser: string;

  //Usrid = 0 - новый пользователь

 var Edes:string; //Описание ошибок

begin

 try

  if UsrData.Usr = '' then Edes:= 'не указан login пользователя';

  if UsrData.Uid = 0 then Edes:= 'не указан id пользователя';

  if UsrData.Grp = 0 then Edes:= 'не

  if UsrData.Pas = '
' then Edes:= 'не указан пароль пользователя';

  if EDes < > '
' then raise Exception.Create(Edes);

  //Добавляем пользователя в interbase

  with dbSec do begin

  if not Active then Active := True;

  UserName := UsrData.Usr;

  UserID := UsrData.Uid;

  GroupID := UsrData.Grp;

  Password := UsrData.Pas;

  try

  DisplayUser(UserName);

  if UserInfo[0] = nil then AddUser else ModifyUser;

  except

  Edes:='
Ошибка добавления пользователя в interbase security';

  raise Exception.Create(Edes);

  end;

  //раздача если нужно права доступа пользователя на таблицы

  (* EDes:= GrantData(UsrData.Usr);

  if EDes < > '
' then raise Exception.Create(Edes);

  *)

  end;

 except

  if EDes = '
' then EDes:= 'Ошибка добавления пользователя в interbase security';

 end;

 Result:= EDes;

end;

procedure TUsrLib.AddNewUserToInterbase;

 var Edes:string; //Описание ошибок

begin

 UsrData.Usr := '
ida' ;

 UsrData.Uid := 123  ;

 UsrData.Grp := 1  ;

 UsrData.Pas := '
pass';

 EDes:= UpdateUser;

 if EDes < > '
' then raise Exception.Create(Edes);

end;

begin

 clUsr:=TUsrLib.Create;

end.

Установку Interbase 6.0 я пробовал делать двумя системами создания инсталляций:
- InstallShield
- Wise Install Builder.
Для обоих использовал готовые скрипты с сайта http://ibinstall.defined.net/. По результатам могу сказать, что Wise удобнее и проще в инсталляции. Кроме того у него есть текстовый редактор скрипта, что нашему брату шибко нравится. Установка и запуск IBGuard проходит как и в фирменном варианте сразу (Silent Install).


Взято с http://delphiworld.narod.ru

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...