[архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Ответить
 • Просмотры: 50
Аватара пользователя
ArtemYa

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение ArtemYa »

Не могу найти, как сделать, чтобы файл вставлялся в папку, название которой начинается на определенную строку и не важно как заканчивается, помогите пожалуйста!
Аватара пользователя
ArtemYa

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение ArtemYa »

nik1967, как убрать вот эту
линию, которая по сторонам прогсбара идет? ?
Аватара пользователя
ArtemYa

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение ArtemYa »

Вычитал, что можно так сделать регистрацию dll

Filename: {sys}\regsvr32.exe; Parameters: {app}\*.dll /i

но такой путь не может найти, почему-то имя папки Programm Files делится и пишет ошибку

не найден путь С:\Programm

если кидать *.dll в корень С и задавать путь Parameters: С:\*.dll /i , то все нормально, но не кидать же все dll в корень!

помогите подалуйста!!



Кстати, через RegisterServer тоже ничего не получается
Аватара пользователя
serg aka lain

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение serg aka lain »

подскажите пожалуйста, как сделать так чтобы при переключении страниц в инсталле буквы не выделялись вот так:

Аватара пользователя
nik1967

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение nik1967 »

Цитата Imitri7:



чтобы действия выполнялись на определенной странице например установки
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]






Код:

Код: Выделить всё

procedure CurPageChanged(CurPageID: Integer);
begin
 if CurPageID=wpInstalling then
 begin
  // код, выполняющийся на странице установки
 end;
end;

Из вашего сообщения не совсем понятно, какой результат нужен Изображение
Аватара пользователя
Imitri7

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение Imitri7 »

nik1967, спасибо большое Изображение

а еще, как :

1)сделать чтобы окошко распаковки нельзя было перемешать по экрану?

2)сделать рядом с крестиком остальные кнопки и чтобы кнопка свернуть работала,но кнопка развернуть окно была бы серой(т.е. не активной)?

3)наложить текстуру на кнопку отмены с помощью
читать дальше »




Код:

Код: Выделить всё

[ code]
const
  ButtonWidth = 80;    //Указываем размер кнопок
  ButtonHeight = 23;
  bidBack = 0;
  bidNext = 1;
  bidCancel = 2;
  bidDirBrowse = 3;
  bidGroupBrowse = 4;
var
  ButtonPanel: array [0..4] of TPanel;
  ButtonImage: array [0..4] of TBitmapImage;
  ButtonLabel: array [0..4] of TLabel;
procedure ButtonLabelClick(Sender: TObject);
var
  Button: TButton;
begin
  ButtonImage[TLabel(Sender).Tag].Left:=0
  case TLabel(Sender).Tag of
    bidBack: Button:=WizardForm.BackButton
    bidNext: Button:=WizardForm.NextButton
    bidCancel: Button:=WizardForm.CancelButton
    bidDirBrowse: Button:=WizardForm.DirBrowseButton
    bidGroupBrowse: Button:=WizardForm.GroupBrowseButton
  else
    Exit
  end
  Button.OnClick(Button)
end;
procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ButtonLabel[TLabel(Sender).Tag].Enabled then
     ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth
end;
procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ButtonImage[TLabel(Sender).Tag].Left:=0
end;
procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
var
  Image: TBitmapImage;
  Panel: TPanel;
  Labl: TLabel;
begin
  Panel:=TPanel.Create(WizardForm)
  Panel.Left:=AButton.Left
  Panel.Top:=AButton.Top
  Panel.Width:=AButton.Width
  Panel.Height:=AButton.Height
  Panel.Tag:=AButtonIndex
  Panel.Parent:=AButton.Parent
  ButtonPanel[AButtonIndex]:=Panel
  Image:=TBitmapImage.Create(WizardForm)    //Рисунок который ложится на кнопку
  Image.Width:=160                          //Обязательно прописать оригинальный размер рисунка
  Image.Height:=23
  Image.Enabled:=False
  Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\button.bmp'))
  Image.Parent:=Panel
  ButtonImage[AButtonIndex]:=Image
  with TLabel.Create(WizardForm) do begin
    Tag:=AButtonIndex
    Parent:=Panel
    Width:=Panel.Width
    Height:=Panel.Height
    Transparent:=True
    OnClick:=@ButtonLabelClick
    OnDblClick:=@ButtonLabelClick
    OnMouseDown:=@ButtonLabelMouseDown
    OnMouseUp:=@ButtonLabelMouseUp
  end
  Labl:=TLabel.Create(WizardForm)        //Текст кнопок
  Labl.Left:=23                          //Указываем положение текста
  Labl.Top:=5
  Labl.Autosize:=True
  Labl.Alignment:=taCenter
  Labl.Tag:=AButtonIndex
  Labl.Transparent:=True
  Labl.Font.Color:=clWhite               //Цвет текста
  Labl.Caption:=AButton.Caption
  Labl.OnClick:=@ButtonLabelClick
  Labl.OnDblClick:=@ButtonLabelClick
  Labl.OnMouseDown:=@ButtonLabelMouseDown
  Labl.OnMouseUp:=@ButtonLabelMouseUp
  Labl.Parent:=Panel
  ButtonLabel[AButtonIndex]:=Labl
end;
procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
begin
  ButtonLabel[AButtonIndex].Caption:=AButton.Caption
  ButtonPanel[AButtonIndex].Visible:=AButton.Visible
  ButtonLabel[AButtonIndex].Enabled:=Abutton.Enabled
end;
procedure LicenceAcceptedRadioOnClick(Sender: TObject);
begin
  ButtonLabel[bidNext].Enabled:=True
end;
procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
begin
  ButtonLabel[bidNext].Enabled:=False
end;
procedure CurPageChanged(CurPageID: Integer);
begin
  UpdateButton(WizardForm.BackButton,bidBack)
  UpdateButton(WizardForm.NextButton,bidNext)
  UpdateButton(WizardForm.CancelButton,bidCancel)
  ButtonLabel[bidBack].Left := (ButtonPanel[bidBack].Width / 2 - ButtonLabel[bidBack].Width / 2);
  ButtonLabel[bidNext].Left := (ButtonPanel[bidNext].Width / 2 - ButtonLabel[bidNext].Width / 2);
  ButtonLabel[bidCancel].Left := (ButtonPanel[bidCancel].Width / 2 - ButtonLabel[bidCancel].Width / 2);
  ButtonLabel[bidDirBrowse].Left := (ButtonPanel[bidDirBrowse].Width / 2 - ButtonLabel[bidDirBrowse].Width / 2);
  ButtonLabel[bidGroupBrowse].Left := (ButtonPanel[bidGroupBrowse].Width / 2 - ButtonLabel[bidGroupBrowse].Width / 2);
end;
procedure InitializeWizard();
begin
  WizardForm.BackButton.Width:=ButtonWidth
  WizardForm.BackButton.Height:=ButtonHeight
  WizardForm.NextButton.Width:=ButtonWidth
  WizardForm.NextButton.Height:=ButtonHeight
  WizardForm.CancelButton.Width:=ButtonWidth
  WizardForm.CancelButton.Height:=ButtonHeight
  WizardForm.DirBrowseButton.Left:=337
  WizardForm.DirBrowseButton.Width:=ButtonWidth
  WizardForm.DirBrowseButton.Height:=ButtonHeight
  WizardForm.GroupBrowseButton.Left:=337
  WizardForm.GroupBrowseButton.Width:=ButtonWidth
  WizardForm.GroupBrowseButton.Height:=ButtonHeight
  WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick
  WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick
  ExtractTemporaryFile('button.bmp')
  LoadButtonImage(WizardForm.BackButton,bidBack)
  LoadButtonImage(WizardForm.NextButton,bidNext)
  LoadButtonImage(WizardForm.CancelButton,bidCancel)
  LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
  LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
end;
Аватара пользователя
nik1967

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение nik1967 »

Imitri7,

Если честно, то я с этим со всем никогда не заморачивался, юзал botva2.dll, и поэтому ничем больше помочь не могу. Пардон за оффтоп.
Аватара пользователя
Imitri7

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение Imitri7 »

Цитата STRAYKER:



не создаёт ярлыки хотя в скрипте прописано чтобы создало
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Выложите проблемную часть скрипта
Аватара пользователя
dimon135

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение dimon135 »

Всем здорова!

Такой вопрос! у меня несколько архивов формата xxx.arc и идут они через srep+pcf+arc и как мне сделать чтобы всё фархива формата arc распаковывались поочерёдно, так же они проходят через ISDone. Я знаю что надо в этой

if not ISSRepExtract ( 0, OveralPct, 0, ExpandConstant('{app}\data1\CODMW2.srep'), ExpandConstant('{app}\data1\CODMW2.pcf'), '', true, CallBack ) then break;

if not ISPrecompExtract( 0, OveralPct, 0, ExpandConstant('{app}\data1\CODMW2.pcf'), ExpandConstant('{app}\data1\CODMW2.arc'), true, CallBack ) then break;

if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\CODMW2.arc'), ExpandConstant('{app}\data1'), false,CallBack, '', '', '') then break;





значения на свои, но здесь только если один архив а мне нужно на несколько
Аватара пользователя
nik1967

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение nik1967 »

Цитата shao:



Код:

[Registry]

Root: HKCU; SubKey: Software\MyProg; Flags: uninsdeletevalue

Root: HKLM; SubKey: SOFTWARE\MyProg; Flags: uninsdeletevalue uninsdeletekeyifemptyЧто я не так делаю, подскажите пожалуйста.
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




uninsdeletevalue - это удаление параметра типа:

Root: HKLM; SubKey: SOFTWARE\MyProg; ValueType: string; ValueName: Name; ValueData: "";

А в данном случае, (если нужно удалить раздел Root: HKCU; SubKey: Software\MyProg) - задаётся флаг uninsdeletekey
Ответить

Вернуться в «Автоматическая установка приложений»