Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.
Комсомолец
03-04-2009, 16:34
Кто расскаже, что это (http://www.legroom.net/software/clihelp) такое? Я так понял-всплывающая справка по аналогии с msi-инсталляторами? Как ее прикрутить?
что это такое? »Это раздел справки, который можно прикрутить к своему инсталлятору.
Я так понял-всплывающая справка по аналогии с msi-инсталляторами? »Нет... или слово всплывающая, я понимаю по другому... Одним словом, при запуске своего инсталлятора из командной строки с ключом /?, пример:
setup.exe /?
Появляется окно с разделом справки из Inno Setup, с параметрами командной строки поддерживаемой инсталлятором.
Как ее прикрутить? »Как оказалось проще простого, т.е. создаёте в обычном текстовом документе всё, что здесь (http://www.legroom.net/files/software/clihelp.iss) написано и сохраняете под именем clihelp.iss. После этого, в своём скрипте записываете, пример:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Files]
Source: clihelp.iss; Flags: dontcopy
[_Code]
const
ComponentList = '';
TaskList = '';
ParameterList = '';
#include "clihelp.iss"
и всё... Попробуйте вызвать готовый инсталлятор с ключом /?
Комсомолец
03-04-2009, 18:01
Serega_, и попробовал. что с /? что с /help начинается обычная установка((
Комсомолец, прикрепил к сообщению: 2 скрипта и инсталлятор. Попробуйте... Всё сделано именно так, как я описал выше постом...
Комсомолец
03-04-2009, 18:29
Serega_, спасибо, скачал. так какой ключ? /? - такой?
Комсомолец, работают все ключи, с один результатом, а именно: /?, /h, /help - выводят окно справки...
P.S.
Если надо, могу выложить полный раздел справки по параметрам командной строки из последней версии Справки - на русском.
Просто, перевожу для себя...
Комсомолец
03-04-2009, 19:03
Serega_, давай. в принципе есть, но от полной не откажусь. Ключи и правда работают))
Перевод раздела 'Параметры командной строки инсталлятора' из справки к Inno Setup, версия 5.2.3.
/SP-
Отключает в начале Установки диалог Эта программа установит... Вы желаете продолжить?. Конечно, это не будет иметь никакого эффекта, если DisableStartupPrompt секции [Setup] была установлена на yes.
/SILENT, /VERYSILENT
Установка в тихом или очень тихом режиме. При установке в тихом режиме мастер и фоновое окно мастера не отображаются, отображается только окно прогресса. При очень тихой установке окно прогресса тоже не отображается. Остальная установка проходит как обычно - отображаются сообщения об ошибках в ходе установки, страница приветствия (если ее отображение не отменено директивой DisableStartupPrompt или параметром '/SP-' командной строки, описанной выше).
Если после установки необходима перезагрузка и команда '/NORESTART' не используется (см. ниже), и установка проходит в тихом режиме, появится сообщение Перезагрузить сейчас?. Если режим установки очень тихий, система перезагрузится не спрашивая.
/SUPPRESSMSGBOXES
Установка с подавлением сообщений. Имеет эффект при использовании совместно с '/SILENT' и '/VERYSILENT'.
Заданный по умолчанию ответ в сообщениях, где есть выбор:
- Да, в 'Сохранить новый файл?'.
- Нет, в 'Файл существует, перезаписать?'.
- Прервать, в Прервать/Повторить.
- Отмена, в Повторить/Отмена.
- Да (=продолжить), в DiskSpaceWarning/DirExists/DirDoesntExist/NoUninstallWarning/ExitSetupMessage/ConfirmUninstall.
- Да (=перезагрузить) в FinishedRestartMessage/UninstalledAndNeedsRestart.
5 видов сообщений, которые не поддерживаются:
- Сообщение 'О программе...'
- Сообщение 'Выйти из программы установки?'.
- Cообщение FileNotInDir2, когда во время Установки требуется вставить новый диск и он не был найден.
- Любое сообщение (ошибка), отображенное прежде, чем, инсталлятор (или деинсталлятор) прочитают параметры командной строки.
- Любое сообщение вызванное функцией MsgBox из секции [Code].
/LOG
Указывает инсталлятору создать log-файл в папке TEMP для подробного отчета о действиях и событиях в секции [Run], предпринятых в ходе установки. Применяется при отслеживании ошибок. Например, если вы подозреваете, что файл не был перезаписан, хотя должен быть (или наоборот), то log-файл сообщит, что файл был действительно пропущен и почему.
log-файлу присваивается уникальное имя на базе текущей даты. (Существующие файлы не перезаписываются и не дополняются.)
Информация, содержащаяся в log-файле, техническая и поэтому не может быть понята пользователем.
/LOG="имя файла"
Параметр похож на /LOG, но в отличие от него позволяет указать фиксированный путь/имя файла для log-файла. Если файл с указанным именем уже существует, он будет перезаписан. Если файл не может быть создан, установка прервется и выдаст сообщение об ошибке.
/NOCANCEL
Не дает пользователю прервать установку, отключая кнопку 'Отмена' и игнорируя клики на кнопке 'Закрыть'. Используется в комбинации с '/SILENT' или '/VERYSILENT'.
/NORESTART
Указывает инсталлятору не перезагружать компьютер даже если это необходимо.
/RESTARTEXITCODE=код завершения
Задает инсталлятору код, который он должен возвратить, если необходима перезагрузка. Используется с '/NORESTART'.
/LOADINF="имя файла"
Указывает инсталлятору загрузить параметры установки из указанного файла после проверки командной строки. Этот файл может быть подготовлен с помощью команды '/SAVEINF=', см. ниже.
Не забывайте использовать кавычки, если имя файла содержит пробелы.
/SAVEINF="имя файла"
Указывает инсталлятору сохранять параметры установки в указанный файл.
Не забывайте использовать кавычки, если имя файла содержит пробелы.
/LANG=language
Задает используемый язык. language определяет имя языка заданного в параметре секции [Languages].
При использовании параметра /LANG, диалог Выбор языка установки будет подавлен.
/DIR="x:\dirname"
Меняет имя папки, заданное по умолчанию, на странице мастера Выбор папки установки. Должен быть указан полный путь.
/GROUP="имя папки"
Меняет имя папки, отображаемое на странице мастера Выбор папки в меню 'Пуск'. Если директива DisableProgramGroupPage секции [Setup] равна yes, этот параметр командной строки игнорируется.
/NOICONS
Указывает инсталлятору отметить выбор Не создавать значков на странице мастера Выбор папки в меню 'Пуск'.
/TYPE=type name
Меняет заданный по умолчанию тип установки.
Если указанный тип будет существовать и не будет 'Выборочным' (custom), то любой указанный параметр /COMPONENTS будет проигнорирован.
/COMPONENTS="имена компонентов разделяются запятыми"
Меняет выбранные по умолчанию компоненты. В этом случае параметр командной строки указывает инсталлятору менять тип установки на 'Выборочный'. Если 'Выборочный' тип не определён, то этот параметр игнорируется.
Только указанные компоненты будут выбраны, с остальных будет снят выбор.
Если перед именем компонента добавить символ "*", то все дочерние компоненты будут также выбраны (за исключением тех, которые имеют флаг dontinheritcheck). Если перед именем компонента добавить символ "!", то компонент не будет выбран.
Этот параметр не снимет выбор с компонентов, которые имеют флаг fixed.
Пример:
Снимаем выбор со всех компонентов, затем выбираем компоненты "help" и "plugins":
/COMPONENTS="help,plugins"
Пример:
Снимаем выбор со всех компонентов, затем выбираем родительский компонент "parent" и все его дочерние компоненты, за исключением одного "parent\child":
/COMPONENTS="*parent,!parent\child"
/TASKS="имена задач разделяются запятыми"
Определяет список задач которые должны быть выбраны.
Только указанные задачи будут выбраны, с остальных он будет снят. Используйте параметр /MERGETASKS, если Вы хотите сохранить заданный по умолчанию набор задач и только выбрать/снять некоторые из них.
Если перед именем задачи добавить символ "*" то все дочерние задачи будут также выбраны (за исключением тех, которые имеют флаг dontinheritcheck). Если перед именем задачи добавить символ "!", то задача не будет выбрана.
Пример:
Снимаем выбор со всех задач, затем выбираем задачи "desktopicon" и "fileassoc":
/TASKS="desktopicon,fileassoc"
Пример:
Снимаем выбор со всех задач, затем выбираем родительскую задачу "parent" и все ее до-черние задачи, за исключением одной "parent\child":
/TASKS="*parent,!parent\child"
/MERGETASKS="имена задач разделяются запятыми"
Параметр похож на /TASKS, но в отличие от него сохраняет заданный по умолчанию набор задач и лишь дополняет указанными задачами.
Если директива UsePreviousTasks равна yes, то указанные задачи будут выбраны/снят выбор, после того, как предыдущие задачи восстановлены.
Пример:
Сохраняем заданный по умолчанию набор выбранных задач и дополнительно выбираем задачи "desktopicon" и "fileassoc":
/MERGETASKS="desktopicon,fileassoc"
Пример:
Сохраняем заданный по умолчанию набор выбранных задач, но снимаем выбор с задачи "desktopicon":
/MERGETASKS="!desktopicon"
/PASSWORD=пароль
Задает пароль. Если не указана директива Password секции [Setup], этот параметр командной строки игнорируется.
Если введен неправильный пароль, параметр командной строки также игнорируется.
Комсомолец
03-04-2009, 19:34
Serega_, а это не то же самое, что и в справке инсталлятора? просто у меня тот учебник на русском.
Комсомолец, :teeth: на первый взгляд, так только кажется... если посмотреть внимательней добавлены команды:
/SUPPRESSMSGBOXES, /TYPE, /TASKS, /MERGETASKS + добавлены описания в старые команды и скорректированы некоторые формулировки...
Комсомолец
03-04-2009, 19:57
Serega_, отлично))
volk1234
06-04-2009, 01:27
Serega_
Я пока не буду поднимать в шапку ссылку на ключи установщика, причину вы знаете.
2ALL
Скоро будет более подробный материал по Inno с ключами и прочим...
Serega_ благодарности ставятся за общеполезные сообщения, содержащие эксклюзивную информацию
или решение проблемы. В данном случае благодарят если уже выложенна готовая статья или описание
сделанное человеком самостоятельно. В качестве благодарности за работу. Пока никакой работы не сделано.
Необоснованно сделанные благодарности администрация снимает :)
Относитесь к своим благодарностям рачительно - не жадничайте но и не разбрасывайтесь. :)
Devils0411
07-04-2009, 14:28
Есть 3 файла. Скажем File1.bin, File2.bin, File3.bin. При установке (распаковке) файлы File1.bin и File2.bin, должны устанавливаться (копироваться) в заранее указанные пути (File1.bin в %userprofile%\Главное меню\Программы\Автозагрузка, File2.bin в %programfiles%). При установке (копировании) файла File3.bin, должно выскачить окошко, с просьбой указать путь. Вот собственно и все.
З.Ы. Третий файл мне нужно скинуть в ту же папку что и первый, только в "ограниченную учетку" (проблема в том, что на разных компах, по-разному называны учетки :(
Devils0411,
File1.bin в %userprofile%\Главное меню\Программы\Автозагрузка »Обычно туда только ярлыки добавляют, но если всё же сам файл, то в секции [Files] пишите:
[Files]
Source: полный путь до файла\File1.bin; DestDir: {userstartup}; Flags: ignoreversion
File2.bin в %programfiles% »Здесь тоже не совсем ясно, т.е. просто файл в каталог Program Files? Если да, то добавьте в туже секцию [Files]:
[Files]
Source: полный путь до файла\File2.bin; DestDir: {pf}; Flags: ignoreversion
При установке (копировании) файла File3.bin, должно выскачить окошко, с просьбой указать путь »Конечно можно сделать чтоб при установке выскочил диалог с просьбой указать каталог. А есть вообще смысл изобретать велосипед, когда можно просто выбрать папку установки, на странице выбора директории?
Третий файл мне нужно скинуть в ту же папку что и первый, только в "ограниченную учетку" »К сожалению я не знаю, что такое "ограниченная учетка"...
Итог - вот пример всего скрипта:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\Учётка
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: полный путь до файла\File1.bin; DestDir: {userstartup}; Flags: ignoreversion
Source: полный путь до файла\File2.bin; DestDir: {pf}; Flags: ignoreversion
Source: полный путь до файла\File3.bin; DestDir: {app}; Flags: ignoreversion
Devils0411
07-04-2009, 18:15
Есть учетная запись администратора (C:\Documents and Settings\Administrator), а есть ограниченная учетная запись (C:\Documents and Settings\User). Дык вот путь может быть другой ("C:\Documents and Settings\Buxgalter", "C:\Documents and Settings\student")
Devils0411, так для этого есть константа {username} - это и будет ваше имя - student или Buxgalter...
Т.е. для того, чтоб попасть в папку C:\Documents and Settings\пользователь, надо записать:
{sd}\Documents and Settings\{username}
Также туда можно попасть, если записать:
{userdesktop}\..\
Devils0411
07-04-2009, 18:48
Serega_, Решился все-таки сделать так:
[Setup]
AppName=Switch
AppVerName=Switch v 1.0
DefaultDirName={pf}\Switch
OutputDir=C:\
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: C:\File1.bin; DestDir: {app}; Flags: ignoreversion
Source: C:\File2.bin; DestDir: {app}; Flags: ignoreversion
Source: C:\File3.bin; DestDir: {app}; Flags: ignoreversion
[Icons]
Name: "{userstartup}\Enable"; Filename: "{app}\File1.bin"
Name: "{userstartup}\Disable"; Filename: "{app}\File2.bin"
{userstartup} - создает ярлык в C:\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка
А какая константа отвечает за ограниченную учетную запись скажем student или buxgalter - {username}? Она сама будет подставлять нужное имя?
P.S. С ярлыками будет удобней. Сразу не догадался.
{userstartup} - создает ярлык в C:\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка »Она создаст ярлык в C:\Documents and Settings\имя текущего пользователя\Главное меню\Программы\Автозагрузка, т.е. под каким именем запускаете...
А какая константа отвечает за ограниченную учетную запись скажем student или buxgalter - {username}? Она сама будет подставлять нужное имя? »дело в том, что это тоже имя текущего пользователя... хм...
Devils0411
07-04-2009, 19:39
Вот в этом то и загвоздка. Да и еще. Что нужно прописать, чтоб не выдавало указать имя папки в меню "все программы"?
Что нужно прописать, чтоб не выдавало указать имя папки в меню "все программы"? »Вы имеете ввиду отключить страницу с выбором папки в меню "Пуск"? Добавьте в секцию [Setup] DisableProgramGroupPage=yes
Я так понял учётная запись Admin у вас одна на всех компьтерах? Если да, тогда запускаете инсталляцию из под учётной записи другого пользователя, а в скрипте записываете так:
[Icons]
Name: {sd}\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка\Enable; Filename: {app}\File1.bin; WorkingDir: {app}
Name: {sd}\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка\Disable; Filename: {app}\File2.bin; WorkingDir: {app}
Name: {userstartup}\Disable; Filename: {app}\File3.bin; WorkingDir: {app}
т.е. ярлык для файла File3.bin, будет создан для текущего пользователя, ярлыки для File1.bin и File2.bin - для пользователя Admin.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC