Как изменить путь к каталогу установки с помощью командной строки установщика NSIS для нового VLC плеера?

Вопрос или проблема

Я хочу тихо установить NSIS в D:\VLC. Я могу это сделать с помощью старой версии VLC, т.е. VLC 1.1.9. Но я не могу сделать то же самое для VLC 2.0.5.

Вот командная строка, которую я использую

vlc-1.1.9-win32.exe /D=D:\vlc\

Результат:

Старый установщик VLC может изменить каталог установки с помощью командной строки

Команда для 2.0.5

vlc-2.0.5-win32.exe /D=D:\vlc\

Результат:

новый установщик VLC не может изменить каталог установки с помощью командной строки

Я не хочу скачивать исходный код и перекомпилировать с NSIS. Я просто хочу знать, возможно ли изменить каталог установки в новом VLC? И если да, то как?

Вы можете исправить это, зарегистрировав следующий ключ реестра перед запуском установки:
[HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC]
“InstallDir”=”D:\vlc”

Ответ или решение

Если вы сталкиваетесь с проблемой изменения пути установки через командную строку для нового установщика VLC версии 2.0.5, это может происходить из-за различий в настройках установщика между версиями. Приведем трехэтапный подход для решения данной задачи, базирующийся на теории, подкрепленной примерами и практическим применением (TEA).

Теория

NSIS (Nullsoft Scriptable Install System) — это система создания инсталляторов для Windows, которая широко используется благодаря своей гибкости и мощной поддержке скриптов. Она позволяет создавать как простые, так и очень сложные установочные программы. Одна из возможностей — это установка через командную строку с изменением стандартного пути установки.

Однако, несмотря на то, что синтаксис и параметры командной строки у NSIS приблизительно одинаковы в разных версиях, каждый разработчик, создающий инсталлятор, может настраивать скрипты по своему усмотрению, что приводит к различиям в поведении инсталляторов разных версий одного и того же программного обеспечения.

В случае VLC, возможно, произошли изменения в структуре или логике скрипта, которые сделали старый метод непригодным для новой версии.

Пример

Вы уже сталкивались с тем, что параметр /D для версии VLC 1.1.9 корректно задает нужный путь, но в VLC 2.0.5 уже не выполняет данную задачу. В данном случае необходимо учитывать, что архиваторы и инсталляторы могут иметь свои нюансы, которые разработчики могут осознанно менять или ограничивать.

Вот команда, которая работала для старой версии:

vlc-1.1.9-win32.exe /D=D:\vlc\

Эта команда успешно изменяла путь установки на D:\VLC. Однако для новой версии VLC 2.0.5 применив ту же команду:

vlc-2.0.5-win32.exe /D=D:\vlc\

Вы видите, что путь установки остался прежним, игнорируя параметр /D.

Применение

Для решения данной проблемы без необходимости перекомпилирования исходников с помощью NSIS у вас есть несколько решений.

  1. Изменение через системный реестр:
    Согласно предоставленной информации, можно зарегистрировать специфический ключ в системном реестре, что позволит новому установщику «видеть» и использовать нужный путь. Этапы:

    • Откройте редактор реестра Windows (наберите regedit в командной строке или меню «Выполнить»).
    • Перейдите к ветке [HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC].
    • Создайте новый строковой параметр (тип REG_SZ) с именем InstallDir.
    • Установите его значение равным D:\vlc.

    Это даст возможность инсталлятору считывать путь из реестра и использовать его при установке.

  2. Анализ и использование параметров установщика:
    Возможно, для версии VLC 2.0.5 предусмотрены дополнительные параметры для командной строки, которые нужно использовать. Желательно обратиться к официальной документации VLC или к информации о версии инсталлятора, чтобы выяснить возможные новые параметры и синтаксис.

  3. Автоматизация через PowerShell:
    Напишите PowerShell-скрипт, который автоматически вносит изменения в реестр перед запуском инсталлятора:

    Set-ItemProperty -Path "HKLM:\SOFTWARE\VideoLAN\VLC" -Name "InstallDir" -Value "D:\vlc"
    Start-Process "vlc-2.0.5-win32.exe" -ArgumentList "/S"

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

Оцените материал
Добавить комментарий

Капча загружается...