Обложка канала

Windows 11, 10, etc - Вадим Стеркин

10333 @sterkin_ru

Авторский канал. Windows 11, безопасность, мобильный мир: • тайное знание • профессиональный ликбез • гадание по логам • срыв покровов • доставка пруфов

Windows 11, 10, etc - Вадим Стеркин

3 года назад
Открыть в
⚙️ Как вычислить недокументированные свойства пакета MSI У MSI есть ключи вроде /qn для тихой установки, а есть свойства вида TARGETDIR для указания папки установки. Вечнозеленый гайд 2009 года с сайта автоустановки быстро вводит в курс дела. Бывает так, что при интерактивной установке вы видите разные опции и хотите автоматизировать их выбор при установке. Но свойства не всегда описаны в документации к программе. 👉 В таком случае поможет полезный трюк: ключ /lp! установщика Windows, записывающий все свойства в журнал. Возьмем для примера PowerShell Core. Алгоритм простой. 1. В PowerShell перейдите в папку с пакетом и выполните команду (с поправкой на версию): .\PowerShell-7.3.2-win-x64.msi /lp! "$env:temp\prop.txt" 2. На каждом экране установщика отметьте все доступные опции, иначе свойства могут не попасть в лог. 3. Пройдите все экраны до последнего и отмените установку полностью - закройте инсталлятор. 4. Откройте файл prop.txt. Свойства записываются заглавными буквами, поэтому сразу бросаются в глаза. На скриншоте в логе отражены семь свойств из GUI - пять с показанного экрана и два со следующего. Желтым выделены свойства, которые не заданы по умолчанию. В логе их значения 0, но при установке следует указывать 1. Пример автоматической установки с прогрессом, но без возможности отмены (/qb-!), и добавлением двух пунктов в контекстное меню. Это одна строка: msiexec.exe /package PowerShell-7.3.2-win-x64.msi /qb-! ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 Кстати, разработчики PowerShell любезно задокументировали свойства своего пакета. Поэтому можно проверить эффективность трюка с записью в журнал. Спойлер: в лог попали все свойства 😎