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

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

Аватара для Gnom_aka_Lexander

Ветеран


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

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


ChVL, тогда вот так:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={code:GetVideoPath}

[Files]
Source: GetVideoPath.iss; Flags : dontcopy;

[*code]
function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: PAnsiChar; nFolder: Integer; fCreate: BOOL): BOOL;
  external 'SHGetSpecialFolderPathA@shell32.dll stdcall';

function GetSpecialPath(CSIDL: Word): string;
var
  s: string;
begin
  SetLength(s, 260);
  if not SHGetSpecialFolderPath(0, PAnsiChar(s), CSIDL, True) then s := '';
  Result:= PAnsiChar(s);
end;

function GetVideoPath(s : string): string;
begin
  Result:= GetSpecialPath($0e);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    ForceDirectories(GetSpecialPath($0e) +'\MyProgName');
    ExtractTemporaryFileEx('GetVideoPath.iss',GetSpecialPath($0e)+'\MyProgName');
  end;
end;
но у меня почему-то распаковывает в папку видео, а не в подпапку MyProgName, которая даже не создается. Видимо, все-таки система запрещает вмешательство, не вижу других причин.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 15:12, 17-08-2012 | #648