Показать полную графическую версию : Синтаксис setup.iss
Пусть все на примере установки приложения AVerTV. Все сделал как по учебнику:-). Распаковал, прогнал с ключем /r, получил setup.iss Но вот его изучение навело на размышления: в нем прописан путь установки как C:\Program Files\AVerTV Но мне нужно устанвавливать систему не только на С:, но и еще и на D: например. Размещение в Program Files вполне устраивает, не устраивает только буква диска. Переменную %systemdrive% хавать не хочет. Что делать? Этот путь можно както универсализировать?
Debugger
11-10-2005, 16:08
ags
Можно попробовать создать дополнительный setup.iss и положить его в подпапку, когда нужно будет запустить установку с его участием, явно прописать путь к нему через ключик f1:
setup.exe -s -f1c:\install\avertv\setupiss\setup.iss
Debby
Спасибо, натолкнул на мысль. Конечно это не выход, но полвыхода. Ведь мы же не знаем букву HDD заранее, а для всех букв этих setup.iss не сильно ИМХО верно делать. Правда может кому поможет еще вот что нарыл: ключ /f1 вполне нормально хавает не только абсолютный путь, но и еще схавал переменную %systemdrive%. Да, еще путь после /f1 должен быть в кавычках! У меня сработало вот так (для AVerTV):
setup.exe /s /sms /f1"%systemdrive%\temp\setup_d.iss" /v/qn
Будем думать дальше...
Итак, последнее исследование выявило работу следующего синтаксиса команды: setup.exe /s /sms /f1"%systemdrive%\InstallTemp\setup_%systemdrive:~0,-1%.iss" /v/qn Это при условии, что SFX распаковывается в %systemdive%\InstallTemp к примеру. Это первое неудобство - задание определенной папки распаковки. Второе неудобство - WinRAR категорически не хочет выполнять эту команду после распаковки. Приходится пихать ее в командный файл и уже его запускать из SFX'а. Пока не могу победить... И третье неудобство - в состав SFX'а приходится включать кучу setup_?.iss, где ? - варианты буквы HDD. Тоже пока не знаю что делать...
ПРОШУ ПОМОЩИ!!! ПОМОГИТЕ победить хотя бы второе неудобство...
Debugger
13-10-2005, 16:58
ags
Второе неудобство - WinRAR категорически не хочет выполнять эту команду после распаковки. Приходится пихать ее в командный файл и уже его запускать из SFX'а. Пока не могу победить...
А зачем побеждать? Добавь в архив hidcon.exe (его можно найти на сайте у Oleg_Sch - http://unattended.solta.ru/unattended.ru.htm), и запускай батник с его помощью - консоль не будет видно.
Тема кстати очень актуальная, сам над этим долго парюсь. Пляски с кучей файлов setup_*.iss не устаивают. Должны существовать встроенные средства инсталятора для таких вещей.
Как например у Inno Setup /DIR="xxx"
Кто знает - делитесь!
Dimus
Если что надо, по поводу Inno Setup, так пожалуйста спрашивайте (только не много), я просто занимаюсь этой программой для создания инсталяторов!!
ghostman
24-01-2006, 09:06
Вот нарыл, параметр <ProgramFiles> эквивалентен параметру %ProgramFiles% в винде, к сожалению пременной <systemdrive> в инсталлщиелде не предусмотренно, но и на этом спасибо.
Выглядит это примерно так:
szDir=<ProgramFiles>\ATI Technologies\ATI Control Panel
2 Vadikan.
Думаю стоит добавить это в статью.
ghostman
А в статье синтаксис вообще не рассматривается. Там даны общее представление об инсталляторах.
Извените у меня появилась одна проблемка:
Как сделать так что бы при выборе какого либо компанента делалась просто какая-то запись в файле ini, который не состоит из блоков, строк и папраметров, а просто имеет формат обычного текстового файла и нужно чтобы в этот файл была вставлена строчка.
И как это сделать?
ghostman
Не торопись... Дело в том что в последних (где-то с ноября) версиях ATI-шных дров действительно в упаковщике/распаковщике можно использовать этот папраметр. НО ТОЛЬКО В ПОСЛЕДНИХ! Т.е. смею предположить что он появился только в 11-й версии InstallShield'а. А выложив это в качестве параметра ты собьешь с толку очень многих, т.к. многие используют софт запакованный InstallShield'ом более ранних версий, которые не поддерживают <ProgramFiles>. Проверено лично мной...
Решил данную проблему следующим образом:
1. В файле setup.iss оставил все строки ДО той, где прописывается путь установки.
2. В файле setup.bat написал:
echo [{6811CAA0-BF12-11D4-9EA1-0050BAE317E1}-SdAskDestPath-0] >> setup.iss
echo szDir=%ProgramFiles%\CyberLink\PowerDVD >> setup.iss
echo Result=1 >> setup.iss
(...)
start /wait setup.exe /s /sms
3. Всё это упаковал модифицированной версией SFX модуля 7-Zip, с соответствующими параметрами. Команда на установку программы: hidcon.exe setup.bat.
Буду рад услышать другие решения.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.