After upgrading UD from 2.2 to 2.3 running in IIS all of the dashboards are stopped and when I try to start any of them I am getting “Dashboard x: Request failed with status code 500” . When I revert to 2.2 everything is fine.
fail: Universal.Server.Services.DashboardManager[0]
Dashboard process is not running. Dashboard may have crashed or failed to start.
info: UniversalAutomation.JobProcessManager[0]
Starting job using Process.
The native method “grpcsharp_batch_context_recv_status_on_client_error_string” does not exist
Thank you for your reply.
I have a dev server with 2.3 running and a prod server with 2.2
I compared the web.config and they are the same.
The appsettings the only difference I can see is this section also I actually don’t save the appsettings file since I don’t have any custom settings so it may be overwritten .
2.3 has this section were the 2.2 install doesn’t have it.
“Scope”: “openid profile groups”,
“GetUserInfo”: true
},
“ClientCertificate”: {
“Enabled”: “false”
You’re the second person to mention this issue. I’m looking into it. The error message indicates that it’s failing to load a key file used to communicate between the Universal Server and the external PowerShell processes.
Can you give me a little more information about your environment?
Hosting Method
Operating System
.NET Framework Version (if using Windows PowerShell)
EDIT: I’d also be open to a Zoom call to take a look at your environment.
Can you do me a favor and try to delete everything in that directory except the web.config and place the 2.3 application files in there?
I wonder if there is a mismatch happening because a file that doesn’t exist in 2.3 is still there from the 2.2.1 install. I’m trying that myself to see if I can reproduce this that way.
If this is still happening after that, let’s schedule a call for later today or tomorrow.
EDIT: Maybe not the issue. It is still working in my environment after copying over the top.
In case it is helpful, this is what I use when upgrading (just modify some of the top level variables and insert your own AppPool/Website names):
### Below script assumes you copied your production 'web.config' and 'appsettings.json' files
### and overwrote the default versions in $UpgradeFiles. For example, your custom/production
### web.config and appsettings.json are already in the '2.3.1_Modified' directory referenced below
### NOTE: POWERSHELL SESSION MUST BE RUN AS ADMINISTRATOR ###
# Define folders for various upgrade activities
$ProductionWebsite = 'C:\PowerShellUniversal\Website' # IIS website folder
$ProductionPSUFolder = "$env:ProgramData\UniversalAutomation" # Path to PSU UA folder
$UpgradeFiles = 'C:\Users\User01\Desktop\2.3.1_Modified' # Holding place for upgrade files
$TempBackup = 'C:\Users\User01\Desktop\PSU_Bkup' # Folder to store previous version file (website, DB, etc.)
# Unblock all upgrade files
Get-ChildItem $UpgradeFiles -Recurse | ForEach-Object { Unblock-File $_.FullName }
# Setup backup folders if non-existent
$SubFolders = @('Website','UniversalAutomation')
If(-Not (Test-Path $TempBackup)){
New-Item $TempBackup -ItemType Directory | Out-Null
} Else {
Remove-Item "$Tempbackup\*" -Recurse -Force # Cleanup any pre-existing folders/files
}
# Check for subfolder targets and create them if not found
Foreach($Entry in $SubFolders){
$FolderPath = Join-Path $TempBackup $Entry
If (-Not(Test-path $Folderpath)){
New-Item $FolderPath -ItemType Directory | Out-Null
}
}
# Stop PSU IIS related dependencies
$AppPool = '<PSU AppPool Name>'
$Website = '<PSU Website Name>'
Stop-WebAppPool -Name $AppPool
Stop-Website -Name $WebSite -Confirm:$False
# Check/Kill process if it is still running after stopping AppPool
$ProcessName = 'Universal.Server'
If(Get-Process $ProcessName){
Stop-Process $ProcessName -Force
}
# Copy backup files
Copy-Item -Path "$ProductionWebsite\*" -Destination "$TempBackup\Website" -Recurse -Force
Copy-Item -Path "$ProductionPSUFolder\*" -Destination "$TempBackup\UniversalAutomation" -Recurse -Force
# Remove all PSU files from current Website, new files will be copied in next step
Remove-item "$ProductionWebsite\*" -Recurse -Force
# Copy upgrade files to $ProductionWebsite
Copy-Item -Path "$UpgradeFiles\*" -Destination $ProductionWebsite -Recurse -Force
# Start AppPool and Website
Start-WebAppPool -Name $AppPool
Start-Website -Name $WebSite
Obvious disclaimer about test, Test, TEST! before just running the above.