Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [Delphi] как программно установить RadMin? (https://forum.antichat.xyz/showthread.php?t=75736)

043nKRuT0y 02.07.2008 18:05

[Delphi] как программно установить RadMin?
 
Вообщем есть проект на Delphi7 ... как можна реализовать следующее ? :
- в папке с проектом есть RadMin и ево библиотеки , как скопировать ети файлы в системную папку чтобы радмин загружался вместе с системой ???

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

De-visible 03.07.2008 14:08

Что то я тебя все равно не понял....что тебе нужно...скопировать файлы? в какую папку?
объясни нормально.

Flame of Soul 03.07.2008 14:38

самый простой вариант (сама когдато делала)
1) пишешь свою программу на делфи
2)ставишь инсталятор NSIS
через NSIS указываешь куда какой файл скопировать и какие файлы запускать во время инсталяции
3) пишешь на любом языке скрытый скрипт запуска программ и выбираешь его старт по окончании установки

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

043nKRuT0y 03.07.2008 18:50

та ненужны мне никакие там архивы !
Вопрос простой как через делфи можно скопировать файлы радмина в системную папку допустим при нажатии кнопки "ОК"??? При етом файлы радмина находятся в той же папке что и проект !!!

GROB_T 03.07.2008 18:58

для определения пути к своей папке используй GetCurrentDir, для копирования файлов - CopyFile, путь к систепной папке - с помощью GetSystemDirectory

Flame of Soul 03.07.2008 21:29

Копирование файла:

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); 



Время: 21:44