Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как отредактировать setup.iss при помощи батника (http://forum.oszone.net/showthread.php?t=352077)

minutka15 09-10-2022 07:13 2993810

Как отредактировать setup.iss при помощи батника
 
Ребята нуждаюсь в вашей помощи.
Создал файл ответов setup.exe /r и получил setup.iss из установщика созданного с "installshield wizard".
Полученный результат в setup.iss устраивает за исключением буквы диска и имя компьютера.

вот кусочек кода:
Код:

[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
szDir=C:\Program Files (x86)\PROGA\PROGA
szDir=C:\Users\USERNAME\Documents\PROGA

Системные переменные в файле setup.iss не работают и с учетом того, что на другом компьютере возможно
будет другая буква диска и неизвестное имя владельца то установщик забуксует.
Нужен батник который определит букву системного диска и имя владельца компьютера и заменит это в нужных строках.
К примеру для облегчения работы я заменю в setup.iss эту строчку
Код:

szDir=C:\Program Files (x86)\PROGA\PROGA
на ХХХ
А эту
Код:

szDir=C:\Users\USERNAME\Documents\PROGA
на WWW
Файлы установки распакуются в "%TEMP%\Proga" и затем батник должен отредактировать setup.iss
вышеупомянутой задачей после чего батник запустит setup.exe /s /sms

И вот что мне нужно:
В setup.iss ищем слово ХХХ и заменяем на буква диска:\Program Files (x86)\PROGA\PROGA
Слово WWW заменяем на буква диска:\Users\имя владельца\Documents\PROGA
Если кто-нибудь мне помог-бы с батником то был бы очень благодарен.
Если кто знает другой метод установки при помощи файла ответов то буду рад услышать.

DJ Mogarych 09-10-2022 08:32 2993811

Нужно просто использовать в файле константы вместо путей.
https://jrsoftware.org/ishelp/index.php?topic=consts

Перепутал с Inno Setup.

У любого инсталлятора есть переменные, см.
https://stackoverflow.com/questions/...ive-file-paths
https://shieldmaster.wordpress.com/2...-organization/
https://www.google.com/search?q=inst...path+variables

minutka15 09-10-2022 12:34 2993819

Цитата:

Цитата DJ Mogarych
У любого инсталлятора есть переменные »

Файл ответов setup.iss не понимает такие переменные.

DJ Mogarych 09-10-2022 18:58 2993835

Это плохо.

Как вариант - попробовать параметрами к setup.exe, либо извратиться как-то так:
Код:

set iss="C:\temp\setup.iss"

echo [InstallShield Silent] > %iss%
echo Version=v7.00 >> %iss%
echo File=Response File >> %iss%
echo [File Transfer] >> %iss%
echo OverwrittenReadOnly=NoToAll >> %iss%
echo szDir=%programfiles(x86)%\PROGA\PROGA >> %iss%
echo szDir=%userprofile%\Documents\PROGA >> %iss%


minutka15 10-10-2022 17:07 2993881

Цитата:

Цитата DJ Mogarych
set iss="C:\temp\setup.iss"
echo [InstallShield Silent] > %iss%
echo Version=v7.00 >> %iss%
echo File=Response File >> %iss%
echo [File Transfer] >> %iss%
echo OverwrittenReadOnly=NoToAll >> %iss%
echo szDir=%programfiles(x86)%\PROGA\PROGA >> %iss%
echo szDir=%userprofile%\Documents\PROGA >> %iss% »

Такой метод не подходит, он не меняет то, что нужно а просто заполняет что прописано в батнике.

Файл ответов в setup.iss состоит более 80 строк. Нужен метод поиска и замены:
Все что нужно это заменить в файле setup.iss 2 строчки
В setup.iss ищем слово ХХХ и заменяем -> %systemdrive%:\Program Files (x86)\PROGA\PROGA
Если система установлена на диск "D" чтобы был результат был -> D:\Program Files (x86)\PROGA\PROGA
Слово WWW заменяем на %systemdrive%\Users\%USERNAME%\Documents\PROGA
чтобы был результат был -> D:\Users\SuperPuperUser\Documents\PROGA


Время: 23:51.

Время: 23:51.
© OSzone.net 2001-