在运行我的Powershell脚本时,我无法弄清楚将Notepad ++的默认安装路径C:\Program Files\
更改为我希望它安装到的驱动器的参数。我正在尝试进行静默安装,无法手动更改它。有谁知道我可以添加哪些参数来将程序安装到E:\
驱动器?下面是我的代码以及我在PowerShell中尝试的内容。我用-ArgumentList
参数搞得很多,以确定我是否可以将它指向E:\
驱动器但到目前为止没有运气。
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 :(得分:0)
你真的需要安装吗?你在dev网站上有独立的软件包,你可以在任何你想要的地方复制它。至于'酷'上下文菜单插件,它们很简单,可以手动添加。
以下是完成此操作需要采取的步骤的简要说明:
让您的Powershell将独立包的内容复制到 想要的文件夹。
使用Powershell生成新的GUID
[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条目,并将其'值设置为公寓
在设置子容器中,相应地设置值 - 对于a 有效值列表,请参考带有Notepad ++的机器 安装。最“有趣”的是“路径”和“标题”
将您之前生成的GUID条目添加到子容器“ANotepad ++” 在HKEY_CLASSES_ROOT * \ shellex \ ContextMenuHandlers \下(默认) 值
这应该这样做。虽然我没有在我的机器上测试上述内容,但我相信这将解决“手动”安装问题。作为旁注,作为开发人员的建议(或者,作为一种最好的方式,自己编写它!)来添加一些静默安装配置开关可能是值得的,这样我们就不用担心上面的“变通办法”了。 。如果您遇到一些问题,请告诉我。