2014-05-22 116 views
0

我無法找出將Notepad ++的默認安裝路徑更改爲我希望在運行我的Powershell腳本時要安裝的驅動器的參數。我正在嘗試執行無提示安裝,並且無法手動更改它。有誰知道我可以添加什麼參數來將該程序安裝到E:\驅動器上?下面是我的代碼和我在PowerShell中嘗試的內容。我一直在討論很多關於-ArgumentList的參數,以便弄清楚我是否可以將它指向E:\驅動器,但目前爲止還沒有運氣。如何在PowerShell中更改記事本++的默認安裝路徑

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 

回答

0

您確實需要安裝嗎?你在dev站點上有獨立的軟件包,你可以將它複製到任何你想要的地方。至於'酷'的上下文菜單插件,它們很容易手動添加。

下面是你需要採取一些措施來獲得簡要說明這個工作:

  • 讓你的Powershell的複製獨立包裝的 所需的文件夾的內容。

  • 使用PowerShell

    [GUID]生成一個新的GUID :: NewGUID()

  • 寫下GUID變量(所以你可以在以後引用它)。

  • 在HKEY_CLASSES_ROOT \ CLSID下添加GUID條目的方式與添加其他GUID的方式相同。

  • 創建一個子容器InprocServer32的設置

  • InprocServer32的設置(默認)值直接指向NppShell_06.dll(例如期望的 記事本++安裝路徑。 Ç :\ Program Files \ Notepad ++ \ NppShell_06.dll)

  • Add ThreadingModel REG_SZ項並將其值設置爲公寓

  • 設置子容器,設置相應的值 - 爲有效值的 列表,請參考機器與記事本++ 安裝。最 「有趣」 的有 「路徑」 和 「標題」

  • 添加先前生成的子容器 「ANotepad ++」 在HKEY_CLASSES_ROOT 的GUID項* \的shellex \ ContextMenuHandlers \下(默認)

這應該做到這一點。儘管我沒有在我的機器上測試上述內容,但我相當確信這將解決「手動」安裝問題。作爲一個旁註,它可能是值得作爲開發者的建議(或者,作爲一種最好的方式,自己寫!)添加一些靜默安裝配置開關,以便我們不必擔心上述「解決方法」。如果你遇到一些問題,請告訴我。