Господа, сегодня столкнулся с непонятками...
Немного предыстории: в последнее время установщики сложных программ, использующие Visual C++ 2015 Redistributable часто сталкиваются с тем, что если данный пакет библиотек уже есть в системе, то установка сложной программы либо подвисает на попытке переустановить этот компонент, либо прерывается с ошибкой. Посему я решил доработать стандартный установщик этих библиотек vcredist_x64.exe, чтобы он прежде чем ставить либы, удалял предыдущий пакет.
Упаковал я vcredist_x64.exe. Написал довольно банальный конфиг:
Код:
;!@Install@!UTF-8!
AutoInstall="waitall:\"%%T\\vcredist_x64.exe\" /uninstall /q /norestart"
AutoInstall="waitall:\"%%T\\vcredist_x64.exe\" /install /q /norestart"
RunProgram="waitall:%%T\\vcredist_x64.exe"
Delete="%%T\\vcredist_x64.exe"
GUIMode="2"
;!@InstallEnd@!
Все прекрасно работает, пока я вручную запускаю
vcsfx_x64.exe -ai. Но стоило мне добавить мой vcsfx_x64.exe в установщик Adobe, подменив родной файл и прописав нужный ключик запуска, как я стал получать ошибку "Отказано в доступе <путь до vcredist_x64.exe> /uninstall /q /norestart" (см. скриншот). UAC выключен. Пытался для пробы удалять ключи, пытался запустить "сквозняком" с ключами "
/! /install /quiet /norestart", пытался жестко задавать папку распаковки и отказываться от переменных, пытался даже распаковать в одно место, а запускать из другого, куда предварительно был положен нужный файлик - всегда на выходе ошибка с отказом в доступе... Распаковка проходит штатно, а вот запуск сталкивается с ошибкой. Причем только при запуске другим установщиком. Есть какое-то ограничение на запуск sfx-архива сторонней программой? Или еще что? Есть идеи, как это побороть?