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

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

Автор: sergey3695
Дата сообщения: 30.05.2013 12:32
ultimo

Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Types]
Name: full; Description: Full installation; Flags: iscustom;

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed;
Name: text\rus; Description: Русский текст; Flags: exclusive;
Name: text\eng; Description: Английский текст; Flags: exclusive;
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed;
Name: voice\rus; Description: Русская озвучка; Flags: exclusive;
Name: voice\eng; Description: Английская озвучка; Flags: exclusive;

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Name: eng; MessagesFile: compiler:Default.isl

[_code]
procedure InitializeWizard;
begin
if ActiveLanguage = 'eng' then
begin
WizardForm.ComponentsList.Checked[2]:=True;
WizardForm.ComponentsList.Checked[5]:=True;
end;
end;
Автор: ultimo
Дата сообщения: 30.05.2013 14:07
sergey3695

Спасибо)
Автор: Black_Ghost
Дата сообщения: 30.05.2013 23:41
Народ, помогите!
При компиляции выдает это:

---------------------------
Ошибка компиляции
---------------------------
Unknown identifier 'ISSRepExtract'
---------------------------

Для обработки srep'ом использвал Packers Show
имя файла и его расширение прописывал вручную, т.е. data1.srep
Автор: yuwik
Дата сообщения: 31.05.2013 09:27
Подскажите пожалуйста, как написать код?


Код: Если WIN7, то
Root: HKU; SubKey: ...
Если нет, то
Root: HKLM; SubKey:..
Автор: innonewbie
Дата сообщения: 04.06.2013 14:47
yuwik, [more=так][code]
function forWin7():boolean;
var
Version: TWindowsVersion;
begin
GetWindowsVersionEx(Version);
Result := ((Version.Major >= 6) and (Version.Minor >= 0));
end;

[registry]
Root: HKU; SubKey: ...; Check: forWin7
Root: HKLM; SubKey:..; Check: not forWin7 [/more] попробуй.
Автор: zuster_andrey
Дата сообщения: 04.06.2013 15:18
Подскажите как сделать что бы инсталятор запрашивал серийный номер?
Автор: yuwik
Дата сообщения: 04.06.2013 15:32
innonewbie!!!
спасибо огромное, 3 дня мучился, хотел забросить, а тут 10 минут и готово!
Автор: marineharrison
Дата сообщения: 04.06.2013 21:36
Доброго времени суток. Подскажите такой момент.
Мне нужно сделать так, чтоб в зависимости от выбора компонентов один и тот же файл устанавливался в две разные папки. Как такое сделать.
Автор: tyumenik
Дата сообщения: 05.06.2013 11:13
Добренький денек, всем!!!
Мне нужен скрипт, см рис...
Например:

Автор: jonikDk
Дата сообщения: 06.06.2013 11:59
Привет всем.
Не подскажете можно при установке запустить программу с правами System?
сам не нашел, но пока искал острая необходимость отпала, но если кто знает как штатно из inno это сделать было бы интересно.
Автор: aidarsimon
Дата сообщения: 06.06.2013 13:46
Здравствуйте. Можно ли пропустить или как-нибудь игнорировать сообщение о несоответствии системных тербований? Установщик игры написан на inno версии 5.2
Вот игра http://www.torrentino.com/torrents/1025427



есть ли ключи запуска, отвечающие за игнор данной секции?
Автор: jonikDk
Дата сообщения: 06.06.2013 23:09
Можно ли прервать установку и откатить изменения после копирования файлов?
Автор: Lex_from_Belarus
Дата сообщения: 08.06.2013 14:10

Цитата:
Привет всем.   Не подскажете можно при установке запустить программу с правами System? сам не нашел, но пока искал острая необходимость отпала, но если кто знает как штатно из inno это сделать было бы интересно.


[Setup]: PrivilegesRequired
Возможные значения:
none, poweruser, admin или lowest
Значение по умолчанию:
admin

Описание:
Эффект данной директивы зависит от версии Windows, на котором работает инсталлятор:

На Windows Vista и позднее:

Эта директива определяет, требуются ли повышенные права (через диалоговое окно Управления учетной записью пользователя) для выполнения установки.

При значении admin (значение по умолчанию) или poweruser, инсталлятор всегда будет работать с административными полномочиями. Если инсталлятор был запущен непривилегированным пользователем, Windows спросит пароль к учетной записи, у которой есть административные полномочия и инсталлятор тогда будет работать в соответствии с этой учетной записью.

При значении none, инсталлятор будет работать с административными полномочиями, если он был запущен пользователем группы "Администраторы". Не используйте это значение, если Вы не уверены, что Ваш инсталлятор будет работать успешно на непривилегированных учетных записях.

При значении lowest, инсталлятор не будет запрашивать административных полномочий для выполнения, даже если он был запущен пользователем группы "Администраторы". Дополнительно, корневой ключ удаления всегда будет HKEY_CURRENT_USER и "общие" формы констант папки Shell отображаться на форме "пользователи", даже если административные полномочия доступны. Не используйте это значение, если Вы не уверены, что Ваш инсталлятор будет работать успешно на непривилегированных учетных записях.

На ранних версиях Windows:

Эта директива определяет минимальные пользовательские полномочия, требуемые для выполнения инсталлятора.

При значении admin (по умолчанию), инсталлятор выполнится, если пользователь будет членом группы "Администраторы", иначе выведет на экран следующее сообщение и закончит свою работу: "Вы должны быть зарегистрированы как администратор, чтобы установить эту программу."

При значении poweruser, инсталлятор будет работать, если пользователь является членом группы "Администраторы" или Продвинутых пользователей, иначе выведет на экран следующее сообщение и закончит свою работу: "Вы должны быть зарегистрированы как администратор или как член группы Продвинутых пользователей, чтобы установить эту программу."

При значении none инсталлятор не будет проверять состав группы пользователя. Не используйте это значение, если Вы не уверены, что Ваш инсталлятор будет работать успешно на непривилегированных учетных записях.

При значении lowest инсталлятор не будет проверять состав группы пользователя. Дополнительно, корневой ключ удаления всегда будет HKEY_CURRENT_USER и "общие" формы констант папки Shell отображаться на форме "пользователи", даже если административные полномочия доступны. Не используйте это значение, если Вы не уверены, что Ваш инсталлятор будет работать успешно на непривилегированных учетных записях.

Автор: ultimo
Дата сообщения: 09.06.2013 15:44
Еще такой вопрос. При выборе определенного компонента автоматически должен выбираться второй компонент. Вот что у меня есть:

Код:
wpSelectComponents:
begin
if WizardForm.ComponentsList.Checked[1] = True then WizardForm.ComponentsList.Checked[2]:=True;
end;
Автор: jonikDk
Дата сообщения: 10.06.2013 09:29

Цитата:
Возможные значения:  none, poweruser, admin или lowest  

Я справку прочитал, может невнимательно, тогда объясните как это мне поможет запустить приложение из установщика от пользователя System?
Автор: WWWorm
Дата сообщения: 11.06.2013 15:29
Сорри за офтоп, но уже отчаялся найти людей в других местах.
Ищу специалиста на фриланс который готов будет сделать автоинсталлер для сборника бесплатных программ с нашим дизайном (я предоставлю) и в дальнейшем обслуживать его (обновлять, фиксить).
Оплата договорная.
Автор: marineharrison
Дата сообщения: 12.06.2013 19:51
Подскажите такой момент.
Мне нужно сделать так, чтоб в зависимости от выбора компонентов один и тот же файл устанавливался в две разные папки. Как такое сделать.
Автор: Lex_from_Belarus
Дата сообщения: 13.06.2013 00:30

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


[Components]
Name: "Component_1"; Description: "Компонент 1";
Name: "Component_2"; Description: "Компонент 2";

[Files]
Source: "c:\xxx\xxx.exe\"; DestDir: "{app}\1\"; Components: Component_1;
Source: "c:\xxx\xxx.exe\"; DestDir: "{app}\2\"; Components: Component_2;

Добавлено:

Цитата:
Я справку прочитал, может невнимательно, тогда объясните как это мне поможет запустить приложение из установщика от пользователя System?

эта команда указывает что инсталлер запущен с админскими правами со всеми отсюда вытекающими.

я не понимаю, вы попробовали и не получилось?
Автор: jonikDk
Дата сообщения: 13.06.2013 08:19

Цитата:
эта команда указывает что инсталлер запущен с админскими правами со всеми отсюда вытекающими.   я не понимаю, вы попробовали и не получилось?

я это понимаю, но я по моему написал, что мне не админские права нужны, а чтобы приложение запустилось от пользователя SYSTEM, согласитесь это немного разные вещи?
Автор: ultimo
Дата сообщения: 14.06.2013 17:44
Если отсутствует файл в определенной папке, то один из элементов страницы ComponentsPage должен становится неактивным:


Код:
procedure InitializeWizard();
begin
if (FileSearch('data.bin', ExpandConstant('{src}'))='') then begin
WizardForm.ComponentsList.ItemEnabled[0]:=False;
WizardForm.ComponentsList.ItemChecked[0]:=False;
end;
end;
Автор: marineharrison
Дата сообщения: 15.06.2013 19:07
Lex_from_Belarus
Спасибо, у меня именно такой вариант. и мне кажется, что файл записывается два раза. или нет?
Автор: Lex_from_Belarus
Дата сообщения: 16.06.2013 22:45

Цитата:
Цитата: эта команда указывает что инсталлер запущен с админскими правами со всеми отсюда вытекающими.    я не понимаю, вы попробовали и не получилось?

я это понимаю, но я по моему написал, что мне не админские права нужны, а чтобы приложение запустилось от пользователя SYSTEM, согласитесь это немного разные вещи?


[Registry]
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\File.exe"; ValueData: "~ RUNASADMIN"
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\File.exe"; ValueData: "~ RUNASADMIN"


т.е. файл скопируется на диск, а этими строчками внесутся данные в реестр, что запустить этот файл надо с правами админа, ну естественно сам запуск настраиваете в секции [RUN]

Добавлено:

Цитата:
Lex_from_Belarus Спасибо, у меня именно такой вариант. и мне кажется, что файл записывается два раза. или нет?

[Components]
Name: "Component_1"; Description: "Компонент 1"; Flags: exclusive
Name: "Component_2"; Description: "Компонент 2"; Flags: exclusive

[Files]
Source: "c:\xxx\xxx.exe\"; DestDir: "{app}\1\"; Components: Component_1;
Source: "c:\xxx\xxx.exe\"; DestDir: "{app}\2\"; Components: Component_2;


Я думал эти нюансы вы сами определите, надо вам двух одновременно установки компонентов или только одного из двух.
Автор: jonikDk
Дата сообщения: 17.06.2013 15:59
Lex_from_Belarus

Цитата:
[Registry] Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\File.exe"; ValueData: "~ RUNASADMIN" Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\File.exe"; ValueData: "~ RUNASADMIN"     т.е. файл скопируется на диск, а этими строчками внесутся данные в реестр, что запустить этот файл надо с правами админа, ну естественно сам запуск настраиваете в секции [RUN]


Круто, попробую отпишусь.
Автор: marineharrison
Дата сообщения: 17.06.2013 19:10
Lex_from_Belarus
Вы меня не поняли. Я имел в виду, что файлик в сам инсталлер два раза записывается, то есть в архиве будет два одинаковых файла и они будут в разные папки извлекаться. А мне нужно один файл, и чтоб он в архив инсталлера записывался один раз и в зависимости от выбора компонентов он один распаковывался либо в первую, либо во вторую папку.
Автор: Lex_from_Belarus
Дата сообщения: 17.06.2013 22:11

Цитата:
Lex_from_Belarus Вы меня не поняли. Я имел в виду, что файлик в сам инсталлер два раза записывается, то есть в архиве будет два одинаковых файла и они будут в разные папки извлекаться. А мне нужно один файл, и чтоб он в архив инсталлера записывался один раз и в зависимости от выбора компонентов он один распаковывался либо в первую, либо во вторую папку.

если вы ничего по этому поводу не вносили в скрипт, то и будет упакован один файл, а если написали в секции [Setup]
MergeDuplicateFiles=no
тогда будет 2 раза упакован.

Читаем в справке:

Цитата:
[Setup]: MergeDuplicateFiles
Возможные значения:
yes или no
Значение по умолчанию:
yes

Описание:
По умолчанию одинаковые файлы, указанные несколько раз сжимаются только один раз (без дубликатов). Если имеется несколько идентичных файлов, в скрипте только один из них (source file), это может уменьшить размер инсталлятора. Если вы хотите отключить это отслеживание, укажите значение директивы равной no.

Автор: marineharrison
Дата сообщения: 18.06.2013 19:47
Lex_from_Belarus
Благодарю за консультацию.
Автор: Zorbbb
Дата сообщения: 22.06.2013 12:10
Уважаемые, подскажите как правильно запустить Microsoft Visual C++ 2012 Redistributable (x86)
http://www.microsoft.com/ru-ru/download/details.aspx?id=30679

Пишу так:
[Run]
Filename: "{app}\vcredist_x86_2012.exe"; Parameters: "/quiet"; WorkingDir: "{app}"; Flags: runasoriginaluser

В результате на финишной странице появляются 2 переключателя с предложением и отменой перезагрузки.
Как запретить их появление?
Автор: Lex_from_Belarus
Дата сообщения: 23.06.2013 11:05
Zorbbb
это происходит именно при добавлении этой строчки?
и зачем используется Flags: runasoriginaluser ?
Автор: Zorbbb
Дата сообщения: 26.06.2013 13:02
Lex_from_Belarus

Цитата:
это происходит именно при добавлении этой строчки?

Так точно. Тоже самое и при
[Run]
Filename: "{app}\vcredist_x86_2012.exe"; Parameters: "/quiet"; WorkingDir: "{app}";
и при
[Run]
Filename: "{app}\vcredist_x86_2012.exe"; Parameters: "/quiet /norestart"; WorkingDir: "{app}";
также если запускать без параметров, ручная установка
[Run]
Filename: "{app}\vcredist_x86_2012.exe"; WorkingDir: "{app}";

Если удалить или закомментировать строку в Run, ни каких предложений перезагрузки нет.
Есть предположение, что эти переключатели добавляет сама инсталяха этих библиотек.
По ходу так оно и есть, создал батник со строкой
vcredist_x86_2012.exe /quiet
Пишу
[Run]
Filename: "{app}\vcredist2012.bat"; WorkingDir: "{app}";
На финишной появляются переключатели перезагрузки.
Может есть какой нибудь пересобранный пакет этих библиотек?

Автор: Lex_from_Belarus
Дата сообщения: 26.06.2013 18:09
Zorbbb
так вам надо узнать ключ правильный для тихой установки для vcredist_x86_2012.exe без перезагрузки
я нашёл такие ключи для этих библиотек
/q /norestart

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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