Ваня,
как добавить ещё одну картинку в BitmapResource=unins:BloodRain_U.bmp не знаю
( Кстати! Оказывается очень удобно использовать для некоторых картинок секцию Setup

,
тк нет лишней писанины с добавлением картинок в секцию Files и их перемещением в темп. как чуть ниже )
поэтому так (приписал немного комментариев)
читать дальше »
Код:

#define MyAppName "test"
[Setup]
AppName={#MyAppName}
AppVerName={#MyAppName}
DefaultDirName={pf}\{#MyAppName}
UsePreviousAppDir=false
UsePreviousGroup=false
AlwaysShowComponentsList=true
FlatComponentsList=false
UsePreviousSetupType=false
UsePreviousTasks=false
UsePreviousUserInfo=false
DisableStartupPrompt=true
UninstallFilesDir={app}\uninstall
;BitmapResource=unins:BloodRain_U.bmp|unins:BloodRain_U2.bmp
[Files]
Source: tiger.cjstyles; DestDir: {#SetupSetting("UninstallFilesDir")}; Attribs: hidden system;
Source: isskin.dll; DestDir: {#SetupSetting("UninstallFilesDir")}; Attribs: hidden system;
Source: Pic1.bmp; DestDir: {#SetupSetting("UninstallFilesDir")}; Attribs: hidden system;
Source: Pic2.bmp; DestDir: {#SetupSetting("UninstallFilesDir")}; Attribs: hidden system;
[code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall setuponly';
procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
function InitializeSetup:boolean;
begin
ExtractTemporaryFile('tiger.cjstyles');
LoadSkin(ExpandConstant('{tmp}\tiger.cjstyles'), '');
Result := True;
end;
procedure InitializeUninstallProgressForm();
begin
with UninstallProgressForm do
begin
Width := ScaleX(757); /// ширина формы
Height := ScaleY(500); /// высота формы
Position := poScreenCenter; /// расположение формы в центре экрана
CancelButton.SetBounds(ScaleX(650), ScaleY(420), ScaleX(75), ScaleY(25)); /// расположение кнопки отмены
with ProgressBar do /// прогресбар
begin
Parent := UninstallProgressForm
SetBounds(ScaleX(10), ScaleY(370), ScaleX(727), ScaleY(25));
end;
/// если копирование этого и того файла в темп True, то
if FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\Pic1.bmp'), ExpandConstant('{tmp}\Pic1.bmp'), True) and
FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\Pic2.bmp'), ExpandConstant('{tmp}\Pic2.bmp'), True)
then
begin /// создаём 2 безымянныйе картинки
//unins background bitmap image
with TBitmapImage.Create(nil) do
begin
Parent := UninstallProgressForm;
Bitmap.LoadFromFile(ExpandConstant('{tmp}\Pic1.bmp')); /// грузим одну критнку
SetBounds(ScaleX(0), ScaleY(0), ScaleX(750), ScaleY(352));
end;
with TBitmapImage.Create(nil) do
begin
Parent := UninstallProgressForm;
Bitmap.LoadFromFile(ExpandConstant('{tmp}\Pic2.bmp')); /// грузим другую картинку
SetBounds(ScaleX(0), ScaleY(352), ScaleX(750), ScaleY(352));
end;
end;
OuterNotebook.Hide; /// скрываем всё, что не нужно /// а все элементы UninstallProgressForm есть во вкладке компилятора расширенной версии "поддержка Inno Setup" на строке 2300
MainPanel.Hide;
Bevel1.Hide;
StatusLabel.Hide;
BeveledLabel.Hide;
Bevel.Hide;
end;
end;
function InitializeUninstall(): Boolean;
begin
if FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\tiger.cjstyles'), ExpandConstant('{tmp}\tiger.cjstyles'), True) and
FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), True)
then
LoadSkinU(ExpandConstant('{tmp}\tiger.cjstyles'), '');
Result := True;
end;
procedure DeinitializeUninstall();
begin
if FileExists(ExpandConstant('{tmp}\tiger.cjstyles')) and FileExists(ExpandConstant('{tmp}\isskin.dll')) then UnloadSkinU();
end;
procedure DeinitializeSetup;
begin
UnloadSkin();
end;
и, Вань, зачем тебе 2 картинки?
склей в фотошопе в одну
(Создать - новый фон (настранваешь цвет фона и указываешь размер) - перетаскиваешь обе картинки на этот самый фон - растягиваешь и двигаешь до получения желаемого результата -
нажимаешь инструмент "Перемещение(V)" и при необходимости инструментом "Рамка (С)" кадрируешь (вырезаешь нужный участок)- сохраняешь в 32-битном(!).bmp - файле)
юзаю версию 5.1 (русскую)
Цитата Ivan_009:
Как сделать двойной прогресс бар тоесть вот такой через IsDone »
|
хз
исдан не знаю
------------------------------------------------------------------------------------Update
понял как добавлять картинки через Setup
пример в ...\Inno Setup 5\Examples\Example_BitmapResource.iss прояснил ситуацию!
сократил код
улучшенный результат:
читать дальше »
Код:

#define MyAppName "test"
[Setup]
AppName={#MyAppName}
AppVerName={#MyAppName}
DefaultDirName={pf}\{#MyAppName}
UsePreviousAppDir=false
UsePreviousGroup=false
AlwaysShowComponentsList=true
FlatComponentsList=false
UsePreviousSetupType=false
UsePreviousTasks=false
UsePreviousUserInfo=false
DisableStartupPrompt=true
UninstallFilesDir={app}\uninstall
BitmapResource=unins:Pic1.bmp|unins2:Pic2.bmp
[Files]
Source: tiger.cjstyles; DestDir: {#SetupSetting("UninstallFilesDir")}; Attribs: hidden system;
Source: isskin.dll; DestDir: {#SetupSetting("UninstallFilesDir")}; Attribs: hidden system;
[code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall setuponly';
procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
function InitializeSetup:boolean;
begin
ExtractTemporaryFile('tiger.cjstyles');
LoadSkin(ExpandConstant('{tmp}\tiger.cjstyles'), '');
Result := True;
end;
procedure InitializeUninstallProgressForm();
begin
with UninstallProgressForm do
begin
Width := ScaleX(757); /// ширина формы
Height := ScaleY(500); /// высота формы
Position := poScreenCenter; /// расположение формы в центре экрана
CancelButton.SetBounds(ScaleX(650), ScaleY(420), ScaleX(75), ScaleY(25)); /// расположение кнопки отмены
with ProgressBar do /// прогресбар
begin
Parent := UninstallProgressForm
SetBounds(ScaleX(10), ScaleY(370), ScaleX(727), ScaleY(25));
end;
/// создаём 2 безымянныйе картинки
with TBitmapImage.Create(nil) do
begin
Parent := UninstallProgressForm;
Bitmap.LoadFromResourceName(HInstance, '_IS_UNINS'); /// грузим одну критнку
SetBounds(ScaleX(0), ScaleY(0), ScaleX(750), ScaleY(352));
end;
with TBitmapImage.Create(nil) do
begin
Parent := UninstallProgressForm;
Bitmap.LoadFromResourceName(HInstance, '_IS_UNINS2'); /// грузим другую картинку
SetBounds(ScaleX(0), ScaleY(352), ScaleX(750), ScaleY(352));
end;
OuterNotebook.Hide; /// скрываем всё, что не нужно /// а все элементы UninstallProgressForm есть во вкладке компилятора расширенной версии "поддержка Inno Setup" на строке 2300
MainPanel.Hide;
Bevel1.Hide;
StatusLabel.Hide;
BeveledLabel.Hide;
Bevel.Hide;
end;
end;
function InitializeUninstall(): Boolean;
begin
if FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\tiger.cjstyles'), ExpandConstant('{tmp}\tiger.cjstyles'), True) and
FileCopy(ExpandConstant('{#SetupSetting("UninstallFilesDir")}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), True)
then
LoadSkinU(ExpandConstant('{tmp}\tiger.cjstyles'), '');
Result := True;
end;
procedure DeinitializeUninstall();
begin
if FileExists(ExpandConstant('{tmp}\tiger.cjstyles')) and FileExists(ExpandConstant('{tmp}\isskin.dll')) then UnloadSkinU();
end;
procedure DeinitializeSetup;
begin
UnloadSkin();
end;
изменённые строки выделил жирным (3 строки)