Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: sjwrec
Дата сообщения: 20.09.2013 18:38

Цитата:
требуется два раза вызвать главное меню и щелкнуть по пункту Установка - Подробная/Обычная

Возможно я не всё предусмотрел поменяв этот пункт, что-то пошло не так. Так бывает в моей практике.
Сейчас пока нет времени с этим разбираться.
Установил Windows 8 - и сейчас её настраиваю.
Автор: BUU
Дата сообщения: 23.09.2013 07:34
sjwrec
Все равно ошибка снова после установки на вин8, код что сказал убрать не помогает
Автор: kaes
Дата сообщения: 23.09.2013 13:46
Всё, разобрался сам))
Автор: AngelNet
Дата сообщения: 23.09.2013 14:05
kaes
я бы вам сильно не советовал ставить что либо в папки с русскими буквами и пробелами в названиях.
(лирическое отступление: недавно заметил что mkvmerge у меня начал гадить *.ini файлом в корень диска D:\ вместо того, чтобы сохранять рядом с собою в каталоге, вытащил его папку из "Мои документы" и всё заработало как положено! это просто информация к размышлению.)
Автор: kaes
Дата сообщения: 23.09.2013 19:09
AngelNet

Я думаю путь важен при выбору куда устанавливать, а откуда брать, вроде не важно, только при компиляции нужно.

В любом случае изменение пути к библиотеке и ролику на "правильный" результата не дало, что-то другое сбоит, может надо какой-то доп. флэш проигрыватель ставить (у меня, в принципе, стоит какой-то отдельно), но тогда какой смысл в этом скрипте, у 99% пользователей его (доп. проигрывателя) не будет.
Автор: AngelNet
Дата сообщения: 24.09.2013 01:08
ребят, пожалуйста ткните меня в примерчик инсталла с выбором установки версии проги.
нужно на первом шаге установки задать юзеру вопрос:
какую версию он хочет, русскую или английскую и далее соответственно ставить то что ему нужно.

заранее благодарю!
Автор: Gnom3
Дата сообщения: 24.09.2013 13:36
AngelNet
Как-то так?
[more=Код]
Код: [Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Files]
Source: File.Eng; DestDir: {app}\; Check: IsEng; Flags: ignoreversion
Source: File.Rus; DestDir: {app}\; Check: IsRus; Flags: ignoreversion

[*Code]

var
LngCB : TNewComboBox;

function IsRus : Boolean;
begin
Result := LngCB.ItemIndex = 0;
end;

function IsEng : Boolean;
begin
Result := LngCB.ItemIndex = 1;
end;

procedure InitializeWizard();
begin
LngCB := TNewComboBox.Create(WizardForm);
with LngCB do
begin
Parent := WizardForm.WelcomePage;
SetBounds(ScaleX(420), ScaleY(285), ScaleX(65), ScaleY(21));
Style := csDropDownList;
ParentColor := True;
Items.Add('Russian');
Items.Add('English');
case GetUILanguage of
1049 : ItemIndex := 0;
else ItemIndex := 1;
end;
end;
end;
Автор: AngelNet
Дата сообщения: 24.09.2013 14:12
Gnom3
спасибо вам!
кстати почему то ваш сайт в подписи не открывается. FF 24.
Автор: Ashat56
Дата сообщения: 24.09.2013 14:23
Очень хочется замутить RePack KIS/KAV 2014 с помощью IS. Но это так, мысли в слух. Только вот думаю, подойдёт ли она (IS в смысле) для такого дела? И не "найдут" ли меня потом кашперовцы?
Автор: sjwrec
Дата сообщения: 24.09.2013 16:32
Ashat56
На Inno такое сделать можно, но сложно. Дело в том что там не только запись в ключей реестр. Но и установка специальных служб антивируса.

Насчёт того - найдут или нет, зависит от того на какой продукт вы делаете Репак. Если вы не запаковываете антивирус со всеми файлами котрые входят в лицензионный инсталл от KAV, то наверное ничего страшного нет, а если крякнутый антивирус - то возможно найдут
Автор: kaes
Дата сообщения: 25.09.2013 12:59
Ребят подскажите, я опять с флешем. Есть флэш ролик, есть автономный проигрыватель для него.

Думаю ролик и проигрыватель запихать в инсталяху, и с помощью проигрывателя прямо в окне инсталятора проигрывать флешевский ролик, как это сделать? Я так понимаю запустить ролик во вшитом прямо в инсталятор проигрывателе не сложно, но он будет тогда в отдельном окне отображаться, а как сделать отображение прямо в окне инсталятора.

И подскажите какую-нибудь книжку (большую и толстую) по Inno Setup, ну или что-нибудь по Pascal применительно к написанию скриптов на Инно.
Автор: sergey3695
Дата сообщения: 25.09.2013 18:32
kaes ISFlash v 0.0.2 от Vo1T в шапке для проигрывания flash.
Автор: kaes
Дата сообщения: 25.09.2013 18:45
sergey3695

Этот модуль не подходит, для его работы на компьютере пользователя должен быть отдельно установлен флэш плеер (не дополнение для браузера а именно плеер), таких единицы, да и отображает он ролик в футере в виде маленького окошка, а мне нужно проигрывание во всё окно установщика.
Автор: Gnom3
Дата сообщения: 25.09.2013 19:38
AngelNet

Цитата:
кстати почему то ваш сайт в подписи не открывается. FF 24.

Были проблемы, сейчас все должно работать.
sjwrec
Цитата:
На Inno такое сделать можно, но сложно


Цитата:
установка специальных служб антивируса.

если дело только в этом, то никаких проблем, в примерах это есть.
Автор: sjwrec
Дата сообщения: 26.09.2013 07:15
Gnom3
Ну вот репак Avast антивируса у меня не получилось сделать Там службу защиты можно запустить/остановить только через оригинальный инсталл (Avast Engine Setup) . Наверняка и в KAV нечто подобное есть.

А вообще я лучше перестану это обсуждать...


Цитата:
сейчас все должно работать.

Проверял, работает. Отличное оформление и спасибо что не идёте на поводу у рекламы
Автор: Yalsrof
Дата сообщения: 28.09.2013 17:24
Добрый день.

На странице инстала нужно сделать чекбокс, положительным результатом которого (если он активен), должна произойти закачка файлов, используя Inno Tools Downloads, в последствии скачанный исполняемый файл должен исполнится по нажатию на кнопку "Завершить", ну а если чекбокс снят, то этап загрузки файла пропускается.
Автор: Yalsrof
Дата сообщения: 29.09.2013 19:28
Решение задачи от vint56 для расширенной версии ANSI компилятора:
http://krinkels.org/showpost.php?p=18593&postcount=78
Автор: Apelsinn
Дата сообщения: 30.09.2013 13:44
Прошу помощи. У меня вопрос по поводу объекта TPanel. В инсталле есть слайд шоу на WizardForm-е и панель находиться на WizardForm-е и при смене картинок панель запоминает предыдущую картинку. Можно что-нибудь с ней сделать? Скрипт, думаю, не надо выкладывать. Спасибо.
Автор: AngelNet
Дата сообщения: 01.10.2013 06:14
прошу не бейте если вопрос банальный и уже неоднократно всплывал...
как полностью очистить содержимое и грохнуть рабочую папку установленной программы при её деинсталляции?
---
софт, в процессе работы создаёт файлы логов, пустые папки и прочий мусор, который необходимо подчищать при удалении.

а еще как прибить запущенный процесс деинсталируемой программы втихаря.

заранее благодарю!

Автор: sjwrec
Дата сообщения: 01.10.2013 19:56
AngelNet
1. Справка - Секция UninstallDelete
2. Taskkill или IsTask.dll - ищите примеры.
Автор: oosppa
Дата сообщения: 01.10.2013 23:33
AngelNet

Цитата:
как полностью очистить содержимое и грохнуть рабочую папку установленной программы при её деинсталляции?

[UninstallDelete]
Type: "filesandordirs"; Name: "{app}"
Автор: AngelNet
Дата сообщения: 02.10.2013 06:05
oosppa
спасибо вам! то что нужно.
---
вот бы еще кастомную иконку деинсталлятору (экзешнику unins000.exe) и его ярлыку (создаваемому в меню пуск) как то сделать, при этом в апплете установка/удаление программ отображаемый значок программы должен остатся прежним: от главного файла программы.
а то у меня уже была подобная делема со смарт инстал мейкером. там если меняешь иконку деинсталятора, то в установке/удалении программ тоже начинала отображатся корзина, вместо main.exe софтины.
Автор: Kopejkin
Дата сообщения: 02.10.2013 06:36
AngelNet, это все из справки, кажется


Код: [Setup]
AppName= Test
AppVersion=1.0
DefaultDirName={pf}\Test
Compression=lzma
SolidCompression=yes
DefaultGroupName=Test
OutputBaseFilename=name_your_program или setup // имя файла программы установки без расширения
; Иконка деинсталлятора в Установке/Удалении программ. ОБЯЗАТЕЛЬНО? указать полный путь к иконке,
; если иконка расположена не в папке скрипта!
UninstallDisplayIcon=D:\Example\resources\uninstall.ico
UninstallDisplayName=Test. Удалить ВАШИ файлы //Текст возле иконки удаления ваших файлов в Установке\Удалении программ или
; Папка, где будет расположен деинсталлятор вашей программы или того, что вы хотите установить. В отдельной папке, чтобы
; не перезаписать оригинальный деинсталлятор.
UninstallFilesDir={app}\Backup
; Иконка вашего деинсталлятора и иконка на странице деинсталлятора.
UninstallIconFile=resources\uninstall.ico
EnableDirDoesntExistWarning=True
DirExistsWarning=no
CreateUninstallRegKey=yes
LicenseFile=resources\License.rtf
WizardImageFile=resources\WizModernImage-Is.bmp
; Рисунок в верхнем правом углу окон инсталлятора
WizardSmallImageFile=resources\top_r.bmp
; Иконка файла инсталлятора
SetupIconFile=resources\install.ico
AppId={{XXXXX-XXXXX-XXXXX} //сами сгенерируйте

[Icons]
; Ярлык удаления (чего там вы хотели удалить) в меню Пуск-Программы. В качестве иконки используется иконка вашего деинсталлятора
Name: "{group}\Удалить (чего там вы хотели удалить) "; Filename: "{uninstallexe}"
Автор: AngelNet
Дата сообщения: 02.10.2013 07:03
Kopejkin
всё это конечно хорошо, а без срача в реестр никак не получится?
просто сама устанавливаемая программа нативно портабельная, хотелось чтобы и установщик никуда не гадил. (файлы под себя не в счёт).
upd: все разобрался сам, спс!

и еще хотел спросить как сделать чтоб файлы во вложенных папках тоже корректно перезаписывались.
если применить флаги, то установщик собирается но при инсталяции сыпет ошибками о невозможности записать файл.
код:

Код: [Files]
// файлы в корне (то, что отрабатывает корректно)
Source: "C:\Documents and Settings\Администратор\Рабочий стол\asura\app.exe"; DestDir: {app}; Flags: ignoreversion overwritereadonly
Source: "C:\Documents and Settings\Администратор\Рабочий стол\asura\app.ini"; DestDir: {app}; Flags: ignoreversion overwritereadonly
// файлы в подкаталогах (то, что работает пока только так, без перезаписи)
Source: C:\Documents and Settings\Администратор\Рабочий стол\asura\sys\Asura.ini; DestDir: {app}\sys
Source: C:\Documents and Settings\Администратор\Рабочий стол\asura\sys\vars.ini; DestDir: {app}\sys
Автор: Kopejkin
Дата сообщения: 02.10.2013 09:11

Цитата:
нативно портабельная
программа, насколько я понимаю, не создает иконок в меню Пуск и Установке/Удалении.
Автор: AngelNet
Дата сообщения: 02.10.2013 09:30
Kopejkin
да там у меня будет 2 варианта установки: как обычная с деинсталлятором и тупая распаковка этого самого портабла.

а с иконкой я решил вот как:

Код: [Setup]
// значок программы в апплете установка/удаление программ
UninstallDisplayIcon={app}\MyProgram.exe
// дирректория где будет хранится деинсталлятор
UninstallFilesDir={app}\uninst
// используемая для деинсталлятора иконка
UninstallIconFile=uninstall.ico

[Icons]
Name: "{group}\MyProgram"; Filename: "{app}\MyProgram.exe"
Name: "{group}\удалить MyProgram"; Filename: "{uninstallexe}";
Автор: oosppa
Дата сообщения: 04.10.2013 15:34
AngelNet

Цитата:
вот бы еще кастомную иконку деинсталлятору (экзешнику unins000.exe) и его ярлыку (создаваемому в меню пуск) как то сделать, при этом в апплете установка/удаление программ отображаемый значок программы должен остатся прежним: от главного файла программы.


[Setup]
UninstallDisplayIcon={uninstallexe}

[Icons]
Name: "{group}\Удалить MyProgram"; Filename: "{uninstallexe}"; IconFilename: "{app}\unins000.ico"

unins000.ico - свой файл иконки для ярлыка
Автор: AngelNet
Дата сообщения: 04.10.2013 16:11
всё еще интересует вопрос: можно ли мастеру придать такой вот вид окна?

в данный момент я скрываю кнопку минимизации формы мастера этим:

Код: procedure InitializeWizard();
begin
//прячем кнопку "свернуть" на мастере установки
WizardForm.BorderIcons:=[biSystemMenu]
end;
Автор: sergey3695
Дата сообщения: 04.10.2013 19:29
AngelNet

Код: procedure InitializeWizard();
begin
WizardForm.BorderStyle := bsDialog; //(думаю лучше так) на картинке bsToolWindow по-моему
// bsNone (без рамки),bsSingle (стандарт),bsSizeable (побольше стандарта),
// bsDialog (только закрыть), bsToolWindow (только закрыть с некрасивой кнопкой),
// bsSizeToolWin (побольше стандарта и только закрыть с некрасивой кнопкой)
//WizardForm.BorderIcons:=[]; - если поставить только это,то только рамка вверху
//(ну и в скобках там управление кнопками (свернуть,развернуть,закрыть)
end;
Автор: AngelNet
Дата сообщения: 04.10.2013 19:57
sergey3695
спасибо!
Код: WizardForm.BorderStyle := bsToolWindow;

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.