2014-05-22 110 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 \下(默认)

这应该做到这一点。尽管我没有在我的机器上测试上述内容,但我相当确信这将解决“手动”安装问题。作为一个旁注,它可能是值得作为开发者的建议(或者,作为一种最好的方式,自己写!)添加一些静默安装配置开关,以便我们不必担心上述“解决方法”。如果你遇到一些问题,请告诉我。