Назад | Перейти на главную страницу

Как изменить путь установки по умолчанию для Notepad ++ в тихом / автоматическом скрипте Powershell

Я не могу определить параметры для изменения пути установки по умолчанию C:\Program Files\ Notepad ++ на диск, на который я хочу установить его при запуске сценария PowerShell. Я пытаюсь выполнить автоматическую установку и не могу изменить ее вручную.

Кто-нибудь знает, какие параметры я могу добавить для установки программы в E: водить машину?

Ниже мой код и то, что я пробую в PowerShell. Я много возился с -ArgumentList параметры, чтобы выяснить, могу ли я указать на E: гоняю но пока не повезло. Я также использую это на Windows Server 2012.

function install-Notepadpp()
{
    $install="*PATH*\npp.6.6.2.Installer.exe"
    Start-Process -FilePath $install -ArgumentList '/InstallDirectoryPath:"E:\"','/S'  -Wait -Verb RunAs  
    Write-Host "Notepad++ has been installed." -ForegroundColor Green
}

##### This is Windows calling the function to install the script
install-Notepadpp

Программа установки Notepad ++ использует систему установки NSIS. Для этого вы можете использовать его переключатели по умолчанию.

http://nsis.sourceforge.net/Which_command_line_parameters_can_be_used_to_configure_installers

например: npp.6.6.8.Installer.exe / S / D = d: \ software \ npp

Примечание. Параметр / D не поддерживает кавычки.

Правда, хороший обходной путь @Koliat, но я разобрался. Я вошел в реестр и экспортировал те файлы .reg, которые содержали пути по умолчанию, в C: \ и изменил их все на E :. Затем я поместил все те файлы .reg, которые я экспортировал, в главный файл .reg, а затем вызвал его через свой сценарий.

Строка скрипта была:

regedit.exe /S nMaster.reg 

Спасибо за вашу помощь и за то, что подтолкнули меня в правильном направлении в части учета реестра.

Вам действительно нужна установка? У вас есть отдельный пакет на сайте разработчиков, вы можете копировать его куда угодно. Что касается «крутых» надстроек контекстного меню, их достаточно просто добавить вручную.

Ниже приводится краткое описание шагов, которые необходимо предпринять, чтобы это сделать:

  • Попросите Powershell скопировать содержимое автономного пакета в нужную папку.

  • Создайте новый GUID с помощью Powershell

    [guid] :: NewGUID ()

  • Запишите GUID в переменную (чтобы вы могли ссылаться на него позже).

  • В HKEY_CLASSES_ROOT \ CLSID \ добавьте запись GUID таким же образом, как и остальные GUID.

  • Создать подконтейнеры InprocServer32 и Настройки

  • в InprocServer32 установить (По умолчанию) укажите желаемый путь установки Notepad ++, указывающий непосредственно на NppShell_06.dll (например, C: \ Program Files \ Notepad ++ \ NppShell_06.dll)

  • Добавить ThreadingModel REG_SZ и установите для него значение Квартира

  • в Настройки subcontainer, установите значения соответственно - для получения списка допустимых значений обратитесь к машине с установленным Notepad ++. Самые "интересные" - "Путь" и "Заголовок".

  • Добавьте созданную ранее запись GUID в подконтейнер «ANotepad ++» в HKEY_CLASSES_ROOT * \ shellex \ ContextMenuHandlers \ в разделе (По умолчанию) стоимость

Это должно сработать. Хотя я не тестировал вышеуказанное на своей машине, я почти уверен, что это решит проблему «ручной» установки. В качестве примечания, это может быть полезно в качестве предложения разработчику (или, что лучше всего, написать его самостоятельно!), Чтобы добавить некоторые переключатели конфигурации тихой установки, чтобы нам не пришлось беспокоиться о вышеупомянутых `` обходных путях '' . Если у вас возникнут проблемы с настройкой, дайте мне знать.