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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
интересует секция серийного номера, желательно еще бы с проверкой на http сервере, через файл txt который там будет расположен, спасибо!

Всего записей: 4597 | Зарегистр. 08-09-2012 | Отправлено: 19:41 25-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При установке программы в файл hosts дописывается строка:
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10' 127.0.0.1 www.example.com', True);
end;
end;
Как при деинсталяции удалить именно эту строку из файла hosts?

Всего записей: 265 | Зарегистр. 25-03-2013 | Отправлено: 13:45 26-01-2014
tryroom

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekseyPopovv
 
[/code]
 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
 var
   HostFile: TStringList;
 begin
   HostFile := TStringList.Create;
   try
     with HostFile do
     begin
       LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
       if IndexOf('127.0.0.1    www.example.com') <> -1 then Delete(IndexOf('127.0.0.1    www.example.com'));
       SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
     end;
   finally
     HostFile.free;
   end;
 end;

Всего записей: 34 | Зарегистр. 29-04-2010 | Отправлено: 14:02 26-01-2014 | Исправлено: tryroom, 15:52 26-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tryroom
При удалении вот такая ошибка:
Подробнее...

Всего записей: 265 | Зарегистр. 25-03-2013 | Отправлено: 14:52 26-01-2014
tryroom

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekseyPopovv
 
Ищите у себя проблему. Код рабочий, компилировал и на unicode и на ansi версии.
Возможно антивирус блокирует изменение файла.  

Всего записей: 34 | Зарегистр. 29-04-2010 | Отправлено: 15:12 26-01-2014
Hell_Dog2011

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вообщем прикомпеляции просисходит ошибка вот скрипт http://rghost.ru/51937375

Всего записей: 99 | Зарегистр. 27-11-2011 | Отправлено: 16:00 26-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hell_Dog2011Hell_Dog2011 16:00 26-01-2014
Цитата:
вообщем прикомпеляции просисходит ошибка вот скрипт http://rghost.ru/51937375

Скрипт написан для ansi версий на uinocode ошибка вот это добпаь и будет для unicode либо переустанови компилятор
 
function NumToStr(Float: Extended): string;
begin
  Result:=Format('%.2n', [Float]);
  StringChange(Result, ',', '.');
  while ((Result[Length(Result)]='0') or (Result[Length(Result)]='.')) and (Pos('.',Result)>0) do SetLength(Result,Length(Result)-1);
end;
 
function MbOrTB(Float: Extended): string;
begin
  if Float<1024 then Result:=NumToStr(Float)+' Мб'
  else if (Float/1024)<1024 then Result:=NumToStr(Float/1024)+' Гб'
  else if (Float/(1024*1024))<1024 then Result:=NumToStr(Float/(1024*1024))+' Тб'
end;
 
Лутшее установи Ansi версию на unicode артефакты на кнопках

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 16:51 26-01-2014 | Исправлено: vint56, 17:01 26-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
Помоги удалить строку из файла hosts. Как советует tryroom не получается.

Всего записей: 265 | Зарегистр. 25-03-2013 | Отправлено: 16:57 26-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekseyPopovv
procedure DeinitializeUninstall();
var
HostFile: TStringList;
Index: Integer;
begin
HostFile := TStringList.Create;
try
with HostFile do
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
Find('127.0.0.1 localhost', Index);
Delete(Index);
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 17:03 26-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
Вылазит ошибка в конце удаления проги. Изменил вот эту строчку:
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));  
на  
SaveToFile(ExpandConstant('D:\hosts'));  
ошибка исчезла, файл сохраняет в указанном месте, но строку из файла не удаляет.
Почему возникает ошибка при сохранении файла hosts по пути {sys}\drivers\etc\hosts и как всё таки удалить строку из файла hosts? Быть может только у меня такое?

Всего записей: 265 | Зарегистр. 25-03-2013 | Отправлено: 17:46 26-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekseyPopovv удаления они оба работают '127.0.0.1 www.example.com' и при удалений должнобыть так если будет пробел он конечно его не найдет
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10' 127.0.0.1 www.example.com', True); твой пример  
if IndexOf('127.0.0.1    www.example.com') <> -1 then Delete(IndexOf('127.0.0.1    www.example.com')); что дали там есть пробелы 1  www он в хосте не находит ну если не может сохранять значит что с доступом у тебя
 
проверил у себя оба примера работают

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 18:08 26-01-2014 | Исправлено: vint56, 18:09 26-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
Спасибо. Да косяк был мой, присутствовал один пробел. С сохранением файла hosts какая то проблема. Ладно, буду разбираться.
 
 
Добавлено:
vint56
Сделал вот так, быть может кому пригодится:
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 www.example.com', True);
end;
end;
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
HostFile: TStringList;
begin
HostFile := TStringList.Create;
try
with HostFile do
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
if IndexOf('127.0.0.1 www.example.com') <> -1 then Delete(IndexOf('127.0.0.1 www.example.com'));
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts1'));
DeleteFile(ExpandConstant('{sys}\drivers\etc\hosts'));
RenameFile(ExpandConstant('{sys}\drivers\etc\hosts1'), ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;

Всего записей: 265 | Зарегистр. 25-03-2013 | Отправлено: 18:31 26-01-2014
tryroom

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
 
Не работает смена директории портативной версии. Не могу понять, что не так. Создаётся только пустая папка. Поможете.  http://rghost.ru/51942983

Всего записей: 34 | Зарегистр. 29-04-2010 | Отправлено: 19:30 26-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tryroom
http://rghost.ru/51947747

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 22:01 26-01-2014
tryroom

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
 
Большое спасибо за помощь.
Ваш вариант по смене директории у меня заработал. Правда с одной оговоркой,  пришлось использовать unicode версию и что самое смешное пропала стандартная установка. При использовании ansi версии при распаковке ошибка Invalid pointer operation или Runtime error (at16:88) в зависимости от выбора версии. Обычная установка на ansi или unicode
без разницы, инсталлирует 2 файла unins000.dat,unins000.exe. Есть какие  идеи.
Буду рад любой помощи.
 
http://rghost.ru/51957253

Всего записей: 34 | Зарегистр. 29-04-2010 | Отправлено: 09:21 27-01-2014
Sergey3631

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Буду очень признателен, если посоветуете к кому можно обратиться по поводу создания собственного загрузочного диска из самостоятельно подобранных программ. Заранее благодарю.

Всего записей: 5 | Зарегистр. 04-04-2011 | Отправлено: 09:42 27-01-2014
999Kay666

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
 
Скажите почему так.....

 
чего-то не хватает? что-то еще нужно скрыть?
или что-то нужно растянуть при растяжке ComponentsList?
 

Код:
procedure InitializeWizard();  
begin  
  WizardForm.Caption :='ыыыыыыыыыыыыыы'
  WizardForm.PageNameLabel.Hide;
  WizardForm.PageDescriptionLabel.Hide;  
  WizardForm.SelectDirBitmapImage.Hide;  
  WizardForm.SelectDirLabel.Hide;  
  WizardForm.SelectDirBrowseLabel.Hide;  
  WizardForm.DiskSpaceLabel.Hide;  
  WizardForm.Width:=500;  
  WizardForm.Height:=550;
  WizardForm.OuterNotebook.Height:= ScaleY(475);
  WizardForm.Position:=poScreenCenter;  
  WizardForm.DirEdit.Top := ScaleY(0);  
  WizardForm.NextButton.Top:=ScaleY(490);
  WizardForm.CancelButton.Top:=ScaleY(490);
//WizardForm.CancelButton.Left:=ScaleX(0); //позиция кнопки слева
  WizardForm.DirBrowseButton.Top := ScaleY(0);  
  WizardForm.ComponentsList.Top := ScaleY(30);  
  WizardForm.ComponentsList.Height := ScaleY(395);  
  WizardForm.ComponentsList.Width:=WizardForm.InnerNotebook.Width;
  WizardForm.ComponentsList.Parent := WizardForm.SelectDirPage;
  WizardForm.WizardSmallBitmapImage.Left:=0; // растянуть WizardSmallImageFile (та, что в папке ISC, как WizModernSmallImage.bmp)
  WizardForm.WizardSmallBitmapImage.Width:=WizardForm.ClientWidth // растянуть WizardSmallImageFile

Всего записей: 85 | Зарегистр. 17-06-2008 | Отправлено: 11:21 27-01-2014 | Исправлено: 999Kay666, 11:24 27-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tryroom у меня компилятор unicode я забыл в простой установки app добавить в переди {code:MyDir} потому как проверял только Portable
Source: "C:\Users\Администратор.Vint56\Desktop\выбор языка bmp 2\app\*"; DestDir: "{app}{code:MyDir}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: RusLang and InstallerCheck and CheckSoft
Source: "C:\Users\Администратор.Vint56\Desktop\выбор языка bmp 2\por\*"; DestDir: "{app}{code:MyDir}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: RusLang and PortableCheck
 

Цитата:
Обычная установка на ansi или unicode без разницы, инсталлирует 2 файла unins000.dat,unins000.exe. Есть какие  идеи
может в папке CCleaner уже есть эти файлы unins000.dat,unins000.exe и установшик делает свой для удаления

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 11:32 27-01-2014 | Исправлено: vint56, 11:37 27-01-2014
Nightmareterrible

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
InnnerNotebook.Height := OuterNoteBook.Height

Всего записей: 9 | Зарегистр. 08-01-2014 | Отправлено: 11:33 27-01-2014
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 12:30 27-01-2014 | Исправлено: vint56, 12:30 27-01-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