Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


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

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


Ребята, всем привет. Такая проблема

создал батник, который запускаю вручную -- реестр успешно считывается
если запускаю этот же батник через [run] секцию уже в созданном Inno Setup приложении, то исполняется весь код успешно, кроме чтения реестра

Батник делает простое
Смотрит в реестре путь к игре и если есть потом пишет его в файл.
Писать в файл он может всё что угодно через Inno Setup (это проверено и работает)

Короче вот 2 варианта кода чтения ресстра (которые, повторюсь, рабочие и работают если их запускать вручную, но не хотят если запускать из Inno Setup в любом виде)
Код: Выделить весь код
rem Получаем путь к установке Brawlhalla из реестра
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 291550" /v "InstallLocation"') do (
    set "registry=%%b"
)
Код: Выделить весь код
powershell -Command "& { $registryPath = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 291550'; $valueName = 'InstallLocation'; $installLocation = Get-ItemProperty -Path $registryPath -Name $valueName | Select-Object -ExpandProperty $valueName; $iconPath = Join-Path -Path $installLocation -ChildPath 'Brawlhalla.exe'; $appDataPath = [System.Environment]::GetFolderPath('ApplicationData'); $hubFilePath = 'Brawlhalla\hub.omx'; if (Test-Path $hubFilePath) { [xml]$xmlContent = Get-Content -Path $hubFilePath; $iconNode = $xmlContent.SelectSingleNode('//icon'); $iconNode.InnerText = $iconPath; $xmlContent.Save($hubFilePath); } }"

Я также написал код, который проверяет наличие реестра самим Inno Setup установщиком, но мне этот вариант нужен на самый крайний случай. Ведь я хочу динамическое обновление приложения посредством загрузки данных, а не статичный установщик, который надо будет переобновлять с выходом новой версии.

Пробовал запускать с правами админа, но в чём смысл если сам Inno Setup может читать, а батник нет, мне не подходит вариант даже если это заработает.
Также знаю что в 64 версиях внутри Inno Setup нужно писать HKEY_LOCAL_MACHINE_64
я это пробовал и в батнике (думал вдруг связь есть)
но нет, не помогает
Кто справится с первого раза получит 1000₽ по номеру телефона. Кто не с первого 700₽ (под разом подразумевается выдача готового решения)
Спасибо

Отправлено: 10:10, 12-08-2024 | #1087