BlackSelf,
1. В сообщение проблема установить свой рисунок, не говоря уже о прозрачности, но можно попробовать создать новую форму, а уже её попытаться сделать полупрозрачной, но даже и при таком раскладе не получится сделать видимым один текст... т.е. чем прозрачней форма, тем тусклее текст.
2. Пример
Код:

[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com
AppSupportURL=http://www.mycompany.com
AppUpdatesURL=http://www.mycompany.com
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Files]
Source: compiler:Libraries\BASSMOD.dll; Flags: dontcopy
; указываем музыку, которую надо проиграть
Source: mattis-lowsi_jeti_maah.mod; Flags: dontcopy
[_Code]
const
BASS_MUSIC_RAMP = 1; // normal ramping (only for Fast Tracker .xm)
BASS_MUSIC_RAMPS = 2; // sensitive ramping (only for Fast Tracker .xm)
BASS_MUSIC_LOOP = 4; // loop music
BASS_MUSIC_FT2MOD = 16; // play .MOD as FastTracker 2 does
BASS_MUSIC_PT1MOD = 32; // play .MOD as ProTracker 1 does
BASS_MUSIC_SURROUND = 512; // surround sound
BASS_MUSIC_SURROUND2 = 1024; // surround sound (mode 2)
function BASSMOD_Init(device: Integer; freq, flags: DWORD): Boolean;
external 'BASSMOD_Init@files:BASSMOD.dll stdcall delayload';
procedure BASSMOD_MusicFree();
external 'BASSMOD_MusicFree@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicLoad(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): Boolean;
external 'BASSMOD_MusicLoad@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicPlay(): Boolean;
external 'BASSMOD_MusicPlay@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicGetPosition(): Boolean;
external 'BASSMOD_MusicGetPosition@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicStop(): Boolean;
external 'BASSMOD_MusicStop@files:BASSMOD.dll stdcall delayload';
function BASSMOD_MusicPause(): Boolean;
external 'BASSMOD_MusicPause@files:BASSMOD.dll stdcall delayload';
procedure BASSMOD_Free();
external 'BASSMOD_Free@files:BASSMOD.dll stdcall delayload';
procedure PlayButtonOnClick(Sender: TObject);
var
Name1: string;
begin
if not BASSMOD_MusicPlay then begin
Name1:=ExpandConstant('{tmp}\mattis-lowsi_jeti_maah.mod');
if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, 4 or 512 or 32 or 1) then
BASSMOD_MusicPlay;
end;
end;
procedure PauseButtonOnClick(Sender: TObject);
begin
BASSMOD_MusicPause;
end;
procedure StopButtonOnClick(Sender: TObject);
begin
BASSMOD_MusicStop;
BASSMOD_MusicFree;
end;
procedure InitializeWizard();
var
Name1: string;
PlayButton, PauseButton, StopButton, RewButton: TButton;
Text: TNewStaticText;
Panel1: TPanel;
begin
// распаковываем BASSMOD.dll во временную папку
ExtractTemporaryFile(ExpandConstant('BASSMOD.dll'));
// распаковываем mattis-lowsi_jeti_maah.mod во временную папку
ExtractTemporaryFile(ExpandConstant('mattis-lowsi_jeti_maah.mod'));
if not BASSMOD_Init(-1,44100,0) then begin
MsgBox('BASSMOD не смогла инициализироваться, проигрывание музыки невозможно.', mbInformation, MB_OK)
BASSMOD_Free;
end;
Name1:= ExpandConstant('{tmp}\mattis-lowsi_jeti_maah.mod');
BASSMOD_MusicFree;
if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then
BASSMOD_MusicPlay;
// создаём панель, на которой будут отбражаться кнопки
Panel1 := TPanel.Create(WizardForm);
with Panel1 do begin
Parent := WizardForm;
Left := ScaleX(1);
Top := ScaleY(315);
Width := ScaleX(165);
Height := ScaleY(46);
TabOrder := 0;
Color := clWhite;
BevelInner := bvLowered;
BevelOuter:= bvRaised;
BorderStyle := bsSingle;
end;
// создаём три кнопки PlayButton, PauseButton, StopButton и текст Text
PlayButton := TButton.Create(WizardForm);
with PlayButton do begin
Left := 5;
Top := 335;
Width := 50;
Height := 20;
Caption := 'игра';
OnClick := @PlayButtonOnClick;
Parent := WizardForm;
Cursor := crHand;
Hint := 'Воспроизведение музыки';
ShowHint := True;
end;
PauseButton := TButton.Create(WizardForm);
with PauseButton do begin
Left := 58;
Top := 335;
Width := 50;
Height := 20;
Caption := 'пауза';
OnClick := @PauseButtonOnClick;
Parent := WizardForm;
Cursor := crHand;
Hint := 'Приостановить музыку';
ShowHint := True;
end;
StopButton := TButton.Create(WizardForm);
with StopButton do begin
Left := 111;
Top := 335;
Width := 50;
Height := 20;
Caption := 'cтоп';
OnClick := @StopButtonOnClick;
Parent := WizardForm;
Cursor := crHand;
Hint := 'Остановить музыку';
ShowHint := True;
end;
Text := TNewStaticText.Create(WizardForm);
with Text do begin
Caption := 'музыка инсталлятора';
Parent := WizardForm;
Font.Style := Text.Font.Style + [fsUnderline];
Font.Color := clNavy;
Top := 319;
Left :=26;
Color := clWhite;
end;
end;
3. Не знаю, я с фриарком не знаком.
Мне интересно, что так все носятся с этим фриарком? Мне кажется 7z пакует намного лучше...
Если интересно, в
этом сообщении я выкладывал ссылку на библиотеку is7z.dll, для показа хода распаковки 7z архивов во втором прогрессбаре.