Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
vvVVvv VV vvVVvv
16-12-2017, 10:05
StimCheck это внутреннее название переключателя, как он у вас называется я не знаю, нужно в скрипте смотреть.
Если у вас есть переключение между взломанной и стим, значит есть и эти переключатели.
Выбрали стим, данные файлы не установились, выбрали взломанную, файлы установились в нужное место, куда укажете путь.
Ничего сложного. »
Я вас понял,написал вам в лс.
vvVVvv VV vvVVvv Отправил.
vvVVvv VV vvVVvv
16-12-2017, 14:12
Отправил. »
Спасибо,всё работает.
как кнопку Обзор.... передвинуть чуть чуть верх, https://s8.hostingkartinok.com/uploads/images/2017/12/d205422447e8594af3f952a1911e7bc8.png
http://rgho.st/8TsjZx2Y6
Все привет.
В инсталляторе при определенных условиях создается кастомная страница. Как в дальнейшем коде проверить, существует она или нет?
Или, если проще, можно создавать страницу в любом случае, но при определенных условиях как ее пропустить?
В инсталляторе при определенных условиях создается кастомная страница.
Костомная страница автоматом не создаётся, её нужно самому создавать, и уже потом при определённых условиях показывать её или нет.
как кнопку Обзор.... передвинуть чуть чуть верх
Зайди в папку modules, открой form.iss найди строку 356 with WizardForm.DirBrowseButton do
Замени Top := ScaleY(115); на Top := ScaleY(112); это координаты отступа сверху.
Как поднять или опустить не вопрос, вопрос в том пойди найди нужный компонент в этих джунглях!
ZVSRus,
как указать свой размер игры в скрипте?
https://s8.hostingkartinok.com/uploads/images/2017/12/cfa52decae8427f8dea1fa963a131aea.png
Костомная страница автоматом не создаётся, её нужно самому создавать, и уже потом при определённых условиях показывать её или нет. »
эмм... ровно это и написано.
В инсталляторе при определенных условиях создается кастомная страница »
я сам ее создаю при определенных условиях. Вопрос в том, чтобы в дальнейшем коде проверять не все условия, при которых она была (или не была) создана, а проверить само ее существование. Типа
if CustomPade then begin
как указать свой размер игры в скрипте?
Если имеется ввиду на той же странице где и кнопка, объём игры и требуется для установки
тогда это в скрипте в самом верху что красным шрифтом
//===== [Need Size] =====\\:
#define NeedSize "10240" = это объём игры
//===== [Game Size] =====\\:
#define TotalNeedSize "10240" = требуется для установки
10240 = запись в мегабайтах
я сам ее создаю при определенных условиях.
Это как? Я в свои рукоделиях костомную страницу создаю не при каких определенных условиях, а просто ручками в нужном месте, ну например после страницы приветствия, а на стр. приветствия создаю те определенные условия как вы выражаетесь, при которых показывать эту страницу или нет. Пропускать страницы это выражение для стандартных страниц, для костомной страницы более правильное выражение скрывать или показывать. То что вы привели if CustomPade then begin и далее какие то действия, то это более подойдёт к самой костомной странице, то есть какие то компоненты на данной странице скрывать или показывать.
PS. Ну а вообще я не до конца понял суть вопроса.
ZVSRus,
Страница создается скажем при наличии ключа в реестре. Если ключа нет, она не создается. Далее в коде (уже совсем в другом месте, скажем, на ssDone при нажатом чекбоксе на той самой странице происходит еще что-то. Проблема возникает, если на ssDone идет обращение к чекбоксу страницы, которая ввиду условий не была создана. Это все упрощенно, условий для создания страницы больше
Повторюсь, может проще ее создавать изначально, но при тех же условиях ее просто не показывать ( пропускать)
Страница создается скажем при наличии ключа в реестре. Если ключа нет, она не создается.
Первый раз слышу чтобы Если ключа нет, она не создается если ключ есть то она создается.
Костомная страница при наличии ключа сама не создастся, её нужно изначально ручками создавать. А уже потом написать функцию для ключа в реестре, в функции прописать если ключ в реестре есть страницу показывать, ключа в реестре нет страницу не показывать.
Это все упрощенно, условий для создания страницы больше
Условий для создания костомной страницы автоматом я не знаю и нигде не встречал, ввиду того что создания страниц как вы описываете не существует. Пример, создалась у вас при наличии ключа в реестре страница автоматом, что и на ней уже существуют чекбоксы, лейблы, все те компоненты какие вы желаете видеть? Ну да ладно!!!
ZVSRus,
немного мы не понимаем друг друга, ну да ладно
procedure CreatePageUPnP();
begin
UPnPPage := CreateCustomPage(PgID, ExpandConstant('{cm:UPnPDlgCaption}'), ExpandConstant('{cm:UPnPDlgDescription}'));
Header := TNewStaticText.Create(UPnPPage);
Header.Parent := UPnPPage.Surface;
Header.SetBounds(0, 0, WizardForm.InnerNotebook.Width, ScaleY(110));
Header.Autosize := False;
Header.WordWrap := True;
Header.Caption := ExpandConstant('{cm:UPnPDlgExplanation}');
UPnPCheck := TCheckBox.Create(WizardForm);
with UPnPCheck do begin
Parent := UPnPPage.Surface;
Left := ScaleX(0);
Top := ScaleY(212);
Caption := ExpandConstant('{cm:UPnPDlgConfigure}');
Width := ScaleX(300);
Checked := True;
End;
if UPnPConfigure then UPnPCheck.State := cbUnChecked else UPnPCheck.State := cbChecked;
end;
procedure InitializeWizard();
begin
if AskedUPnPConfigure then CreatePageUPnP();
end;
Я не писал, что страница создается автоматом. Я писал, что команда на ее создание отправляется только при определенных условиях.
если ключ в реестре есть страницу показывать, ключа в реестре нет страницу не показывать »
Это как можно сделать?
El Sanchez
18-12-2017, 09:32
Я не писал, что страница создается автоматом. Я писал, что команда на ее создание отправляется только при определенных условиях. »
Ivn78, создавайте страницу в любом случае, ее показ регулируйте в ShouldSkipPage:
procedure InitializeWizard;
begin
CreatePageUPnP();
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := False;
case PageID of
UPnPPage.ID:
Result := not AskedUPnPConfigure;
end;
end;
Прошу помощи. Нужно организовать проверку установленной версии IE.
HKLM, 'SOFTWARE\Microsoft\Internet Explorer', 'Version'
значение вида 7.0.5730.13. Как сделать, чтобы если первая цифра (число до первой точки) этого значения меньше 8, то выполнять действия?
Ivn78,
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.
[code]
var
NVersion: String;
function InitializeSetup: Boolean;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Internet Explorer', 'Version', NVersion);
Delete(NVersion, 2, Length(NVersion));
if StrToInt(NVersion) < 8 then begin
MsgBox('Пора бы обновить', mbInformation, MB_OK);
Result:= false;
end else begin
MsgBox('IE в норме', mbInformation, MB_OK);
Result:= true;
end;
end;
nik1967,
а как быть, если первое число двухзначное? сейчас получается, что 10<8
Ivn78,
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.
[code]
var
NVersion: String;
Tochka: Integer;
function InitializeSetup: Boolean;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Internet Explorer', 'Version', NVersion);
Tochka:= Pos('.', NVersion);
Delete(NVersion, Tochka, Length(NVersion));
if StrToInt(NVersion) < 8 then begin
MsgBox('Пора бы обновить', mbInformation, MB_OK);
Result:= false;
end else begin
MsgBox('IE в норме', mbInformation, MB_OK);
Result:= true;
end;
end;
подскажите пожалуйста как удалить название игры в этом пункте https://s8.hostingkartinok.com/uploads/images/2017/12/9c12122ccdeb6ed4d6523cf32e281622.png
http://rgho.st/8TsjZx2Y6
подскажите пожалуйста как удалить название игры в этом пункте »
Если: "SelectDirLabel3=Программа установит [name] в следующую папку." - То соответственно:
[Languages]
Name: en; MessagesFile: compiler:Default.isl
Name: ru; MessagesFile: compiler:Languages\Russian.isl
[Messages]
ru.SelectDirLabel3=Программа установит в следующую папку.
en.SelectDirLabel3=Setup will install into the following folder.
- Всё просто.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.