次の方法で共有


Project Server ワークフローを展開する

適用対象: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

この記事の内容
Project Server ワークフロー ソリューション パッケージを作成する
ワークフロー ソリューション パッケージをインストールする
ワークフロー ソリューション パッケージをアンインストールする
ワークフロー アセンブリを更新するためのその他の手順
ファーム上のワークフローを構成する

SharePoint ソリューション パッケージを使用して、SharePoint ファーム内の運用サーバーに Microsoft Project Server 2010 のワークフローをインストールできます。ワークフローは、Project Web App のインスタンスごとに個別にアクティブ化できます。

注意

Project Server 2010 で使用できるワークフロー向けのツールがいくつか用意される予定です。これらのツールを使用して、単純な (分岐なし) ワークフローの作成、エンタープライズ プロジェクトの種類 (EPT) のインポートとエクスポート、EPT とワークフローとの関連付け、および Project Server でのワークフローの視覚化を行うことができます。ツールは、MSDN Code Gallery (英語) (https://code.msdn.microsoft.com/) で公開される予定です。

この記事で説明する手順では、「[方法] 分岐ワークフローを作成する」の BranchingWorkflow サンプルを使用しています。ワークフローは、Project Server のテスト インストールにインストールしてテストを行ってから、運用環境のサーバーに展開してください。詳細については、「[方法] Project Server ワークフローをインストールおよびテストする」を参照してください。

この記事は次のセクションで構成されます。

  • Project Server ワークフロー ソリューション パッケージを作成する

  • ワークフロー ソリューション パッケージをインストールする

  • ワークフロー ソリューション パッケージをアンインストールする

  • ワークフロー ソリューションを管理するための完全なスクリプト例

  • ワークフロー アセンブリを更新するためのその他の手順

  • ファーム上のワークフローを構成する

Project Server ワークフロー ソリューション パッケージを作成する

Microsoft Visual Studio 2010 を使用することで、Project Server ワークフロー用の SharePoint ソリューション パッケージ (.wsp ファイル) を簡単に作成できます。ワークフローを開発すると、Visual Studio 2010 は、ワークフロー プロジェクトにフィーチャー フォルダーとパッケージ フォルダーを作成します (図 1)。フィーチャー フォルダーには、既定の Feature1 機能が含まれています。

注意

最上位のフォルダー構造にフィーチャー フォルダーとパッケージ フォルダーが含まれ、ここに SharePoint 機能とパッケージ定義が保存されています。Visual Studio 2010 はフォルダー構造を使用してターゲット コンピューター上の SharePoint ディレクトリと一致させることや SharePoint ソリューション ファイルをビルドすることを行うので、最上位のフォルダー構造は変更できません。

手順 1. ワークフロー ソリューション パッケージを作成するには

  1. Project Server コンピューターで、管理者として Visual Studio 2010 を実行し、Project Server ワークフロー ソリューションを開きます。たとえば、BranchingWorkflow ソリューションを開きます。

    ヒント

    ワークフロー ソリューションを開いて SharePoint ソリューション パッケージを作成する操作は別のコンピューターで行えます。「[方法] Project Server ワークフロー用に Visual Studio 2010 を構成する」で説明されているように、ツールボックスに [Project Server – ワークフロー] タブと [SharePoint Server – ワークフロー] タブを追加するように Visual Studio 2010 を構成しておく必要はありません。ツールボックス タブにワークフロー アクティビティが必要になるのは、アクティビティを追加する必要がある場合のみです。

  2. オプション:   機能のタイトル、説明、または名前を変更します。

    1. フィーチャー フォルダーを展開します。Feature1 を右クリックして、[ビュー デザイナー] をクリックします。

    2. [Feature1.feature] タブの [説明] ボックスに表示されている既定の説明は [自分の SharePoint ワークフロー機能] です。たとえば、この説明を「Branching Workflow example for testing」に変更して保存し、フィーチャー デザイナーを閉じます。

    3. また、既定の [Feature1] 機能の名前も変更できます。ソリューション エクスプローラーで [Feature1] を右クリックして、[名前の変更] をクリックします。[Feature1] ノードの名前を変更すると、Visual Studio はサブノードの名前も変更します。この記事のコードでは、[Feature1] という名前を使用します。

  3. オプション:   項目をパッケージ マニフェストに追加します。たとえば、エンタープライズ プロジェクトの種類 (EPT) のドロップダウン リストまたは Project Web App サイト コレクション機能リストで使用できるイメージまたはアイコンを追加します。

    1. ソリューション エクスプローラーで、BranchingWorkflow プロジェクトを右クリックし、[追加] をポイントして、[SharePoint のマップされたフォルダー] をクリックします。

    2. [SharePoint のマップされたフォルダーの追加] ダイアログ ボックスで、テンプレート フォルダーを展開し、[イメージ] をクリックします。[OK] をクリックします。

    3. ソリューション エクスプローラーで、IMAGES1 フォルダーを右クリックし、[追加] をポイントして、[既存の項目] をクリックし、インポートするイメージが保存されているディレクトリに移動します。たとえば、P14SDK.gif と P14SDK_small.gif を Project Server 2010 SDK ダウンロードからインポートします。

  4. パッケージ ファイルをビルドする前にパッケージの内容を確認します。

    1. ソリューション エクスプローラーで、パッケージ フォルダーを展開し、[Package.package] ノードをダブルクリックして、パッケージ デザイナーを開きます (図 1)。

    2. [Web サーバーをリセットする] チェック ボックスはオフのままにします。パッケージを初めてインストールするときに IIS を再起動する必要はありません。パッケージをアップグレードした場合は、Project Server Queue Service を再起動し、SharePoint Timer Serice を再起動して、手動またはスクリプトによって IIS をリセットできます。

      図 1. Visual Studio 2010 でのパッケージ デザイナーの使用

      Visual Studio 2010 のパッケージ デザイナーの使用

    3. イメージをインポートした場合は、[Package.package] タブで、パッケージに [IMAGES1 (BranchingWorkflow)] 項目とイメージ ファイルが含まれていることを確認します。

    4. [Package.package] タブの下部にある [マニフェスト] をクリックします。[パッケージしたマニフェストのプレビュー] で、マニフェストにワークフロー アセンブリと展開ターゲット、追加したオプション テンプレート ファイル、および機能マニフェストが含まれていることを確認します。たとえば、2 つのオプション イメージ ファイルが含まれている BranchingWorkflow マニフェストは、次のように表示されます。

      <Solution xmlns="https://schemas.microsoft.com/sharepoint/" 
          SolutionId="57e93e21-e17f-4bfa-8630-b0dde64ea029" SharePointProductVersion="14.0">
        <Assemblies>
          <Assembly Location="BranchingWorkflow.dll" DeploymentTarget="GlobalAssemblyCache" />
        </Assemblies>
        <TemplateFiles>
          <TemplateFile Location="IMAGES\P14SDK.gif" />
          <TemplateFile Location="IMAGES\P14SDK_small.gif" />
        </TemplateFiles>
        <FeatureManifests>
          <FeatureManifest Location="BranchingWorkflow_Feature1\Feature.xml" />
        </FeatureManifests>
      </Solution>
      

      別の Project Server コンピューターにワークフロー パッケージをインストールする場合は、機能マニフェストの場所 (たとえば、BranchingWorkflow_Feature1) を把握しておく必要があります。

  5. ソリューション パッケージ ファイルをビルドします。ソリューション エクスプローラーで、[BranchingWorkflow] プロジェクトを右クリックし、[パッケージ] をクリックします。

  6. オプション:   BranchingWorkflow.wsp ファイルの内容を確認します。

    1. Visual Studio ソリューションの bin\Debug サブフォルダーに、BranchingWorkflow.wsp ファイルのコピーを作成します。

    2. ファイル拡張子を .cab に変更し、WinZip を使用して BranchingWorkflow_Copy.cab を開きます。表 1 に、このパッケージ内のファイルとサブディレクトリを示します。

      表 1. ワークフロー ソリューション パッケージ内のファイルとディレクトリ

      名前

      パス

      BranchingWorkflow.dll

       

      manifest.xml

       

      Feature.xml

      BranchingWorkflow_Feature1\

      Elements.xml

      BranchingWorkflow_Feature1\BranchingWorkflow\

      (オプション イメージ ファイル)

      images\

注意

Visual Studio ソリューション内の Feature1.Template.xml ファイルは、Feature 要素に Id 属性がないことを示しています。ただし、[パッケージ] コマンドを実行すると、Visual Studio は、Feature.xml ファイルの作成時に Feature 要素の必須属性を追加します。

BranchingWorkflow.wsp ソリューション パッケージ内にある生成された Feature.xml ファイルに、Feature 要素の Id 属性と Scope 属性が含まれています。

<?xml version="1.0" encoding="utf-8"?>
<Feature xmlns="https://schemas.microsoft.com/sharepoint/" Title="BranchingWorkflow Feature1" 
Description="Branching Workflow example for testing" Id="6de058f5-92bb-4c32-82f3-ac1e1841f89b" Scope="Site">
  <Properties>
    <Property Key="GloballyAvailable" Value="true" />
  </Properties>
  <ElementManifests>
    <ElementManifest Location="BranchingWorkflow\Elements.xml" />
  </ElementManifests>
</Feature>

BranchingWorkflow.wsp ファイルは、インストール対象のその他の Project Server コンピューターにコピーできます。

ワークフロー ソリューション パッケージをインストールする

Windows PowerShell コマンドを使用して、Project Web App サイト コレクションにワークフロー ソリューションをインストールして更新できます。パッケージは、ワークフローを使用できるようにする Project Web App のインスタンスごとにインストールする必要があります。

手順 2. に、ワークフローをインストールするために必要な個々の Windows PowerShell コマンドを示します。ワークフロー パッケージのインストール、削除、または更新を行うスクリプトについては、「ワークフロー ソリューションを管理するための完全なスクリプト例」のセクションを参照してください。

手順 2. ワークフロー ソリューション パッケージをインストールするには

  1. ワークフロー パッケージを別の Project Server コンピューターにコピーします。たとえば、ServerName コンピューターで PSScripts ファイル共有を作成し、BranchingWorkflow.wsp を \\ServerName\PSScripts にコピーします。

  2. ServerName コンピューターで、[スタート] メニューの [Microsoft SharePoint 2010 製品] をクリックし、[SharePoint 2010 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    ヒント

    Windows PowerShell Integrated Scripting Environment (ISE) でスクリプトを編集するか SharePoint コマンドレットを実行する場合は、現在のセッションに SharePoint スナップインを登録するか、または Windows PowerShell プロファイルのいずれかに次のコマンドを追加します。プロファイルの作成および変更の詳細については、Windows PowerShell のヘルプで Windows PowerShell のプロファイルに関する説明を参照してください。次に、コマンドをプロファイルに追加します (コマンドに大文字と小文字の区別はありません)。

    次のコマンドは、[SharePoint 2010 管理シェル] では必要ありません。SharePoint スナップインはすでに追加されています。

    Add-PSSnapin Microsoft.SharePoint.PowerShell; Get-PSSnapin
    
  3. 次のコマンドを実行します。ソリューションが SharePoint ファームにインポートされます。

    Add-SPSolution -LiteralPath C:\PSScripts\BranchingWorkflow.wsp
    

    Add-SPSolution コマンドレットの詳細については、たとえば、Windows PowerShell のコマンド ウィンドウに「Get-Help Add-SPSolution」と入力してください。

    ヒント

    [SharePoint 2010 管理シェル] ウィンドウでこのコマンドを実行すると、アクションを確認するメッセージが表示されます。確認メッセージを非表示にするには、コマンドに -Confirm:$false 引数を追加します。

  4. 次のコマンドは、Project Web App サイト コレクションにソリューションをインストールします。

    Install-SPSolution -Identity BranchingWorkflow.wsp -GacDeployment
    

    注意

    Install-SPSolution コマンドは、SharePoint タイマー プロセスを開始します。インストール プロセスが完了していない場合に、次に続くステップで Enable-SPFeature コマンドを実行すると、エラーが発生します。

  5. 次のコマンドは、ServerName コンピューター上の pwa という名前の Project Web App サイト コレクションでワークフローを使用可能にします。

    Enable-SPFeature -Identity BranchingWorkflow_Feature1 -Url https://ServerName/pwa
    

    Enable-SPFeature コマンドは、機能をアクティブ化します。結果を確認するには、Project Web App の [サイトの設定] ページで [サイト コレクション機能] をクリックします。[機能] ページ (https://ServerName/PWA/_layouts/ManageFeatures.aspx?Scope=Site) に、[BranchingWorkflow Feature1] がアクティブであることが示されています。

  6. Project Web App でワークフロー インスタンスを作成できるようにするには、Project Web App で [サイトの設定] を開き、[ワークフロー設定] をクリックして、[ワークフローの追加] をクリックします。または、次のスクリプトを使用して [ワークフローの追加] ページを開くこともできます。

    $ie = 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
    & $ie "https://ServerName/pwa/_layouts/AddWrkfl.aspx"
    
  7. [ワークフローの追加] ページで、[BranchingWorkflow – BranchingWorkflow] テンプレートをクリックし、名前に「Branching Workflow」と入力して、[OK] をクリックします。

これで Project Web App で Branching Workflow の例を使用できるようになりました。EPT を作成してワークフローを使用するには、「[方法] Project Server ワークフローをインストールおよびテストする」の手順を参照してください。

ワークフロー ソリューションをインストールすると、次の場所にファイルが追加されます。

  • Feature.xml ファイルと Elements.xml ファイルは [Program Files]\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\ ディレクトリにインストールされます。この例では、BranchingWorkflow_Feature1 サブディレクトリを作成します。

  • オプション イメージは [Program Files]\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\IMAGES\BranchingWorkflow\ ディレクトリにインストールされます。

  • BranchingWorkflow.dll アセンブリは、グローバル アセンブリ キャッシュにインストールされます。[Windows]\assembly を確認してください。

ワークフロー ソリューション パッケージをアンインストールする

ソリューション パッケージのアンインストールに使用する Windows PowerShell は、インストール用コマンドレットの対照となるコマンドレットで、逆の順序で実行されます。

手順 3. ワークフロー ソリューション パッケージをアンインストールするには

  1. 次のコマンドを使用してワークフロー機能を無効にします。

    Disable-SPFeature -Identity BranchingWorkflow_Feature1 -Url https://ServerName/pwa
    

    Disable-SPFeature コマンドは機能を非アクティブ化します。結果を確認するには (図 2)、Project Web App の [サイトの設定] ページで [サイト コレクション機能] をクリックして、[機能] ページを開きます (https://ServerName/PWA/_layouts/ManageFeatures.aspx?Scope=Site)。

    図 2. BranchingWorkflow Feature1 がアクティブではないことが示されている [機能] ページ

    BranchingWorkflow Feature1 がアクティブではない

  2. 次のように、ソリューションをアンインストールします。

    Uninstall-SPSolution -Identity BranchingWorkflow.wsp
    
  3. ソリューションを削除します。

    Remove-SPSolution -Identity BranchingWorkflow.wsp
    

    注意

    Uninstall-SPSolution コマンドが、SharePoint タイマー プロセスを開始します。アンインストール プロセスが完了していないと、Remove-SPFeature コマンドで次のエラーが発生します。

    Remove-SPSolution : The solution "branchingworkflow.wsp" has been deployed in the farm. Please retract the deployment before removing the solution. You can also use the -override parameter to forcibly remove the solution, but you will not be able to retract the solution deployment.

  4. Project Web App がワークフロー インスタンスを作成できないようにするには、Project Web App で [サイトの設定] を開き、[ワークフロー設定] をクリックして、[ワークフローの削除] をクリックします。または、次のスクリプトを使用して [ワークフローの削除] ページを開くこともできます。

    $ie = 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
    & $ie "https://ServerName/pwa/_layouts/RemWrkfl.aspx"
    
  5. [ワークフローの削除] ページで、[BranchingWorkflow – BranchingWorkflow] テンプレートに対して [削除] をクリックします。[OK] をクリックします。

前述の 3 つの場所からファイルがアンインストールされます。

ワークフロー ソリューションを管理するための完全なスクリプト例

Install-PJWorkflow.ps1 スクリプトは、ワークフローをインストール、削除、または更新できます。このスクリプトを、たとえば、C:\PSScripts ディレクトリで、Install-PJWorkflow.ps1 という名前のファイルにコピーして保存します。Windows PowerShell ISE エディターでスクリプトを実行または編集するには、手順 2. のステップ 2. を参照してください。

スクリプトを使用するには、管理者として [SharePoint 2010 管理シェル] を実行します。たとえば、次のコマンドを実行して、BranchingWorkflow.wsp パッケージをローカルの Project Server コンピューターにインストールします。Install-PJWorkflow コマンドのバックチック文字 (アクサン グラーブまたは ASCII 96) は、行連結のエスケープ文字です。

cd C:\PSScripts
.\Install-PJWorkflow E:\Project\WorkflowExamples\BranchingWorkflow.wsp `
   https://ServerName/pwa BranchingWorkflow_Feature1 install

引数は名前付きパラメーターなので、コマンドでパラメーター名を使用することもできます。次の例では、–action 名前付きパラメーターを使用します。

.\Install-PJWorkflow E:\Project\WorkflowExamples\BranchingWorkflow.wsp `
   https://ServerName/pwa BranchingWorkflow_Feature1 -action install

注意

Install-PJWorkflow.ps1 スクリプトは、ワークフロー機能が、指定する Project Web App サイトでのみアクティブな場合に動作します。SharePoint ファーム内にワークフローがアクティブなサイトが 2 つ以上ある場合は、ソリューションを取り消す前に両方のサイトで機能を非アクティブ化しておく必要があります。

Start-Sleep コマンドレットは、$sleepTime 変数を使用して、コマンド間のスリープ時間を 5 秒に設定します。Install-SPSolution コマンドレットと Uninstall-SPSolution コマンドレットは、SharePoint タイマー ジョブを開始します。タイマー ジョブが完了していないと、Enable-SPFeature または Remove-SPSolution を実行したときにエラー メッセージが表示されます。スクリプトは、タイマー ジョブを検出し、このジョブが完了するまで待機します。

Windows Internet Explorer が C: ドライブにインストールされていない場合は、$ie 変数の値を変更します。

########################################################################################
## Install-PJWorkflow.ps1
## Windows PowerShell script for installing, removing, and updating a Project Server  
## workflow solution file. Run as administrator.
## Requires that the workflow is active on only one Project Web App site in the farm.
## Arguments:
##   wspFile     --.WSP file name and full path.
##   serverUrl   -- URL of Project Web App.
##   featureName -- Workflow name and SharePoint Feature name, 
##                  for example: MyWorkflow_Feature1.
##   action      -- Specifies whether to install, remove, or update a workflow with 
##                  the same feature name. 
##                  Valid values: install, remove, or update
## Example: 
##   Install-PJWorkflow C:\Test\TestWF.wsp https://server/pwa MyWorkflow_Feature1 install
#########################################################################################

param($wspFile, $serverUrl, $featureName, $action)

Set-StrictMode -version 2.0
[bool]$argErr = $false
[bool]$install = $false
[bool]$remove = $false

# Set the path to Internet Explorer.
$ie = 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
[int]$sleepTime = 5     # Sleep for five seconds.

if ($wspFile -eq $null) 
{ 
    $argErr = $true 
}
else
{
    $inFile = New-Object System.IO.FileInfo $wspFile
    
    if (-not $infile.Exists)
    {
        Write-Error -message "File does not exist: $wspfile" -category InvalidArgument
        $argErr = $true 
    }
}

if ($serverUrl -eq $null) 
{ 
    $argErr = $true 
}
else
{
    if (-not (Get-SPSite $serverUrl))
    {
        Write-Host "Site URL is not valid: $serverUrl"
        $argErr = $true
    }
}

if ($featureName -eq $null) 
{ 
    $argErr = $true 
}

if ($action -eq $null)
{
        Write-Host "No action specified."
        $argErr = $true
}
else
{
    [string]$actionL = $action.ToLower()
    
    switch($actionL)
    {
        { $_ -eq "update" }   { $install = $true; $remove = $true; break }
        { $_ -eq "install" }  { $install = $true; break }
        { $_ -eq "remove" }   { $remove = $true; break }
        default               { Write-Host "Invalid action: $action "; $argErr = $true }
    }
}

if ($argErr)
{ 
    Write-Host "Usage: Install-PJWorkflow wspFile serverUrl featureName -action (update | install | remove)"
    Write-Host "Example: `n`tInstall-PJWorkflow C:\Test\TestWF.wsp https://server/pwa MyWorkflow_Feature1" install
    exit
}

# Wait for the SharePoint timer job name that contains \\"solution-deployment\\".
function Wait4Timer
{    
    Write-Host -NoNewLine "`nFinding timer job"
    
    # The language-dependent display name of the timer job contains \\"Solution Retraction\\". 
    # while (($jd = Get-SPTimerJob | ?{ $_.DisplayName -like \\"*Solution Retraction*\\"+$fileName+\\"*\\" }) -eq $null)
    while (($jd = Get-SPTimerJob | ?{ $_.Name -like "*solution-deployment*" + $fileName + "*" }) -eq $null) 
    {
        Write-Host -NoNewLine .
        Start-Sleep -Seconds 1
    }
    $jdName = $jd.Name
    Write-Host "`njob: $jdName"
    Write-Host -NoNewLine Waiting to finish
    
    while ((Get-SPTimerJob $jdName) -ne $null) 
    {
       Write-Host -NoNewLine .
       Start-Sleep -Seconds 1
    }
    
    Write-Host
    $jd.HistoryEntries | %{ Write-Host job history: $_.Status }
    Write-Host
} # End of function Wait4Timer.

$fileName = $inFile.Name
write-host "Using $fileName; action = $action`n"

if ($remove)
{
    # Remove the workflow feature.
    
    # Set-PSDebug -Step
    
    Write-Host "Running Disable-SPFeature for $featureName on $serverUrl ..."
    Disable-SPFeature -Identity $featureName -Url $serverUrl -Confirm:$false
    Start-Sleep -Seconds $sleepTime
    
    Write-Host "Running Uninstall-SPSolution for $fileName ..."
    Uninstall-SPSolution -Identity $fileName -Confirm:$false
    
    Wait4Timer
    
    Write-Host "Running Remove-SPSolution for $fileName ..."     
    Remove-SPSolution -Identity $fileName -Confirm:$false
    Start-Sleep -Seconds $sleepTime
    
    # Restart services.
    Write-Host "Restarting services ..."

    Restart-Service -DisplayName "SharePoint 2010 Timer"
    Restart-Service -DisplayName "Microsoft Project Server Queue Service 2010"
    Start-Sleep -Seconds $sleepTime
    
    Write-Host "Restarting IIS ..."
    IISReset
    
    # Set-PSDebug -Off
    if (-not $install)
    {
        # Remove the feature in PWA Workflow Settings only if not updating.
        Write-Host "`nRemove the $featureName workflow, by using the browser."
        
        & $ie "$serverUrl/_layouts/RemWrkfl.aspx"
        Read-Host "Press ENTER to continue"
        Write-Host
    }
}

if ($install)
{
    # Install the workflow feature.    
    # Set-PSDebug -Step

    Write-Host "Running Add-SPSolution for $inFile.FullName ..."   
    Add-SPSolution -LiteralPath $inFile.FullName -Confirm:$false
    Start-Sleep -s $sleepTime
    
    Write-Host "Running Install-SPSolution for $fileName ..."
    Install-SPSolution -Identity $fileName -GACDeployment -Confirm:$false

    Wait4Timer
    
    Write-Host "Running Enable-SPFeature for $featureName on $serverUrl ..."
    Enable-SPFeature -Identity $featureName -Url $serverUrl -Confirm:$false
    Start-Sleep -s $sleepTime
    
    # Set-PSDebug -Off
    
    if (-not $remove)
    {
        # Add the feature in PWA Workflow Settings only if not updating.
        Write-Host "Add the $featureName workflow, by using the browser."
        
        & $ie "$serverUrl/_layouts/AddWrkfl.aspx"
        Read-Host "Press ENTER to continue"
    }
}
Write-Host "Completed $action of $fileName"

次に、Install-PJWorkflow.ps1 スクリプトの update オプションを使用している例の [SharePoint 2010 管理シェル] ウィンドウの出力を示します。

PS > .\Install-PJWorkflow C:\PSScripts\BranchingWorkflow.wsp https://ServerName/pwa BranchingWorkflow_Feature1 update
Using BranchingWorkflow.wsp; action = update

Running Disable-SPFeature for BranchingWorkflow_Feature1 on https://ServerName/pwa ...
Running Uninstall-SPSolution for BranchingWorkflow.wsp ...

Finding timer job
job: solution-deployment-branchingworkflow.wsp-0
Waiting to finish...............................
job history: Succeeded

Running Remove-SPSolution for BranchingWorkflow.wsp ...
Restarting services ...
WARNING: Waiting for service 'Microsoft Project Server Queue Service 2010
(ProjectQueueService14)' to finish stopping...
WARNING: Waiting for service 'Microsoft Project Server Queue Service 2010
(ProjectQueueService14)' to finish starting...
WARNING: Waiting for service 'Microsoft Project Server Queue Service 2010
(ProjectQueueService14)' to finish starting...
Restarting IIS ...

Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted
Running Add-SPSolution for C:\PSScripts\BranchingWorkflow.wsp.FullName ...

Name                           SolutionId                           Deployed
----                           ----------                           --------
branchingworkflow.wsp          57e93e21-e17f-4bfa-8630-b0dde64ea029 False
Running Install-SPSolution for BranchingWorkflow.wsp ...

Finding timer job
job: solution-deployment-branchingworkflow.wsp-0
Waiting to finish..........................
job history: Succeeded

Running Enable-SPFeature for BranchingWorkflow_Feature1 on https://ServerName/pwa ...
Completed update of BranchingWorkflow.wsp

ワークフロー アセンブリを更新するためのその他の手順

Project Server コンピューターでワークフロー ソリューション パッケージを再作成して Install-PJWorkflow.ps1 スクリプトを実行する代わりに、グローバル アセンブリ キャッシュ内のアセンブリを手動で置き換えてワークフローを更新することもできます。また、Visual Studio 2010 を使用して開発用コンピューター上でのワークフローの展開および取り消しも行えます。

重要

Visual Studio 2010 を使用してワークフローの展開および取り消しを行う場合は、SharePoint Timer Service および Project Server Queue Service をリセットするカスタム展開を作成する必要があります。詳細については、「Walkthrough: Creating a Custom Deployment Step for SharePoint Projects」を参照してください。

Project Web App のワークフローのインストール、削除、または更新には Install-PJWorkflow.ps1 または同様の Windows PowerShell スクリプトを使用することをお勧めします。

手順 4. ワークフロー アセンブリを手動で更新するには

  1. Project Server Queue Service および SharePoint Timer Service を停止します。

  2. 更新されたワークフロー アセンブリをグローバル アセンブリ キャッシュに追加します。たとえば、[スタート] メニューの [ファイル名を指定して実行] ダイアログ ボックスを開き、[名前] ボックスに「assembly」と入力します。BranchingWorkflow.dll を [assembly] ウィンドウにドラッグします。

  3. Project Server Queue Service と SharePoint Timer Service を開始します。

  4. IIS を再起動します。[コマンド プロンプト] ウィンドウで、iisreset を実行します。

  5. SharePoint ファーム内の各 Project Web App サーバーで、手順 1. ~ 手順 4. を繰り返します。

ファーム上のワークフローを構成する

Project Server を実行しているコンピューターと 1 つ以上の Project Web App サーバーが含まれている SharePoint ファームでは、パフォーマンスやセキュリティ上の理由で、Project Server コンピューター上のフロントエンド Web サービスを無効にできます。その場合、別の Project Web App サーバーのワークフロー構成設定が更新されるまで、ワークフローを開始できません。手順 5. では、フロントエンド Web サービスを無効にし、ワークフロー構成設定を更新する方法を示します。

注意

Project Server コンピューターもフロントエンド Project Web App サーバーとして使用する場合、手順 5. を実行する必要はありません。

手順 5. ファーム上のワークフローを再構成するには

  1. Project Server コンピューター上の Project Web App (フロントエンド Web サービス) を無効にします。SharePoint 2010 の [サーバーの全体管理] ページで、[システム設定] グループの [サーバーのサービスの管理] をクリックします。[サーバーのサービス] ページで、Microsoft SharePoint Foundation Web Application サービスに対して [停止] をクリックします。

    注意

    Project Application Service は、Project Server コンピューター上で実行したままにします。

  2. 別の Project Web App サーバーで、[SharePoint 2010 Management Shell] ウィンドウを開き、次の Windows PowerShell コマンドを実行します。

    $webapp = Get-SPWebApplication -identity http://WebApplication[:port]
    $webapp.UpdateWorkflowConfigurationSetttings()
    

    たとえば、Project Web App サイトの URL が https://ServerName/pwa の場合、–identity パラメーターには https://ServerName を指定します。

  3. ファーム内の各 Project Web App サーバーで、次の作業を行います。

    1. インターネット インフォメーション サービス (IIS) を再起動します。

    2. [サービス] ウィンドウを開き、Microsoft Project Server Events Service 2010Microsoft Project Server Queue Service 2010 を再起動します。

関連項目

タスク

[方法] Project Server ワークフロー用に Visual Studio 2010 を構成する

[方法] 分岐ワークフローを作成する

[方法] Project Server ワークフローをインストールおよびテストする