Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 129
Благодарности: 76

Профиль | Отправить PM | Цитировать


Цитата Damaks:
Инсталлятор может после установки сам себя скопировать? »
Цитата:
FileCopy(ExpandConstant('{srcexe}'), 'C:\Test\test.exe', False);
Придумал такой способ

Код: Выделить весь код
#define AppName "My Program";

[Setup]
AppName={#AppName}
AppVerName={#AppName}
DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppName}
AllowNoIcons=True
OutputDir=userdocs:InnoSetupTest.

[code]
procedure MyFileCopy();
var
  s1, s2: string;
  ResultCode: Integer;
begin
  s1:= ExpandConstant('{sd}\MyFileCopy.cmd');
  s2 := 'copy ' + AddQuotes(ExpandConstant('{srcexe}'))
        + ' ' + AddQuotes(AddBackSlash(ExpandConstant('{sd}')) + 'Test\test.exe') + #10#13 +
        + 'del ' + s1;
  SaveStringToFile(s1, s2, False);

  if not DirExists(ExpandConstant('{sd}\Test')) then
    CreateDir(ExpandConstant('{sd}\Test'));
  Exec(s1, '', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
    MyFileCopy();
end;

З.Ы.С кириллицей в пути не сработает.

Последний раз редактировалось serg aka lain, 06-11-2011 в 15:33. Причина: немного доработал

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:48, 06-11-2011 | #73