Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 9]
ZVSRus, Пойдёт.
В начале выбор языка не показывает Русский-Английский.
Можно пожалуйста ещё добавить ярлык Закрепить в меню Пуск (это где все программы, а не ярлык где папки с программами).
Можно пожалуйста ещё добавить ассоциации с файлами?
Старые скрипты какие-то где-то видел, но пойдут ли они для новых систем - неизвестно.
И ещё по кнопке О программе. Можно ли надпись сверху по центру сделать?
В начале выбор языка не показывает Русский-Английский.
Не показывает потому что в скрипте ещё нет секции [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...
Подскажите, как правильно сделать...
Спасибо.
Этот ярлык я принципиально не делаю, так-как опять же нужно лезть в меню пуск, если ярлык на панели задач, и лазить ни куда не нужно, зачем же ещё там то дублировать »
Да тут зависит у кого какие тараканы в голове. Каждый нажмёт на тот ярлык который ему нужен. Я у других посмотрел, например в StartAllBack он нормально крепится. А где не сработает, не беда. Да и удалять, не добавлять.
Если можно, окно об удалении настроек программы.
Компилятор 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.
Можно это как-то обойти?
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 отрабатывает некорректно.
Если у Вас есть какие-либо соображения, пните в нужном направлении, пожалуйста...
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 больше заявленного в программе...
Похоже, через реестр придется делать...
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...
Очень не хочется собирать в другом компиляторе, т.к. придется пожертвовать некоторыми элементами интерфейса.
Похоже, что в этом компиляторе, процедура 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:
Если можно, окно об удалении настроек программы.
Какие действия будут происходить под кнопкой "Да" в информационном окне "Удалить настройки?"
PS: Вы делаете закосы под других репакеров, а они не будут возмущаться?.
ZVSRus, Здравствуйте! Да нет никаких закосов. Я смотрю функциональность, которая мне нужна. Тем более у каждого скрипт индивидуален. И в Вашем исполении он уже заметно отличается. Тем более я его ещё в процессе буду изменять под свои предпочтения.
Какие действия будут происходить под кнопкой "Да" в информационном окне "Удалить настройки?" »
Будет удаляться ключ в реестре или папка с настройками в "Roaming", смотря по обстоятельствам.
Vanadiy777
02-02-2023, 20:13
Вы своим флудом всю тему засрали!. Многие тему по InnoSetup на данном форуме стали стороной обходить. »
ZVSRus, DA-Bro,
Получается, что это вы тему-то засрали, превратив ее в личный чат...
На протяжении шести страниц вы ведете какой-то междусобойчик,
кидаясь отдельными фразами и готовыми ехе, а в теме выхлопа - ноль, не смотря на многочисленные просьбы...
Остальным, видимо, в личке обмениваетесь...
Как-то не по пионерски получается... Вы не находите?
Поэтому многие и обходят эту тему стороной...
но свои лайки крендель получил. »
ZVSRus, это, видимо, Вы на меня намёкиваете? :)
Так не могу я людям запретить ставить лайк под моим сообщением, если оно понравилось, даже если оно не несет смысловой нагрузки.
Это право каждого...
А "хотелки" у DA-Bro не закончатся, видимо, никогда... :lol:
Извините, коллеги, ничего личного...
Здравствуйте! Подскажите пожалуйста, как в этих двух строчках русские буквы правильно заменить на "CustomMessage":
Caption:= FmtMessage(ExpandConstant('Установка - {#AppName}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
Caption:= FmtMessage(ExpandConstant('Программа установит {#AppName} в следующую папку.'), [ExpandConstant('{#SetupSetting("AppName")}')]);
Что-то вроде этого нужно:
CustomMessage('Установка')
CustomMessage('Программа установит')
CustomMessage('в следующую папку.')
CustomMessage('Программа установит {#AppName} в следующую папку.')
[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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.