Inno Setup (создание инсталяционных пакетов). Часть 2

Статус
В этой теме нельзя размещать новые ответы.

sergey3695

Ветеран
Модератор
Кто знает как ComponentList прозрачным сделать или хотяб картинку туда засунуть? (желательно через ботву)
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DisableFinishedPage=yes
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[CustomMessages]
rus.Text=Язык интерфейса:
rus.Voice=Язык озвучки:
rus.Russian=Русский
rus.English=Английский

[Types]
Name: full; Description: Полная установка; Flags: iscustom

[Components]
Name: Text; Description: {cm:Text}; Flags: fixed; Types: Full;                
Name: Text\Eng; Description: {cm:English}; Flags: exclusive; ExtraDiskSpaceRequired: 50000000; 
Name: Text\Rus; Description: {cm:Russian}; Flags: exclusive; ExtraDiskSpaceRequired: 60000000; 
Name: Voice; Description: {cm:Voice}; Flags: fixed; Types: Full;
Name: Voice\Eng; Description: {cm:English}; Flags: exclusive; ExtraDiskSpaceRequired: 500000000; 
Name: Voice\Rus; Description: {cm:Russian}; Flags: exclusive; ExtraDiskSpaceRequired: 600000000; 

[Files]
Source: Files\1.bmp; DestDir: {app}; Flags: ignoreversion; Attribs: hidden system; 
Source: Files\BtnImage.bmp; DestDir: {app}; Flags: ignoreversion; Attribs: hidden system; 

[code\]
var
  BGBitmapImage,BTNImage: TBitmapImage;
  BorderWidth: Integer;
  BGImageStream,BTNImageStream: TMemoryStream;

procedure InitializeWizard();
begin
  BGImageStream := TMemoryStream.Create;
  ExtractTemporaryFileToStream('1.bmp', BGImageStream);
  BGImageStream.Position := 0;

  BTNImageStream := TMemoryStream.Create;
  ExtractTemporaryFileToStream('BtnImage.bmp', BTNImageStream);
  BTNImageStream.Position := 0;

  BGBitmapImage := TBitmapImage.Create(WizardForm);
  BGBitmapImage.Bitmap.LoadFromStream(BGImageStream);

  BTNImage := TBitmapImage.Create(WizardForm);
  BTNImage.Bitmap.LoadFromStream(BTNImageStream);
with WizardForm.ComponentsList do begin
  Font.Color:= $FFF8F8;
  Font.Name:='Tahoma';
  Font.Size:= 8;
  BorderWidth := (WizardForm.ComponentsList.Width-WizardForm.ComponentsList.ClientWidth) div 2;
  LoadBGBmpFromBitmap(BGBitmapImage.Bitmap,  WizardForm.ComponentsList.Left+BorderWidth, WizardForm.ComponentsList.Top+BorderWidth);
  LoadBtnBmpFromBitmap(BTNImage.Bitmap);
end;
end;
1.bmp - картинка(фон)
BtnImage.bmp - чекбоксы(для примера вот...)
Через ботву как? :)
всем привет, скажите пожалуйста, можно сделать прозрачный фон на всех страницах где текст?Если да напишите как
http://vangog.bks-tv.ru/i/b/7/4ff417fd5f67b.png
Сто раз уже спрашивали, полистай найдешь.
 

PUNISHER

Участник
sergey3695, для загрузки чекбоксов можно обойтись
Код:
[Setup]
ComponentsListBtnImageFile=btnimage.bmp
p.s жаль для Tasks такого нет...
 

AntiAngel

Новичок
sergey3695, благодарю

Ещё вопросец как при BorderStyle:=bsNone сделать инсталл передвигающимся.
 

ARS_23

R.I.P
Проверенный
AntiAngel,
function ReleaseCapture(): Longint; external 'ReleaseCapture@user32.dll stdcall';

procedure WizardFormOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(WizardForm.Handle,$0112,$F012,0);
end;

procedure InitializeWizard();
begin
WizardForm.OnMouseDown:= @WizardFormOnMouseDown;
end;
 

LexBell

Борода
Супер модератор
AntiAngel, Нету в стандартной версии свойства OnMouseDown.
 

Krinkels

Он где то тут
Администратор
AntiAngel
Не знает что такое OnMouseDown, на расширенной версии компилируй
 

AntiAngel

Новичок
Gnom, Krinkels
Спс

А как сетапник инсталла зашифровать чтоб не открыли?
 
Последнее редактирование:

alexa1995

Участник
AntiAngel,
На версию от китайцев (ResTools) распаковщика нет, только на стандартную..
Компилируй китайцем)
 

pakrat

Мимокрокодил
Is it possible to have arc file extract to C:\Users\user_name\AppData\Roaming\FOLDER, installer seems to only extract to game folder or to appdata folder but not roaming folder... ? Or is there another way to accomplish this ? :help:

thanks for any suggstions
 

Nasgul

Новичок
pakrat
if you look at this
http://forum.oszone.net/post-1218002-103.html
and this
http://dl9.blogspot.de/2008/03/windows.html
you ll see
CSIDL_APPDATA = $001a;
according to this http://forum.oszone.net/post-1218002-103.html example your path:
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes


[  Code]
const
  MAX_PATH = 260;
  CSIDL_APPDATA = $001a;

function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: PChar; nFolder: Integer; fCreate: BOOL): BOOL; external 'SHGetSpecialFolderPathA@shell32.dll stdcall';

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

procedure InitializeWizard;
begin
  MsgBox(GetSpecialPath(CSIDL_APPDATA), mbInformation, MB_OK);
end;
your destanation dir :
... := AddBackslash(GetSpecialPath(CSIDL_APPDATA)) + 'FOLDER';



try!
 
Последнее редактирование:

Snoopak96

Старожил
Shegorat,
ExpandConstant('{userappdata}\FOLDER')
да так правильнее будет.
 
Последнее редактирование:

AntiAngel

Новичок
А как сделать например chekbox активирован лейбл появляется а если нет то изчезает?
 

YURSHAT

Тех. админ
Администратор
AntiAngel, можно так
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху