[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(SourceDeststring);
    var
      
    SrcFileInteger;
      
    DestFileInteger;
      
    Sstring;
      
    RetCodeLongint;
      
    OpenFileBufTOFStruct;
      
    FName: array[0..255of Char;
    begin
      StrPCopy
    (FNameSource);
      
    SrcFile := LZOpenFile(FNameOpenFileBufof_Read);
      
    StrPCopy(FNameDest);
      
    DestFile := LZOpenFile(FNameOpenFileBufof_Create);

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

    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    var
      
    Windirstring;
      
    WindirPPChar;
      
    ResCardinal;
    begin
      WinDirP 
    := StrAlloc(MAX_PATH);
      
    Res := GetWindowsDirectory(WinDirPMAX_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);