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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
VisualFire



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RussaKKinG
Цитата:
у меня пропало окно с путём установки...

Цитата:
DisableDirPage=yes  

Так вот строка деактивации этого окна.

Всего записей: 152 | Зарегистр. 30-01-2008 | Отправлено: 13:29 16-11-2014
MihailM



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

Цитата:
DisableDirPage
Это переводится так "Выключить DirPage " , как то так ...
Попробуй "no" поставить , или же удали полностью всё строчку .

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 00:45 19-11-2014 | Исправлено: MihailM, 15:16 19-11-2014
kuriozin



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как бы сделать, чтобы при Деинстлляции, удалялись при запросе на удаление сохранений, Сохранения которые находятся в моих документах --> Buka -- > Rush, Но если в папке Buka, при удалении  Rush, больше никаких файлов и папок не находится  - удалить и ее "Buka" ?

Всего записей: 490 | Зарегистр. 27-08-2010 | Отправлено: 19:16 20-11-2014 | Исправлено: kuriozin, 19:17 20-11-2014
AngelNet



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

Код:
[UninstallDelete]
// удаляем папку установленной программы со всем её содержимым
Type: "filesandordirs"; Name: "{app}"


----------
animelist

Всего записей: 7414 | Зарегистр. 11-03-2004 | Отправлено: 19:21 20-11-2014
kuriozin



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

Всего записей: 490 | Зарегистр. 27-08-2010 | Отправлено: 19:44 20-11-2014
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kuriozin
тьфу, прочёл спросонья не поняв что у вас игрушка, и соответственно она сохраняет в "документы пользователя" свои данные еще.

Цитата:
[UninstallDelete]
Type: filesandortdirs; Name: "{userdocs}\Buka\Rush"

пробуйте. (конструкцию на проверку "пустоты" папки бука я уже не осилю, может кто то еще подскажет)

----------
animelist

Всего записей: 7414 | Зарегистр. 11-03-2004 | Отправлено: 20:49 20-11-2014 | Исправлено: AngelNet, 20:53 20-11-2014
kuriozin



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

Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);  
var ResultStr:String;  
begin  
if CurUninstallStep=usPostUninstall then  
begin  
if DirExists(ExpandConstant('{userdocs}')+'\Buka' +'\Runs') then  
if MsgBox('Удалить сохранения игры',mbconfirmation, mb_YesNo) = IDYES then  
begin  
if not DelTree(ExpandConstant('{userdocs}')+'\Buka'+'\Runs', True, True, True)  
then  
MsgBox('Папка не удалена!' #13#13 'Папка не существует или задействована.', mbError, MB_OK);  
end;  
end;  
end;  

 
Мне нужен запрос на удаление сохранений, а не просто удалить их.

Всего записей: 490 | Зарегистр. 27-08-2010 | Отправлено: 20:57 20-11-2014 | Исправлено: kuriozin, 21:00 20-11-2014
innonewbie

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kuriozin, так пробуй
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin  
  if CurUninstallStep=uspostUninstall then // или usUninstall  
  if DirExists(ExpandConstant('{userdocs}')+'\Buka\Runs') then  
  if MsgBox('Удалить сохранения игры?', mbInformation, MB_YESNO) = idYes then  
  DelTree(ExpandConstant('{userdocs}')+'\Buka\Runs', True, True, True);  
  RemoveDir(ExpandConstant('{userdocs}')+'\Buka'); //удалит папку, если пустая
  end;

Всего записей: 168 | Зарегистр. 30-12-2010 | Отправлено: 11:29 21-11-2014
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос к завсегдатаям ветки: кто нибудь может подсказать источник или автора ISTask.dll
которая корректно прибивала запущенный процесс удаляемой программы?
штука была очень хорошая за исключением одного минуса:  
она существовала только для ANSI-версии инсталлятора.
 
столкнулся недавно с суровой необходимостью перехода на юникод версию и не нахожу замены для столь ценного инструмента(
ищу автора длл либо исходники для пересборки под unicode.
заранее благодарю!

----------
animelist

Всего записей: 7414 | Зарегистр. 11-03-2004 | Отправлено: 15:01 21-11-2014
kuriozin



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

Всего записей: 490 | Зарегистр. 27-08-2010 | Отправлено: 19:08 21-11-2014
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AngelNet, так попробуй задекларировать не string, а ansistring.

Код:
function KillTaskA(ExeFileName: ansistring): Integer;
function RunTaskA(FileName: ansistring; bFullpath: Boolean): Boolean;


----------
Ru-Board Crew

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 22:15 21-11-2014 | Исправлено: Kindly, 22:57 21-11-2014
dragon1000



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток уважаемые пользователи, хотел у вас узнать следующий момент:
 
Есть окно инсталлятора, оно без рамки и его фон выполнен с помощью картинки.

Код:
 
WizardForm.BorderStyle:=bsNone;
 

Т.к. стандартная рамка убрана окно нельзя переместить по площади экрана.
В поиске нашел пример использования одной процедуры:

Код:
 
function ReleaseCapture: Longint; external 'ReleaseCapture@user32.dll stdcall';
procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(WizardForm.Handle,$0112,$F012,0);
end;
 

 
Но проблема в том , что данная процедура работает для изображений (для лейблов и на обычной версии работает процедура) только в расширенной версии компилятора Inno Setup, по некоторым причинам я не хочу его использовать (банально во многих случаях различные антивирусы ругаются на скомпилированный файл и на саму расширенную версию от restools).
 
Так вот есть ли альтернативный способ или процедура которая могла бы заставить двигать элементы окна (в моем случае изображение) который бы работал для стандартной версии компилятора?
 
Начатый пример: http://rghost.ru/59218733

Всего записей: 42 | Зарегистр. 07-06-2012 | Отправлено: 07:42 24-11-2014
Renua



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добрый день. прошу вашей помощи.
необходимо сделать так, чтоб ПО ставилось и в winxp и в win7. в winxp, все ставиться нормально, а вот под  win7 не устанавливаются аддоны.и в каком месте надо применить /silent /verysilent, чтоб firefox ставился в тихом режиме?
[Setup]
AppName=Mozilla Firefox
AppVerName=Mozilla Firefox 31.2.0
DefaultDirName={sd}\ff_set6
OutputBaseFilename=ff_set6
OutputDir=D:\
SetupIconFile=Icon\ff_set.ico
VersionInfoVersion=31.2.0
DisableDirPage=yes
DirExistsWarning=no
Uninstallable=no
WizardImageFile=Icon\ff_big_image.bmp
WizardSmallImageFile=Icon\ff_small_image.bmp
Compression=lzma2/ultra
SolidCompression=yes
PrivilegesRequired=admin
 
[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID=wpWelcome then
begin
SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)
SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)
end;
end;
 
 
[Files]
; Основные файлы
Source: "Distrib\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs;  
Source: "upd_ext\ff_postinst.cmd"; DestDir: "{sd}"; Flags: ignoreversion;  
Source: "upd_ext\upd_ext.exe"; DestDir: "{app}\core"; Flags: ignoreversion;  
; Ярлыки
Source: "ini\setup2.ini"; DestDir: "{app}"; DestName: "setup.ini"; Flags: ignoreversion;  
 
; Основные расширения и темы
Source: "profile\prefs1.js"; DestDir: "{app}\core\defaults\profile"; DestName: "prefs.js"; Flags: ignoreversion
Source: "extensions\{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}"; Flags: ignoreversion recursesubdirs  
Source: "adblockplus\patterns.ini"; DestDir: "{app}\core\defaults\profile\adblockplus"; Flags: ignoreversion
Source: "extensions\adblockpopups@jessehakanen.net\*"; DestDir: "{app}\core\defaults\profile\extensions\adblockpopups@jessehakanen.net"; Flags: ignoreversion recursesubdirs
Source: "extensions\elemhidehelper@adblockplus.org\*"; DestDir: "{app}\core\defaults\profile\extensions\elemhidehelper@adblockplus.org"; Flags: ignoreversion recursesubdirs
Source: "extensions\{d40f5e7b-d2cf-4856-b441-cc613eeffbe3}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{d40f5e7b-d2cf-4856-b441-cc613eeffbe3}"; Flags: ignoreversion recursesubdirs
Source: "extensions\{dc572301-7619-498c-a57d-39143191b318}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{dc572301-7619-498c-a57d-39143191b318}"; Flags: ignoreversion recursesubdirs
;Source: "extensions\{D46E8522-6E86-44b1-A622-58C0668AD78E}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{D46E8522-6E86-44b1-A622-58C0668AD78E}"; Flags: ignoreversion recursesubdirs; Components: Main_Addons\Classic_Compact
;Source: "extensions\notreal.ccoptions@environmentalchemistry.com\*"; DestDir: "{app}\core\defaults\profile\extensions\notreal.ccoptions@environmentalchemistry.com"; Flags: ignoreversion recursesubdirs; Components: Main_Addons\Classic_Compact\Classic_Compact_Settings
;Source: "profile\prefs2.js"; DestDir: "{app}\core\defaults\profile"; DestName: "prefs.js"; Flags: ignoreversion; Components: Main_Addons\Classic_Compact
; Дополнительные расширения и темы
Source: "extensions\{73a6fe31-595d-460b-a920-fcc0f8843232}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{73a6fe31-595d-460b-a920-fcc0f8843232}"; Flags: ignoreversion recursesubdirs
Source: "extensions\{64161300-e22b-11db-8314-0800200c9a66}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{64161300-e22b-11db-8314-0800200c9a66}"; Flags: ignoreversion recursesubdirs
Source: "extensions\{a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7}\*"; DestDir: "{app}\core\defaults\profile\extensions\{{a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7}"; Flags: ignoreversion recursesubdirs
; Настройка расширений
Source: "upd_ext\extensions1.json"; DestDir: "{app}\core\defaults\profile"; DestName: "extensions.json"; Flags: ignoreversion
Source: "upd_ext\extensions2.json"; DestDir: "{app}\core\defaults\profile"; DestName: "extensions.json"; Flags: ignoreversion
Source: "upd_ext\upd_ext_all.txt"; DestDir: "{sd}"; Flags: ignoreversion
 
[Run]
Filename: "{sys}\cmd.exe"; Parameters: "/c move /y {src}\prefs.js {app}\core\defaults\profile\prefs.js /silent"; WorkingDir: "{src}"; Flags: runhidden
Filename: "{sys}\cmd.exe"; Parameters: "/c move /y {src}\bookmarks.html {app}\core\defaults\profile\bookmarks.html /silent"; WorkingDir: "{src}"; Flags: runhidden
Filename: "{app}\setup.exe"; Parameters: "/INI={app}\setup.ini /silent"; WorkingDir: "{app}"; StatusMsg: "Установка программы";  
Filename: "{sd}\ff_postinst.cmd"; Parameters: "/silent";WorkingDir: "{sd}"; Description: "Настройка расширений"; Flags: runhidden skipifdoesntexist
 
[Languages]
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"

Всего записей: 62 | Зарегистр. 22-10-2014 | Отправлено: 12:36 24-11-2014 | Исправлено: Renua, 12:37 24-11-2014
AngelNet



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Renua
простынку кода уберите под теги MORE, см. правила топика в шапке! п. 4.6 часть 2.

----------
animelist

Всего записей: 7414 | Зарегистр. 11-03-2004 | Отправлено: 23:04 24-11-2014
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dragon1000
В обычной версии в TBitmapImage не зарегистрировано свойство OnMouseDown.
Можно повесить на картинку прозрачный лейбл.
код

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 01:12 27-11-2014
dragon1000



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

Цитата:
Можно повесить на картинку прозрачный лейбл.  
код

 
Sampron, благодарю за ответ.
 
P.S.: Как по мне эти китайцы хитрожопые насовали кучу полезных процедур себе в модифицированную версию компилятора, и попросту забросили. Вместо того чтобы все разместить как остальные в подключаемые библиотеки.

Всего записей: 42 | Зарегистр. 07-06-2012 | Отправлено: 07:47 27-11-2014
BUU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, давно сюда не писал
В общем есть такой код который запретит установку в папками с файлами, мол файлы есть в этой папке, выберите другую пустую папку для установки, спс заранее за ответ

Всего записей: 181 | Зарегистр. 15-08-2008 | Отправлено: 20:36 27-11-2014
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BUU, гораздо проще и быстрее проверять не внутри папки файлы (это может занять длительный процесс при использовании FindFirst/FindNext при большом количестве файлов и подпапок), а саму папку, если она существует:

Код:
function NextButtonClick(CurPage: Integer): Boolean;
var
    s2: string;
begin
     Result:=True;
  if CurPage=wpSelectDir then
  begin
     s2:=ExpandConstant('{app}')+'';
  if DirExists(s2) then
  begin
     MsgBox('Installation in existing folder is not possible!', mbError, mb_Ok);
     Result:=False;
  end;
  end;
end;

в  
[Setup]
DirExistsWarning=no

----------
Ru-Board Crew

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 15:55 28-11-2014 | Исправлено: Kindly, 15:58 28-11-2014
CUTA



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем здравствуйте!
Прошу помощи знающих людей!
В секции код есть такой скрипт:
Подробнее...
 
При выполнении этого кода на месте процесс бара анимация полосы прогресса. По завершении выполнения задач из секции RUN на странице завершение работы мастера анимация остаётся.
Вопрос как отключить анимацию на странице завершение работы мастера?

Всего записей: 1167 | Зарегистр. 03-05-2014 | Отправлено: 16:48 28-11-2014
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CUTA
очевидно, что деинициализировать раньше, чем после окончания установки.

Код:
procedure CurPageChanged(CurPageID: Integer);
begin
 If CurPageId = wpInstalling then
  begin
  InitProgressBar(WizardForm.Handle, 40, 114, 418, 21, 100, clgreen, clwhite)
  end;
  If CurPageId = wpFinished then
  begin
    DeinitProgressBar;
  end;
end;


----------
Ru-Board Crew

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 16:59 28-11-2014 | Исправлено: Kindly, 17:04 28-11-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 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