2

我们有一个插件,在安装这个插件时,我们有一个“exe”,它将在中央配置站点添加和部署解决方案(.wsp 文件)。在 Un - 安装插件时,exe 将停用与我们的插件相关的已激活功能,收回解决方案并最终删除解决方案。该插件将安装在所有 Web 前端。

为了执行上述操作,我们可以使用 PowerShell 命令或 SharePoint APIS(因为不推荐使用 STSADM,我不包括在内)。

我可以知道最好的方法吗?以下是我的一些观察

PowerShell 命令:

这也有两种方式

  1. 将 PowerShell 命令传递给 System.Diagnostics.Process

    ProcessStartInfo pInfo = new ProcessStartInfo("<PowerShellExePath>", "<ScriptToExecute or Powershell File Name");
    
    Process process = new Process();
    process.StartInfo = pInfo;
    process.Start()
    
  2. 运行空间 API

        Runspace runspace = RunspaceFactory.CreateRunspace(InitialSessionState.CreateDefault());
        runspace.Open();
        PowerShell powerShellCommand = PowerShell.Create();
        powerShellCommand.Runspace = runspace;
        powerShellCommand.AddScript("Add-PsSnapin Microsoft.SharePoint.PowerShell");
        powerShellCommand.AddScript(script);
    
        powerShellCommand.Invoke<string>();
    

SharePoint API

Microsoft.SharePoint.Administration.SPFarm.Local.Solutions.Add 或 Microsoft.SharePoint.Administration.SPFarm.Local.Solutions.Remove。

感谢和问候,

卡莱。

4

1 回答 1

0

您不需要 EXE 即可运行 PowerShell 脚本。只需将脚本保存在文件中(例如 MyScript.ps1)并在 SharePoint PowerShell 控制台中运行它。正如上面评论中所建议的,您可以从脚本中调用 SharePoint cmdlet(例如 Add-SPSolution)来部署 WSP 并激活这些功能。

将此逻辑打包到 EXE 会增加实施的复杂性,使部署的故障排除复杂化,因此不应被视为最佳实践。

于 2014-10-22T07:24:24.507 回答