Sandy Ann -- в старой ветке примеры были. [more]
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
[Files]
Source: ISSkin.dll; DestDir: {app}
Source: Office2007.cjstyles; DestDir: {app}
[_Code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';
procedure LoadSkinA(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result:=True;
end;
function InitializeUninstall(): Boolean;
begin
FileCopy(ExpandConstant('{app}\isskin.dll'),
ExpandConstant('{tmp}\isskin.dll'), False);
FileCopy(ExpandConstant('{app}\Office2007.cjstyles'),
ExpandConstant('{tmp}\Office2007.cjstyles'), False);
LoadSkinA(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result:=True;
end;
[/more]
Добавлено:
boss911
Цитата:
Не видя примера, точнее сказать не могу.
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
[Files]
Source: ISSkin.dll; DestDir: {app}
Source: Office2007.cjstyles; DestDir: {app}
[_Code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';
procedure LoadSkinA(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result:=True;
end;
function InitializeUninstall(): Boolean;
begin
FileCopy(ExpandConstant('{app}\isskin.dll'),
ExpandConstant('{tmp}\isskin.dll'), False);
FileCopy(ExpandConstant('{app}\Office2007.cjstyles'),
ExpandConstant('{tmp}\Office2007.cjstyles'), False);
LoadSkinA(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result:=True;
end;
[/more]
Добавлено:
boss911
Цитата:
Почему секция [Run] с препроцессором не срабатывает в том случае, если скрипт (*.iss) в момент компиляции лежал не в той папке, в которой лежат исходные файлы для компиляции?-- скорее всего, директивы препроцессора прописаны исходя из расчета, что файлы находятся там же где и сам скрипт. Если меняешь местоположение файлов, то естественно, надо поменять и пути в директивах и командах препроцессора.
Не видя примера, точнее сказать не могу.