PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 9]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 [52] 53 54 55 56 57

DA-Bro
27-01-2023, 12:29
ZVSRus, Пойдёт.
В начале выбор языка не показывает Русский-Английский.
Можно пожалуйста ещё добавить ярлык Закрепить в меню Пуск (это где все программы, а не ярлык где папки с программами).
Можно пожалуйста ещё добавить ассоциации с файлами?
Старые скрипты какие-то где-то видел, но пойдут ли они для новых систем - неизвестно.
И ещё по кнопке О программе. Можно ли надпись сверху по центру сделать?

ZVSRus
27-01-2023, 13:39
В начале выбор языка не показывает Русский-Английский.

Не показывает потому что в скрипте ещё нет секции [Languages]

Можно пожалуйста ещё добавить ярлык Закрепить в меню Пуск (это где все программы, а не ярлык где папки с программами).

Этот ярлык я принципиально не делаю, так-как опять же нужно лезть в меню пуск, если ярлык на панели задач, и лазить ни куда не нужно, зачем же ещё там то дублировать, это во первых. Во вторых учтите что многие ставят специализированные программы расширяющие возможности меню пуск, и тогда ярлык там крепиться не будет, а к вам будут вопросы почему ярлык не крепиться.
У меня стоит Classic Start Menu и ярлыки у меня в меню пуск не крепятся.

Можно пожалуйста ещё добавить ассоциации с файлами?

Принято!

И ещё просьба по кнопке О программе. Можно ли надпись сверху по центру сделать?

Можно, но только вручную. Находишь в скрипте Диалоговое окно "О программе" далее procedure InfoButtonClick(Sender: TObject);
далее Caption:= 'Информация о RePack,е'; и двигаешь от передней кавычки слово Информация о RePack,е, тестируешь и смотришь.

Vanadiy777
27-01-2023, 14:18
ZVSRus,
Помогите пожалуйста, если возможно...
Компилятор Inno Setup 5.5.1.ee2 Ultra Unicode (это принципиально)
Мне необходимо сделать так, чтобы программа запускалась только на Windows 10 и выше.

В секции [Setup] прописываю директиву MinVersion=0.0,6.3 - не работает, MinVersion=0.0,10.0 - не работает...
Понимает только MinVersion=0.0,6.2, но это же для Windows 8, а надо, чтобы работало начиная с Windows 10...

Подскажите, как правильно сделать...

Спасибо.

DA-Bro
27-01-2023, 14:24
Этот ярлык я принципиально не делаю, так-как опять же нужно лезть в меню пуск, если ярлык на панели задач, и лазить ни куда не нужно, зачем же ещё там то дублировать »
Да тут зависит у кого какие тараканы в голове. Каждый нажмёт на тот ярлык который ему нужен. Я у других посмотрел, например в StartAllBack он нормально крепится. А где не сработает, не беда. Да и удалять, не добавлять.

Если можно, окно об удалении настроек программы.

ZVSRus
27-01-2023, 19:51
Компилятор Inno Setup 5.5.1.ee2 Ultra Unicode (это принципиально)
Мне необходимо сделать так, чтобы программа запускалась только на Windows 10 и выше.

В секции [Setup] прописываю директиву MinVersion=0.0,6.3 - не работает, MinVersion=0.0,10.0 - не работает...
Понимает только MinVersion=0.0,6.2, но это же для Windows 8, а надо, чтобы работало начиная с Windows 10...

Что значит MinVersion=0.0,6.3 - не работает, MinVersion=0.0,10.0 - не работает...
И что значит Понимает только MinVersion=0.0,6.2
На какой ОС работаете.



https://www.upload.ee/thumb/14876262/2023-01-27_191530.png (https://www.upload.ee/image/14876262/2023-01-27_191530.png)
Правильно
https://www.upload.ee/thumb/14876274/2023-01-27_191616.png (https://www.upload.ee/image/14876274/2023-01-27_191616.png)
Правильно
https://www.upload.ee/thumb/14876283/2023-01-27_191703.png (https://www.upload.ee/image/14876283/2023-01-27_191703.png)
Правильно
https://www.upload.ee/thumb/14876294/2023-01-27_191747.png (https://www.upload.ee/image/14876294/2023-01-27_191747.png)
Правильно
https://www.upload.ee/thumb/14876298/2023-01-27_191833.png (https://www.upload.ee/image/14876298/2023-01-27_191833.png)
Правильно
Как видно по картинкам все директивы отработали правильно, так-как сижу на Win7


Почитай здесь.
(http://forum.oszone.net/post-2283435.html)

Vanadiy777
27-01-2023, 21:12
Почитай здесь. »
ZVSRus,
перечитал все с самого начала до последней части [часть 9] еще задолго до этого, ответа не нашел...

Разговор о том, что инсталлятор, собранный в Inno Setup 5.5.1.ee2 Ultra Unicode, не понимает директиву выше чем MinVersion=0.0,6.2 на ОС выше Windows 8...

https://i1.imageban.ru/out/2023/01/27/055c8ebe9c0e0247af97a174908fbb2f.png (https://imageban.ru)

https://i6.imageban.ru/out/2023/01/27/91d2546af99b1d47a0d48d7d5a2530c5.png (https://imageban.ru)

https://i2.imageban.ru/out/2023/01/27/0140a0b5571109eaa8d1d7c686e099e4.png (https://imageban.ru)
Тот же скрипт, собранный в другом компиляторе, нормально отрабатывает.

https://i1.imageban.ru/out/2023/01/27/f8bcf57c610bc14954fe769cb1def0bf.png (https://imageban.ru)
Операционная система Windows 10-11.

Можно это как-то обойти?

ZVSRus
28-01-2023, 10:47
Vanadiy777,
Всё правильно, если верить справке что прикреплена к Inno Setup 5.5.1.ee2 Ultra Unicode MinVersion принимается до Win8
А в справке Inno Setup 5.6.1 сказано что MinVersion принимается по Win10.
Ну да ладно, если я правильно понял вам нужно что-бы ваш установщик запускался начиная с Win10, а на версии что ниже Win10 установщик не запускался ну и выдавал какое либо сообщение.
Если так тогда может вам не вокруг MinVersion танцевать, а прикрутить функцию проверки версии Windows.
В Win 10 установщик будет запускаться, а что ниже 10 будет выдавать сообщение о не соответствии Windows.

Vanadiy777
28-01-2023, 12:35
а прикрутить функцию проверки версии Windows. »
ZVSRus,
Да, это я уже понял...
Только пока не знаю, какой вариант использовать.
Можно попробовать взять из реестра значение CurrentVersion, у 10-ки оно 6.3, и если значение будет меньше,
то сообщение о не соответствии и выход.
Или заморочиться с процедурой GetWindowsVersionEx, потому, что функция GetWindowsVersion отрабатывает некорректно.

Если у Вас есть какие-либо соображения, пните в нужном направлении, пожалуйста...

ZVSRus
28-01-2023, 17:27
Vanadiy777,



[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Code**]
function IsWindowsVersionOrNewer(Major, Minor: Integer): Boolean;
var
Version: TWindowsVersion;

begin
GetWindowsVersionEx(Version);
Result:= (Version.Major > Major) or ((Version.Major = Major) and (Version.Minor >= Minor));
end;

function InitializeSetup(): Boolean;
begin
if IsWindowsVersionOrNewer(10, 0) then Result:= True else
MsgBox('Версия Windows не соответствует требуемым параметрам', mbError, MB_OK);
end;

Vanadiy777
28-01-2023, 21:34
ZVSRus,
Нет, не работает пока...
На всех ОС окошко выдает...
Если править Result:= , то начинает запускаться на всех ОС.
Не понимает она, видимо, Major больше заявленного в программе...

Похоже, через реестр придется делать...

ZVSRus
29-01-2023, 09:45
Vanadiy777,
В Result ничего править не нужно.
Поиграйся с циферками if IsWindowsVersionOrNewer(10, 0).

Vanadiy777
29-01-2023, 13:30
В Result ничего править не нужно.
Поиграйся с циферками if IsWindowsVersionOrNewer(10, 0). »
ZVSRus,
Result не трогаю...
Играюсь с циферками в if IsWindowsVersionOrNewer...

Смотри, что получается:
Если ставлю if IsWindowsVersionOrNewer(6, 2), то нормально запускается на 10-11, но и на 8-ке тоже запускается (чего совсем не хотелось бы...).
На 7-ке, как и должно быть, выдает окно о несоответствии.
Если ставлю if IsWindowsVersionOrNewer(6, 3), то сразу окно о несоответствии на всех системах...

Похоже, что в этом компиляторе, процедура GetWindowsVersionEx так же не понимает новые Major, Minor,
так же как и директива MinVersion...

Осталось только попробовать костыль с реестром, через CurrentVersion...

Очень не хочется собирать в другом компиляторе, т.к. придется пожертвовать некоторыми элементами интерфейса.

iglezz
29-01-2023, 15:14
Похоже, что в этом компиляторе, процедура GetWindowsVersionEx так же не понимает новые Major, Minor, »
Именно так, это было исправлено в версии 5.5.6 (https://jrsoftware.org/files/is5.5-whatsnew.htm#5.5.6)

И это можно легко исправить самому через изменение манифеста:

1. Открыть Setup.e32 и SetupLdr.e32 в Resource Hacker
2. Открыть Manifest
там в конце xml-манифеста будет секция <application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
.....
</application>
её надо исправить на <application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
после этого скомпилировать изменённый манифест (F5)
3. Сохранить изменённый файл

procedure TestWindowsVersion();
var
V: TWindowsVersion;
begin
GetWindowsVersionEx(V);

MsgBox(Format( \
'Major'#09'%d'#13 \
'Minor'#09'%d'#13 \
'Build'#09'%d'#13 \
'SPMajor'#09'%d'#13 \
'SPMinor'#09'%d'#13 \
, [V.Major, V.Minor, V.Build, V.ServicePackMajor, V.ServicePackMinor]), mbInformation, MB_OK);
end;

function InitializeSetup(): Boolean;
begin
TestWindowsVersion()
Result := False
end;

Vanadiy777
29-01-2023, 15:52
iglezz,
Просто - СУПЕР!!!
Теперь работает все.

Спасибище Вам огромаднейшее!!! :Beer: :beer2:

ZVSRus
02-02-2023, 14:30
Если можно, окно об удалении настроек программы.

Какие действия будут происходить под кнопкой "Да" в информационном окне "Удалить настройки?"

PS: Вы делаете закосы под других репакеров, а они не будут возмущаться?.

DA-Bro
02-02-2023, 16:20
ZVSRus, Здравствуйте! Да нет никаких закосов. Я смотрю функциональность, которая мне нужна. Тем более у каждого скрипт индивидуален. И в Вашем исполении он уже заметно отличается. Тем более я его ещё в процессе буду изменять под свои предпочтения.
Какие действия будут происходить под кнопкой "Да" в информационном окне "Удалить настройки?" »
Будет удаляться ключ в реестре или папка с настройками в "Roaming", смотря по обстоятельствам.

Vanadiy777
02-02-2023, 20:13
Вы своим флудом всю тему засрали!. Многие тему по InnoSetup на данном форуме стали стороной обходить. »
ZVSRus, DA-Bro,
Получается, что это вы тему-то засрали, превратив ее в личный чат...
На протяжении шести страниц вы ведете какой-то междусобойчик,
кидаясь отдельными фразами и готовыми ехе, а в теме выхлопа - ноль, не смотря на многочисленные просьбы...
Остальным, видимо, в личке обмениваетесь...

Как-то не по пионерски получается... Вы не находите?

Поэтому многие и обходят эту тему стороной...

но свои лайки крендель получил. »
ZVSRus, это, видимо, Вы на меня намёкиваете? :)
Так не могу я людям запретить ставить лайк под моим сообщением, если оно понравилось, даже если оно не несет смысловой нагрузки.
Это право каждого...

А "хотелки" у DA-Bro не закончатся, видимо, никогда... :lol:

Извините, коллеги, ничего личного...

DA-Bro
11-02-2023, 03:06
Здравствуйте! Подскажите пожалуйста, как в этих двух строчках русские буквы правильно заменить на "CustomMessage":

Caption:= FmtMessage(ExpandConstant('Установка - {#AppName}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
Caption:= FmtMessage(ExpandConstant('Программа установит {#AppName} в следующую папку.'), [ExpandConstant('{#SetupSetting("AppName")}')]);

Что-то вроде этого нужно:

CustomMessage('Установка')
CustomMessage('Программа установит')
CustomMessage('в следующую папку.')
CustomMessage('Программа установит {#AppName} в следующую папку.')

ZVSRus
11-02-2023, 13:46
[CustomMessages]
RU.text1=Установка — %1
EN.text1=Setup — %1

RU.text2=Программа установит %1 в следующую папку.
EN.text2=The program will install %1 in the following folder.


Caption:= FmtMessage(ExpandConstant('{cm:text1}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
Caption:= FmtMessage(ExpandConstant('{cm:text2}'), [ExpandConstant('{#SetupSetting("AppName")}')]);

Nicolayka
27-02-2023, 22:06
Всем привет!
Читаю-читаю-читаю......никак не могу понять. Можно ли увеличить максимальный объём тома? Сейчас 2 Гб. Или может есть другая программа для создания Repack-ов игр, в которой нет ограничения на размер тома? Спасибо заранее за ответ!




© OSzone.net 2001-2012