Como alterar o caminho de instalação padrão do Notepad ++ no script silencioso / autônomo do Powershell

2

Eu não consigo descobrir o (s) parâmetro (s) para alterar o caminho de instalação padrão C:\Program Files\ do Notepad ++ para a unidade que eu quero instalar quando executo meu script do PowerShell. Eu estou tentando fazer uma instalação silenciosa e não posso alterá-lo manualmente.

Alguém sabe quais parâmetros eu posso adicionar para instalar o programa na unidade E: ?

Abaixo está meu código e o que estou tentando no PowerShell. Eu tenho andado muito com os parâmetros -ArgumentList para descobrir se posso apontar para a unidade E: , mas sem sorte até agora. Estou executando isso no Windows Server 2012 também.

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
    
por user38725 23.05.2014 / 21:21

3 respostas

0

Você realmente precisa de uma instalação? Você tem o pacote autônomo lá no site dev, você pode copiá-lo onde quiser. Quanto aos addons do menu de contexto 'legal', eles são simples o suficiente para serem adicionados manualmente.

Abaixo está a breve descrição dos passos que você precisa seguir para fazer isso:

  • Peça ao seu Powershell para copiar o conteúdo do pacote independente para o pasta desejada.

  • Gere um novo GUID usando o Powershell

    [guid] :: NewGUID ()

  • Anote o GUID para a variável (para que você possa referenciá-lo mais tarde).

  • Em HKEY_CLASSES_ROOT \ CLSID \ add entrada GUID da mesma maneira que o resto de GUIDs são adicionados.

  • Crie um subcontainers InprocServer32 e Configurações

  • No InprocServer32 , defina o valor (Padrão) como desejado Caminho de instalação do Notepad ++ apontando diretamente para NppShell_06.dll (ex. C: \ Arquivos de programas \ Notepad ++ \ NppShell_06.dll)

  • Adicione a entrada ThreadingModel REG_SZ e defina seu valor como Apartment

  • No subcontêiner Configurações , defina os valores adequadamente - para um lista de valores válidos, faça referência a uma máquina com o Notepad ++ instalado. Os mais "interessantes" são "Caminho" e "Título"

  • Adicione a entrada GUID gerada anteriormente ao subcontêiner "ANotepad ++" em HKEY_CLASSES_ROOT * \ shellex \ ContextMenuHandlers \ em (padrão) valor

Isso deve ser feito. Embora eu não tenha feito o teste acima na minha máquina, estou bastante confiante de que isso resolverá o problema de instalação "manual". Como um sidenote, pode valer a pena como uma sugestão para o desenvolvedor (ou, da melhor forma, escrevê-lo por conta própria!) Para adicionar algumas opções de configuração de instalação silenciosa para que não tenhamos que nos preocupar com as "soluções alternativas" acima . Se você tiver problemas para configurar isso, me avise.

    
por 24.05.2014 / 12:50
3

O instalador do Notepad ++ usa o sistema de instalação do NSIS. Você pode aproveitar seus switches padrão para conseguir isso.

link

por exemplo: npp.6.6.8.Installer.exe / S / D = d: \ software \ npp

Nota: A opção / D não suporta aspas

    
por 06.08.2014 / 21:08
0

True, uma boa solução @Koliat, mas eu percebi isso. Entrei no registro e exportei os arquivos .reg que continham os caminhos padrão para o C: \ e os alterei para o E :. Então eu coloquei todos os arquivos .reg que eu exportuei para um arquivo .reg mestre e, em seguida, chamei isso através do meu script.

A linha de script foi:

regedit.exe /S nMaster.reg 

Obrigado pela sua ajuda e me empurrando na direção certa, levando em conta o registro.

    
por 29.05.2014 / 14:44