Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inno Setup
 
 

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
All version | Исходники проекта
 
Последние версии:
Inno Setup QuickStart Pack (Unicode) 6.1.2 [15.11.2020]
Скачать (4.23 Mb)
 
Inno Setup 6.2.2 [15.02.2023]
Скачать (4.50 Mb)
 
Что нового? | Что нового v.6x?  
 
Русский язык для Inno Setup v6.x
Скачать
 
Русский язык для Inno Setup v5.x
Скачать
 
Русская справка к версии - 6.0.0 beta | 5.6.1 - Зеркало
 
Последняя версия с поддержкой Windows 95 - 5.1.7
 
Последняя версия с поддержкой Windows 98/ME/NT4 - 5.4.3 ANSI
 
Последняя версия с поддержкой Windows 2000/XP/2003 - 5.6.1 (ANSI, Unicode)
 

Расширенная версия от китайских собратьев. Офсайт
Inno Setup Compiler 5.5.0-5.2 build 121216
Скачать (2.98 Mb) |Скачать (2.98 Mb) - зеркало GoogleDrive | Что нового
 
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Что нового
 
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 


Документация, FAQ, и различные примеры для Inno Setup - Здесь можно найти различную документацию, примеры, архивы веток InnoSetup для оффлайн просмотра, и т.д.
 
Дополнительные библиотеки для Inno Setup - InnoTools Downloader, коллекция DLL файлов, распаковка архивов 7-zip и FreeArc и т.д.
 
Дополнительные утилиты для Inno Setup - сюда входят различные распаковщики, надстройки над Inno Setup, различные генераторы скриптов, утилита объединения скриптов и т.д.
 
Скрипты инсталляторов для игр - В этом разделе можно найти различные обложки и скрипты инсталляторов для игр.  
 
Скрипт для добавления ярлыков в Game Explorer (работает только в Windоws 7)

Родственные темы:

Inno Setup плюс внешние упаковщики - обсуждение FreeArc+Inno, Precomp+Inno, 7zip+Inno и Inno+остальные внешние упаковщики.
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.

Примечание для всех участников

Правила топика посвященному Inno Setup  
 
Перед тем, как задать вопрос: Первый вариант: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Второй вариант: для экономии трафика и для более удобного поиска, скачайте оффлайн версию форума для просмотра в разделе Документация.
Большинство типовых задач уже решались, причем неоднократно!  
Пожалуйста, не захламляйте тему и используйте поиск, этим вы избавите тему от флуда!

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:29 13-10-2013 | Исправлено: Komandor, 10:55 21-01-2024
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZVSRus1957,
Цитата:
он всего лишь на запрет установки приложения,

да что же вы прицепились то к этому.Я понял суть вопроса. И это просто для примера.
 
Я к тому , а что нельзя это всё  выше скриптом взять и заменить и так же проверять уже , на присутствуют русских букв или нет , что то другое.  Просто в том примере проверяется имя папки куда устанавливается , а почему бы не проверять так же только имя юзверя или же папки АППДАТА или что там ему нужно. Скрипт по сути можно сказать универсален.Проверять то можно что угодно путь , имя компьютера итд..Что захотим то и будем проверять.
А если человек этого не понял и начал гадостями швырятся , то что могу сказать. + к тому же перешел на личности.  
Просто я бы на его месте бы, этим скриптом бы воспользовался чтобы добится успеха в решение проблемы, если была бы у меня такая задача.  
 
Как то так ..

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 19:56 27-12-2016 | Исправлено: MihailM, 20:53 27-12-2016
killer000



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ZVSRus1957
Проверь личный ящик

Всего записей: 14 | Зарегистр. 09-07-2013 | Отправлено: 20:03 27-12-2016
ZVSRus1957



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
killer000
Мерцание текста у вас происходит из того, что вы сделали все как на стандартной странице выбора компонентов, только с костомными CheckListBox'сами на кастомной странице. Мерцание - это эффект TNewCheckListBox и стандартных компонентов. Исходя из того, то что вы сделали все на костомной странице, предполагаю что вы работаете на расширенной версии, если это так, тогда сделай костомные TNewCheckBox и переключатели TNewRadioButton на TNewGroupBox'сах.
что-то типа такого:        
 
 
Добавлено:
MihailM
Или я чего-то не до понимаю или, извиняюсь вы до сих пор не поняли суть вопроса!
Пример что вы приводите, не важно с какими константами это всего лишь скрипт который можно запихнуть в компилятор, скомпилировать и на выходе получить setup.exe.
Объясните пожалуйста как на стадии установки setup.exe сделать запрет на создание логов по пути с русскими символами исполняемому файлу ну скажем ARTICONS.exe, если эта функция прописана автором программы в чреве исполняемого файла. Вы случаем не путаете установщик setup.exe с исполняемым файлом ARTICONS.exe.    

Всего записей: 43 | Зарегистр. 14-05-2015 | Отправлено: 21:28 27-12-2016
killer000



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ZVSRus1957
Я совсем запутался, чего к чему прикручивать, я свой скрипт пилил неделю!
Дайте пример, пожалуйста!
 

Всего записей: 14 | Зарегистр. 09-07-2013 | Отправлено: 22:30 27-12-2016
ZVSRus1957



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
killer000
Хорошо, завтра если будет время.

Всего записей: 43 | Зарегистр. 14-05-2015 | Отправлено: 22:43 27-12-2016
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZVSRus1957

Цитата:
сделать запрет на создание логов по пути с русскими символами исполняемому файлу ну скажем ARTICONS.exe
Вот я тоже не пойму вас , а тогда причем тут скриптинг то , если это от программы зависит
Цитата:
если эта функция прописана автором программы в чреве исполняемого файла.

Вот вот, тогда это уже относится к самом программе , тогда получается , АП вообще не сюда надо )  
А вообще вот  

Цитата:
dinis124 Вопрос стоит в том, как можно из реестра проверить имя пользователя, и если имя написано на кириллице то прекращать установку так как смысла в ней нет. Или другие варианты проверки  
Вот я дал пример как проверить имя папки , но можно заменить и на  проверку и имени юзверя , чуток изменить сам скрипт. Изменить текст , что типа есть русские буквы и добавить выход и инстала..  
P.s. похоже он хотел готовый пример чтобы ему дали. а я ему дал только наводку
 
Подробнее...

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 22:52 27-12-2016 | Исправлено: MihailM, 23:08 07-03-2017
Bannan



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
c := 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя';

Проверять по всем буквам алфавита не обязательно. Достаточно только по гласным. Это касается не только имени пользователя, но и путей.

Всего записей: 506 | Зарегистр. 30-07-2011 | Отправлено: 11:59 28-12-2016
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bannan, ну это уже так для примера .. ну лучше пусть будет все.. а то вдруг чего .. кто нить имя юзвера придумает из одних согласных )  
 Я так уже , как бы помог чем смог, наводку дал  .. а дальше уже сами пусть его крутят как хотят ..  

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 12:08 28-12-2016 | Исправлено: MihailM, 16:05 29-12-2016
ZVSRus1957



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
killer000
Загляни в личку

Всего записей: 43 | Зарегистр. 14-05-2015 | Отправлено: 20:09 28-12-2016
killer000



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ZVSRus1957
Большое спасибо, эа титанический труд
Подскажите как переместить кнопку Установить на DirPage, а на ComponentPage вернуть кнопку далее>.

 

Всего записей: 14 | Зарегистр. 09-07-2013 | Отправлено: 23:38 28-12-2016 | Исправлено: killer000, 02:27 29-12-2016
ZVSRus1957



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
killer000
Вам как нужно, страницу DirPage показывать при выборе переключателя Установка обычной версии или при Распаковка портативной версии, тоже показывать DirPage?  

Всего записей: 43 | Зарегистр. 14-05-2015 | Отправлено: 11:36 29-12-2016
killer000



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ZVSRus1957
Только установка обычной версии.
И как сделать чтобы выводило сообщение (установка завершена), а партабл (Программа распакована на рабочий стол).
 

Всего записей: 14 | Зарегистр. 09-07-2013 | Отправлено: 11:49 29-12-2016
ZVSRus1957



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
killer000
 
Загляни в личку.

Всего записей: 43 | Зарегистр. 14-05-2015 | Отправлено: 12:17 29-12-2016 | Исправлено: ZVSRus1957, 16:47 31-12-2016
Habib2302



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
killer000
для кнопки

Код:
[code]
Procedure CurPageChanged(CurPageID: Integer);
Begin
  Case CurPageID of
  wpSelectTasks:
     if IsComponentSelected('Install') then
  begin
    WizardForm.NextButton.Caption:= CustomMessage('Install');
  end;
  wpSelectDir:
     if IsComponentSelected('Portable') then
  begin
    WizardForm.NextButton.Caption:= CustomMessage('Portable');
  end;
 end;
end;
 
[CustomMessages]
Portable=Распаковать
Install=Установить

 
Расположение кнопки меняется в зависимости от какой будет последняя страница. В моем случае последняя страница для установочной версии SelectTasks, а для портативной версии SelectDir


для сообщения после установки могу предложить это

Код:
[code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssDone then
begin
  if IsComponentSelected('Install') then
  if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1') and not WizardSilent then
  MsgBox('Установка завершена', mbInformation, MB_OK)
  else
  if not WizardSilent then
  MsgBox('Программа {#Name} не установилась!', mbError, MB_OK);
end;
  if CurStep = ssDone then
begin
  if IsComponentSelected('Portable') then
  if not WizardSilent then
  MsgBox('Программа распакована', mbInformation, MB_OK)
end;
end;

Всего записей: 529 | Зарегистр. 09-05-2012 | Отправлено: 17:18 29-12-2016 | Исправлено: Habib2302, 17:35 29-12-2016
ZVSRus1957



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dinis124
Тема закрыта

Всего записей: 43 | Зарегистр. 14-05-2015 | Отправлено: 23:01 30-12-2016 | Исправлено: ZVSRus1957, 15:57 31-12-2016
nik1967



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С Новым Годом! Ура! Счастья всем!

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 01:18 01-01-2017 | Исправлено: nik1967, 01:18 01-01-2017
cepbl4



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, в чем может быть проблема.
Через IsDone происходит распаковка арков, все отлично.
Через некоторое время один из арков меняется (обновление игры) и распаковка начинает прерываться с ошибкой
Подробнее...
При этом сам скрипт тоже немного поменял, добавив в секцию тасков и ран распаковку отдельного патча обновления (то есть не менял ничего связанное с арками и их распаковкой).
(арки переименованы в бины, в скрипте это указано)

Всего записей: 348 | Зарегистр. 19-11-2007 | Отправлено: 12:42 08-01-2017
sorokinMax

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
 
В инно сетапе есть функция GetCurrentDir(), которая показывает путь к текущей папке, с которой был запущен дистрибутив.
 
Столкнулся с такой проблемой.
 
При установке у меня есть выбор местанахождения файла, который обычно (99% случаев) находится на сетевом диске. По умолчанию подставляется путь где лежит сам дистрибутив (обычно и он на сетевом) с помощью функции GetCurrentDir()
 
Так вот, например, я запустил дистрибутив по пути "Q:\" , где Q - это СЕТЕВОЙ диск  тогда по умолчанию у меня подставляется путь "Q:\" и при нажатии на кнопку "Обзор" у меня открывается сетевой диск "Q:\", переключаюсь на страничку "Мой компьютер" и там видны все диски (локальные и сетевые). Вроде бы так и надо.
 
НО на Windows 10 ситуация меняется!
Если я запускаю с сетевого "Q:\", то почему-то в пути прописывается не "Q:\", а "\\Local_comp\Set_Dir\" т.е. сетевой путь, а не сетевой диск с буквой.
И если я перехожу в "Мой компьютер" в окне "Обзор" выбора папки, то при WIN10 он не видит ни одного сетевого диска с буквами.
 
Может кто сталкивался с таким?  
Как сделать отображение сетевых дисков как у людей, с буквами? а не с сетевыми путями, а то Юзеры запутаются, увидев у себя не привычное им z:\ или y:\ ,а \\blablabla\disk\papka\escho_papka\

Всего записей: 7 | Зарегистр. 10-11-2016 | Отправлено: 15:49 10-01-2017 | Исправлено: sorokinMax, 16:01 10-01-2017
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sorokinMax -- любопытный вопрос. Редко такие сейчас появляются
 

Цитата:
есть функция GetCurrentDir(), которая показывает путь к текущей папке, с которой был запущен дистрибутив
-- не совсем верное утверждение. GetCurrentDir возвращает путь к текущей папке. Но это не обязательно будет папка из которой запущен инсталлятор. Текущий каталог может быть изменен (см. SetCurrentDir) или вообще быть другим (напр. при запуске инсталлятора из батника в другой папке).
Папку из которой запущен инсталлятор в инно можно получить из константы {src}.
 

Цитата:
например, я запустил дистрибутив по пути "Q:\" , где Q - это СЕТЕВОЙ диск
-- строго говоря, запускать инсталлятор с сетевого диска не слишком хорошая мысль, хотя и не криминал.
 

Цитата:
на Windows 10 ситуация меняется!
Если я запускаю с сетевого "Q:\", то почему-то в пути прописывается не "Q:\", а "\\Local_comp\Set_Dir\" т.е. сетевой путь
-- самая интересная часть марлезонского балета Начну с конца:
в данном конкретном случае, скорее всего проблема с правами доступа. Дело в том, что шаринг настроен для конкретного пользователя. А инсталлятор запускается с правами админа. Попробуй в секции [Setup] прописать параметр: PrivilegesRequired=lowest
 
Но вообще-то, в инно к сожалению нет встроенной функции конвертации UNC в шаренный диск. Обратно есть (см.ExpandUNCFileName). Так что если очень надо, прописывать через код. Пример..
 
Дополнение: на всякий случай поясню: рекомендация прописать PrivilegesRequired=lowest - это только для проверки. Крайне редко когда это можно использовать в реальном инсталляторе. Обычно для инсталляции требуются повышенные права.
 
 


----------
Для жалоб | Для благодарностей

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 17:15 11-01-2017 | Исправлено: Genri, 17:57 11-01-2017
sorokinMax

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri -- Огромное спасибо за помощь!
 
Меня вот в ступор поставил такой случай, я грешил на какой-либо "новый" параметр, который решили добавить для открытия форм просмотра в новой версии windows. Правда о нём нигде не сказано было.
 
 
Параметр PrivilegesRequired=lowest и точно помог! На WIN 10 стало отображаться как надо (появились сетевые диски в папке "Мой компьютер").
 
Путь к папке при этом стал проставляться как шареный диск, вместо сетевого пути. Всё так как мне и нужно было.
 
Вот только интересно, как это на работоспособности отразится.... ибо устанавливаться - устанавливает, даже потом прогу открывает.
 
А в целом, огромное спасибо =)

Всего записей: 7 | Зарегистр. 10-11-2016 | Отправлено: 16:39 13-01-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru