[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
-
ArtemYa
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Не могу найти, как сделать, чтобы файл вставлялся в папку, название которой начинается на определенную строку и не важно как заканчивается, помогите пожалуйста!
-
ArtemYa
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Вычитал, что можно так сделать регистрацию dll
Filename: {sys}\regsvr32.exe; Parameters: {app}\*.dll /i
но такой путь не может найти, почему-то имя папки Programm Files делится и пишет ошибку
не найден путь С:\Programm
если кидать *.dll в корень С и задавать путь Parameters: С:\*.dll /i , то все нормально, но не кидать же все dll в корень!
помогите подалуйста!!
Кстати, через RegisterServer тоже ничего не получается
Filename: {sys}\regsvr32.exe; Parameters: {app}\*.dll /i
но такой путь не может найти, почему-то имя папки Programm Files делится и пишет ошибку
не найден путь С:\Programm
если кидать *.dll в корень С и задавать путь Parameters: С:\*.dll /i , то все нормально, но не кидать же все dll в корень!
помогите подалуйста!!
Кстати, через RegisterServer тоже ничего не получается
-
serg aka lain
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
подскажите пожалуйста, как сделать так чтобы при переключении страниц в инсталле буквы не выделялись вот так:
-
nik1967
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Цитата Imitri7:
чтобы действия выполнялись на определенной странице например установки
Код:
Из вашего сообщения не совсем понятно, какой результат нужен
чтобы действия выполнялись на определенной странице например установки
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Код:
Код: Выделить всё
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then
begin
// код, выполняющийся на странице установки
end;
end;Из вашего сообщения не совсем понятно, какой результат нужен

-
Imitri7
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
nik1967, спасибо большое 
а еще, как :
1)сделать чтобы окошко распаковки нельзя было перемешать по экрану?
2)сделать рядом с крестиком остальные кнопки и чтобы кнопка свернуть работала,но кнопка развернуть окно была бы серой(т.е. не активной)?
3)наложить текстуру на кнопку отмены с помощью
Код:

а еще, как :
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]
Imitri7,
Если честно, то я с этим со всем никогда не заморачивался, юзал botva2.dll, и поэтому ничем больше помочь не могу. Пардон за оффтоп.
Если честно, то я с этим со всем никогда не заморачивался, юзал botva2.dll, и поэтому ничем больше помочь не могу. Пардон за оффтоп.
-
Imitri7
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Цитата STRAYKER:
не создаёт ярлыки хотя в скрипте прописано чтобы создало
Выложите проблемную часть скрипта
не создаёт ярлыки хотя в скрипте прописано чтобы создало
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Выложите проблемную часть скрипта
-
dimon135
Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Всем здорова!
Такой вопрос! у меня несколько архивов формата 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;
значения на свои, но здесь только если один архив а мне нужно на несколько
Такой вопрос! у меня несколько архивов формата 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]
Цитата shao:
Код:
[Registry]
Root: HKCU; SubKey: Software\MyProg; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\MyProg; Flags: uninsdeletevalue uninsdeletekeyifemptyЧто я не так делаю, подскажите пожалуйста.
uninsdeletevalue - это удаление параметра типа:
Root: HKLM; SubKey: SOFTWARE\MyProg; ValueType: string; ValueName: Name; ValueData: "";
А в данном случае, (если нужно удалить раздел Root: HKCU; SubKey: Software\MyProg) - задаётся флаг uninsdeletekey
Код:
[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