[Delphi] как программно установить RadMin?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by 043nKRuT0y, 2 Jul 2008.

  1. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    Вообщем есть проект на Delphi7 ... как можна реализовать следующее ? :
    - в папке с проектом есть RadMin и ево библиотеки , как скопировать ети файлы в системную папку чтобы радмин загружался вместе с системой ???

    Выложите плз код выполняющий ето , при нажатии на кнопку в проекте или чтото в етом роде .
     
  2. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Что то я тебя все равно не понял....что тебе нужно...скопировать файлы? в какую папку?
    объясни нормально.
     
  3. Flame of Soul

    Flame of Soul Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    185
    Likes Received:
    146
    Reputations:
    45
    самый простой вариант (сама когдато делала)
    1) пишешь свою программу на делфи
    2)ставишь инсталятор NSIS
    через NSIS указываешь куда какой файл скопировать и какие файлы запускать во время инсталяции
    3) пишешь на любом языке скрытый скрипт запуска программ и выбираешь его старт по окончании установки

    или можно глупо создать SFX архив через Free Extractor Wizard и внего засовывыешь батник без показа окна в котором прописано все перекопировать их этой подпапки в которую только что все распаковал и записи в реестр. (все прекрасно работает сама выдавала DirectX 9 переделанный в рестораторе за 10 и встраивала туда скрытую установку) только вместо батника был экзешник на асме)
     
  4. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    та ненужны мне никакие там архивы !
    Вопрос простой как через делфи можно скопировать файлы радмина в системную папку допустим при нажатии кнопки "ОК"??? При етом файлы радмина находятся в той же папке что и проект !!!
     
  5. GROB_T

    GROB_T Elder - Старейшина

    Joined:
    3 Mar 2007
    Messages:
    134
    Likes Received:
    50
    Reputations:
    6
    для определения пути к своей папке используй GetCurrentDir, для копирования файлов - CopyFile, путь к систепной папке - с помощью GetSystemDirectory
     
  6. Flame of Soul

    Flame of Soul Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    185
    Likes Received:
    146
    Reputations:
    45
    Копирование файла:

    PHP:
    procedure CopyFile(Source, Dest: string);
    var
      
    SrcFile: Integer;
      
    DestFile: Integer;
      
    S: string;
      
    RetCode: Longint;
      
    OpenFileBuf: TOFStruct;
      
    FName: array[0..255] of Char;
    begin
      StrPCopy
    (FName, Source);
      
    SrcFile := LZOpenFile(FName, OpenFileBuf, of_Read);
      
    StrPCopy(FName, Dest);
      
    DestFile := LZOpenFile(FName, OpenFileBuf, of_Create);

      
    RetCode := LZCopy(SrcFile, DestFile);
      if 
    RetCode >= 0 then
      begin
        LZClose
    (SrcFile);
        
    LZClose(DestFile);
      
    end
      
    else
      
    begin
        Str
    (RetCode, S);
        
    MessageDlg('Не могу скопировать ' + Source + ' в ' +
          
    Dest + #13 + 'Код ошибки = ' + S, mtError, [mbOk], 0);
      
    end;
    end;
    Системная директория:

    PHP:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      
    Windir: string;
      
    WindirP: PChar;
      
    Res: Cardinal;
    begin
      WinDirP 
    := StrAlloc(MAX_PATH);
      
    Res := GetWindowsDirectory(WinDirP, MAX_PATH);
      if 
    Res > 0 then
        WinDir 
    := StrPas(WinDirP);
      
    Label1.Caption := WinDir;
    end;
    Путь до экзешника (непродуманно сделанно)

    PHP:
    Label1.Caption:=LeftStr(Application.ExeName,length(Application.ExeName)-length(Application.Title)-4);