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

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

Автор: nik1967
Дата сообщения: 25.02.2015 21:02
CUTA, а что не понятно то? Если надо not RegistryCheck0 и IsWin64, то

Код: Check: not RegistryCheck0 and IsWin64;
Автор: CUTA
Дата сообщения: 25.02.2015 21:10
nik1967 ОГРОМНОЕ СПАСИБО!!!

Цитата:
а что не понятно то

Смутили циферки , думал так надо Check: Check1 not RegistryCheck0 and Check2 IsWin64;

Автор: Vitus_Bering
Дата сообщения: 25.02.2015 22:59
после установки запускается файл .html, как ему назначить ярлык?
Автор: Snoopak96
Дата сообщения: 27.02.2015 15:14

Цитата:
dodakaedr
Спасибо вам большое но, я сделал так, может кому пригодится:

Код:
function InitializeSetup(): Boolean;
var
ResultCode: Integer;
begin
ExtractTemporaryFile('Файл.bat');
Exec(ExpandConstant('{tmp}\Файл.bat'), '', '', sw_Hide, ewWaitUntilTerminated, ResultCode);
Result := True;
end;

Установка происходит до запуска мастера установки, до самой первой странице но все файлы уже распакованы во временную папку tmp. Параметр sw_Hide задаёт скрытый режим. Что вы думаете о данном варианте?

не будет ваш пример работать адекватно, т.к. в командной строке несколько кодировок - русский в путях к батнику - комстрока вам покажет кукишь с маслом , вам уже дал адекватный пример dodakaedr, юзайте его
Автор: CUTA
Дата сообщения: 27.02.2015 19:22
Snoopak96

Цитата:
не будет ваш пример работать адекватно, т.к. в командной строке несколько кодировок - русский в путях к батнику - комстрока вам покажет кукишь с маслом

Не надо ЛЯ-ЛЯ! Мой пример кода отлично работает.
Автор: Snoopak96
Дата сообщения: 27.02.2015 21:02

Цитата:
Мой пример кода отлично работает.

Msg = ID_НУ_ОК
Автор: LuxCore
Дата сообщения: 02.03.2015 09:48
Здравствуйте! Подскажите, пожалуйста, как я могу сделать следующее:

В папке должен находиться запускаемый файл, например, Project.exe. Он запускается некоторой программой.
Нужно сделать инсталлятор с именем программы Project.exe, чтобы он запускался вот той некоторой программой и устанавливал её на своё место, вместо себя.

Спасибо.
Автор: nik1967
Дата сообщения: 06.03.2015 19:41
LuxCore, непонятно. Как то бы яснее.
Автор: ATRoot
Дата сообщения: 08.03.2015 20:43
Добрый день!
Если было, ткните, если нет, помогите.
Исходные данные:
есть .cmd и много файлов, которые этот cmd использует в работе.
Задача:
Сделать исполняемый ехе (в виде VERYSILENT распаковщика в tmp с последующим запуском cmd) - с этим разобрался.
Вопрос - как передать в cmd путь запуска exe файла?
в 7z SFX Builder это делается так
SetEnvironment="Root=%%S\\" в файле конфигурации, а как сделать в Inno?
Заранее благодарен за ответ.
Автор: CUTA
Дата сообщения: 08.03.2015 21:41
Может кто ни-будь дать пример кода для изменения цвета шрифта при наведении курсора на строку в секции [Tasks]?
Автор: Kapranov98
Дата сообщения: 09.03.2015 18:35
Приветствую! Вопросик возник. Есть инсталлер, созданный в Inno Setup 5.5 ResTools. Чем можно его распаковать? InnoExtractor и другие не справляются с этим.
Автор: dodakaedr
Дата сообщения: 09.03.2015 19:00
Kapranov98
никак. екстрактора для китайца нету
Автор: Kapranov98
Дата сообщения: 09.03.2015 19:13
dodakaedr

Цитата:
никак. екстрактора для китайца нету

Жаль. Значит придётся изобретать костыли, чтобы заставить работать инсталлер. Автор сделал так, чтобы запустить его можно было вызовом из другого инсталлера, а так получаем ошибку.
Автор: painter7
Дата сообщения: 09.03.2015 19:33
Kapranov98, все, что можно запустить - можно и разобрать.
У китайца из памяти вытащить можно, аттач инсталлер или в ЛС.
Автор: CUTA
Дата сообщения: 09.03.2015 19:38
Повторю свой вопрос, который задавал выше Может кто ни-будь дать пример кода для изменения цвета шрифта при наведении курсора на строку в секции [Tasks]?
И второй вопрос. В сборнике вопросов есть такой пример кода:

Код:
Как сделать вторую страницу дополнительных задач (следом за первой) и перенести часть кнопок (чекбоксов) на новую?

var
Page: TInputOptionWizardPage;
IsRegisteredUser: Boolean;

procedure InitializeWizard();
begin
Page := CreateInputOptionPage(wpSelectTasks,
'License Information', 'Are you a registered user?',
'If you are a registered user, please check the box below, then click Next.',
False, False);

Page.Add('I am a registered user');
Page.Values[0] := False;
end;
Автор: dodakaedr
Дата сообщения: 09.03.2015 20:27

Цитата:
Как сделать вторую страницу дополнительных задач (следом за первой) и перенести часть кнопок (чекбоксов) на новую?

по аналогии примера [more]
Код: [Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
OutputDir=...


[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Check: IsChecked( 0 );
Source: compiler:Examples\MyProg.chm; DestDir: {app}; Check: IsChecked( 1 );
Source: compiler:Examples\Readme.txt; DestDir: {app}; Flags: isreadme; Check: IsChecked( 2 );

[Tasks]
name: one; Description: hello;
name: two; Description: goodbye;

[Code]
var
TasksPage: TInputOptionWizardPage;


function IsChecked( const nIndex: Integer ): Boolean;
begin
Result := TasksPage.CheckListBox.Checked[nIndex];
end;


function CreateTasksPage( const nPageId: Integer ): TInputOptionWizardPage;
begin
TasksPage := CreateInputOptionPage( nPageId, 'Заголовок', 'Подзаголовок', 'Текст', False, False );

with TasksPage do
begin
Add( 'Задача 1' );
Add( 'Задача 2' );
Add( 'Задача 3' );

AddEx( 'Задача 4', 0, False );
AddEx( 'Радио 1', 1, True );
AddEx( 'Радио 2', 1, True );

Values[2] := True;
end;

Result := TasksPage.ID;
end;


procedure InitializeWizard;
begin
CreateTasksPage( wpSelectTasks );
end;
Автор: CUTA
Дата сообщения: 09.03.2015 21:47
dodakaedr
Большущее спасибо! В скрипте разобрался.
Автор: FitGirl
Дата сообщения: 15.03.2015 03:11
Ой, все, разобралась. Использовала не расширенный компилятор!
Автор: AlekseyPopovv
Дата сообщения: 15.03.2015 21:04
Как задать константу для папки "Изображения"?
Автор: dodakaedr
Дата сообщения: 15.03.2015 21:31
AlekseyPopovv

Цитата:
Как задать константу для папки "Изображения"?


Код: [setup]
AppName=My programm
AppVersion=1.0
DefaultDirName={code:GetApp}\My programm
DisableProgramGroupPage=yes

[Files]
Source: "compiler:Examples\MyProg.exe"; DestDir: "{app}";

[code]
const
CSIDL_MYPICTURES = $27; // curent user
CSIDL_COMMON_PICTURES = $36; // all users

function GetApp(s: string): string;
begin
s := GetShellFolderByCSIDL(CSIDL_MYPICTURES, true);
Result := s;
end;
Автор: AlekseyPopovv
Дата сообщения: 15.03.2015 21:39
dodakaedr
Спасибо.
Автор: Solomon_Kane_2015
Дата сообщения: 16.03.2015 10:52
Всем привет. Есть одна проблема. Есть два инсталлятора. Для GTA IV и для GTA EFLC.
У обоих стоит автоопределение директории установки. Если сначала установить инсталл GTA IV, папка определяется правильно, но если потом запустить инсталл GTA EFLC, в директории установки конечная папка сохраняется с предыдущего инсталятора (т.е., не EFLC, как должна быть, а Grand Theft Auto IV). Если перезагрузить винду, инсталл EFLC, папка определится правильно, но последующие запущенные инсталяторы будут выбирать конечную папку установки именно EFLC (из первого запущенного инсталла после перезагрузки винды).

Это как-нибудь можно исправить?

И еще одно интересует. Как добавить опцию выбора установки. Типа, мы будем устанавливать это, или это. И для каждого выбора будет свой набор файлов, которые будут устанавливаться.

Заранее всем спасибо)
Автор: RussaKKinG
Дата сообщения: 16.03.2015 21:03
HELP!

http://s017.radikal.ru/i406/1503/4c/ee8ce2f062d4.jpg
Вот сам инстолятор Ссылка
Автор: AngelNet
Дата сообщения: 16.03.2015 21:55
RussaKKinG
уберите крупный скриншот под спойлер и выложите листинг кода, тоже заключив его в тег [no][more=ваш код][/more][/no]
Автор: dodakaedr
Дата сообщения: 16.03.2015 22:49
Solomon_Kane_2015
Добавьте в скрипты в секцию [Setup]
Код: UsePreviousAppDir=No
Автор: Shegorat
Дата сообщения: 17.03.2015 06:15
RussaKKinG 22:03 16-03-2015
Цитата:
Вот сам инстолятор Ссылка

Ооо да. Это невероятно увлекательное занятие - скачивать файл после просмотра рекламы. Поэтому не качал. С таким отношением вам тут скоро помогать не будут. И да, как уже писали выше, скриншот под спойлер.
А что насчет ошибки, так у вас ошибка записи на диск компилируемого инсталлятора. Возможно он уже запущен, либо путь в OutputDir неправильный.
Автор: Solomon_Kane_2015
Дата сообщения: 17.03.2015 13:19
dodakaedr, огромное спасибо за совет. Опробую - отпишу как все прошло.
Автор: painter7
Дата сообщения: 17.03.2015 14:36

Цитата:
Вот сам инстолятор Ссылка

Еще и деньги рубит с рекламы, на тех, кто ему помогать "должен", как уже надоели эти мастера "репакеры", взять все чужое и слепить из этого что-то свое, ужас.

У меня для таких умников давно авто-редирект стоит с ad-file.com на rghost.ru, все остальное в линке не меняется.
Автор: RussaKKinG
Дата сообщения: 17.03.2015 16:51
AngelNet
Shegorat
painter7
Убрал скрин под ссылку, а путь не может быть не верен, диск такой есть а папки он разве сам не создаёт???
РЕКЛАМА НЕ МОЯ!
Автор: AngelNet
Дата сообщения: 17.03.2015 18:33
RussaKKinG
нам не нужен ваш инсталлятор для анализа хватит листинга кода.
если вам лень (или вы не освоили использование форумного тега more) то запостите скрипт например на пастебину.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

Предыдущая тема: Только инсталлятор


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