Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 6]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

Пользователь


Сообщения: 68
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Люди добрые, подскажите скрипта для распаковки FreeArc'ом? Самый простой без наворотов, чтобы просто распаковал во время установки. Заранее благодарю

Отправлено: 12:42, 25-09-2013 | #1151



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


SHVtYW4=


Сообщения: 3451
Благодарности: 1273

Профиль | Отправить PM | Цитировать


Цитата Shkutu:
Здесь {group} - это же вроде имя папки »
Это не имя папки, это путь/назначение.
В Inno это есть так называемая переменная как в Windows.
Например в Windows переменная %TEMP% в Inno это будет {tmp}.

Цитата Shkutu:
А в каких именно программах (общих или конкретного пользователя) здесь не указано »
Обычно в общих "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\".

Цитата Антон_Мураткин@vk:
Люди добрые, подскажите скрипта для распаковки FreeArc'ом? »
Смотри здесь.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:55, 25-09-2013 | #1152


Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата Shkutu:
Здесь {group} - это же вроде имя папки »
{group} - это в будущем, скажем так, имя папки. Первоначально - это константа, переменная пути. На основе нее инсталятор создает папку с именем, указанным в секции Setup.
Цитата Shkutu:
какая папка при таком задании ярлыка будет родительской {userprograms} или {commonprograms} »
{commonprograms}
Цитата Shkutu:
Может, все-таки наоборот - если прав нет, то common будет аналогична user? »
Нет.

P.S.
Все константы подробно описаны в справке.

Последний раз редактировалось saurn, 25-09-2013 в 18:45.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:30, 25-09-2013 | #1153


Пользователь


Сообщения: 149
Благодарности: 38

Профиль | Отправить PM | Цитировать


Nordek, saurn, спасибо

Отправлено: 18:47, 25-09-2013 | #1154


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата saurn:
{group} - это в будущем, скажем так, имя папки. »
Цитата Shkutu:
Здесь {group} - это же вроде имя папки, которая будет создана в "Пуск"-> "Программы". »
saurn, Shkutu, {group} - это полный путь будущей программной группы, общей или персональной - это уже зависит от привилегий установщика, установленных директивой PrivilegesRequired (по умолчанию admin). Установщик с привилегиями admin/poweruser будет автоматом создавать ярлыки в общей программной группе (All Users/ProgramData), lowest - в персональной (профиле пользователя). Также для установщика с админскими привилегиями можно указать создавать ярлыки не в общей группе, а в персональной, для этого предусмотрена директива AlwaysUsePersonalGroup.

Цитата saurn:
{commonprograms}
Цитата Shkutu:
Может, все-таки наоборот - если прав нет, то common будет аналогична user? »
Нет. »
saurn, вообще-то, да.

Цитата Nordek:
Например в Windows переменная %TEMP% в Inno это будет {tmp}. »
Nordek, вообще-то, нет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:58, 25-09-2013 | #1155


SHVtYW4=


Сообщения: 3451
Благодарности: 1273

Профиль | Отправить PM | Цитировать


Цитата El Sanchez:
lowest - в персональной (профиле пользователя). »
Смысла не понимаю использования lowest.
Поясню почему:
Есть некоторые программы которые установленные установщиком Inno. Запуская простым кликом, запускаются без запроса UAC. Но здесь есть одно "Но", порой выбивают ошибку, и всё потому, что не могут прочитать конфигурационный файл находящийся в программной папке. С одной стороны да, то что даже если запроса от UAC не было, и если выбивает ошибку, то их нужно запускать из под администратора. Но с другой стороны, многие думают что нужно давать инсталлятору какие-то привилегии, на самом деле как оказалось административные права не нужны чтобы запустить программу без ошибки.

P.S Данную проблему почти решил и знаю почему это происходит, но пока ещё не реализовал для инсталлятора.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 22:55, 25-09-2013 | #1156


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата Nordek:
Смысла не понимаю использования lowest. »
Nordek, поясняю привилегии установщика:
  1. admin - однопользовательская установка; установщик имеет права пользователя из группы Администраторов в системе; установленная программа находится в системной папке Program Files, которой пользуются все; удаление программы только пользователем из группы Администраторов.
  2. poweruser - однопользовательская установка; установщик имеет права не ниже прав пользователя из группы Опытные пользователи в системе; установленная программа находится в системной папке Program Files, которой пользуются все; удаление программы только пользователем минимум из группы Опытные пользователи.
  3. lowest - многопользовательская установка; установщик имеет права пользователя из группы Пользователи в системе (пользователь из группы Администраторы, запустивший установщик, приравнивается к пользователю из группы Пользователи); установленная программа находится в профиле пользователя, запустившего установку (обычно в %APPDATA%); удаление индивидуально для каждого пользователя (кроме админа, тому все можно грохать).
  4. none - однопользовательская/многопользовательская установка; установщик имеет права пользователя, запустившего установку, поэтому логика скрипта должна это учитывать; установленная программа находится в Program Files/профиле в зависимости от пользователя, запустившего установку; удаление аналогично.

Цитата Nordek:
Поясню почему: »
читать дальше »


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

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:12, 26-09-2013 | #1157


Аватара для Johny777

Ветеран


Сообщения: 649
Благодарности: 444

Профиль | Отправить PM | Цитировать


El Sanchez,
Цитата El Sanchez:
Например в Windows переменная %TEMP% в Inno это будет {tmp}. »
Nordek, вообще-то, нет. »
как же?
мне пришлось вплотную с этим столкнуться, те мне нужны пути для инсталла
и темп в первую очередь

пути к папкам я получаю таким макаром (код Delphi):
читать дальше »
Код: Выделить весь код
function GetSpecialFolderPath(const csidl: Integer): String;
var
    Buff: array[ 0..MAX_PATH] of Char;
begin
    if SHGetSpecialFolderPath(0, Buff, csidl, False) then Result := Buff;
end;

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
из констант
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
мне нужны только
CSIDL_DESKTOP
CSIDL_COMMON_DESKTOPDIRECTORY
CSIDL_COMMON_DOCUMENTS
CSIDL_PROGRAM_FILES
CSIDL_PROGRAMS
CSIDL_DESKTOPDIRECTORY
CSIDL_MYDOCUMENTS
CSIDL_PROGRAM_FILESX86

===================

а путь к папке Temp только одним способом. Другого не знаю (код Delphi):
читать дальше »
Код: Выделить весь код
function GetTemp(): String;
var
    Buff: array [0..MAX_PATH] of Char;
begin
    if GetTempPath(Length(Buff), Buff) > 0 then Result := Buff;
end;

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
и этот путь тот же самый, в котором инно создаёт временную папку и именно этот темп откроется если вбить %TEMP% в "Выполнить"
исходники инно по этому поводу я не смотрел, но уверен что пути которыми она заменят константы в строке она берёт именно при помощи вышеупомянутых функций

В общем хотелось бы понять, чтоб потом у меня весь инсалл не рухнул при запуске не из под Админа,

Последний раз редактировалось Johny777, 26-09-2013 в 13:26.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:13, 26-09-2013 | #1158


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


Цитата Johny777:
как же? »
Просто. Константа {tmp} это путь к временной папке инсталлятора. А системная переменная %TEMP% это временная папка системы. собственно {tmp} - это подпапка внутри %TEMP%. И я совершенно не понимаю, при чем тут Delphi. К инно она относится только тем боком, что данный инструмент скомпилен на Delphi и имеет тот-же язык для секции [code].
P.S. даже не тот-же, а несколько отличающийся. объектная структура классов построена чуток по другому, чем в дельфи.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 26-09-2013 в 13:42.


Отправлено: 13:37, 26-09-2013 | #1159


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата Johny777:
а путь к папке Temp только одним способом. Другого не знаю (код Delphi): »
Johny777, выбирай:
Код: Выделить весь код
GetTempDir
GetEnv('TEMP')
ExtractFileDir(ExpandConstant('{tmp}'))
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:43, 26-09-2013 | #1160



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход