Error : The path must be absolute. (Parameter 'root') after updating HTML5 server to version 1924 (IIS)

I tried to update HTML5 server from version Master 6973 to 1924 on IIS web server (no Docker), but now I got the following error (.Net Core 5.0.5 Hosting Bundle is already installed):

Application startup exception: System.ArgumentException: The path must be absolute. (Parameter 'root')
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
   at Origam.ServerCore.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) in D:\a\1\s\Origam.ServerCore\Startup.cs:line 247
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
   at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.WebHost.BuildApplication()
crit: Microsoft.AspNetCore.Hosting.WebHost[6]
      Application startup exception
      System.ArgumentException: The path must be absolute. (Parameter 'root')
         at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
         at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
         at Origam.ServerCore.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) in D:\a\1\s\Origam.ServerCore\Startup.cs:line 247
         at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
         at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
         at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
         at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
         at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
         at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
         at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
         at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
         at Microsoft.AspNetCore.Hosting.WebHost.BuildApplication()
Unhandled exception. System.ArgumentException: The path must be absolute. (Parameter 'root')
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
   at Origam.ServerCore.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) in D:\a\1\s\Origam.ServerCore\Startup.cs:line 247
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
   at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.WebHost.BuildApplication()
   at Microsoft.AspNetCore.Hosting.WebHost.StartAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Hosting.WebHostExtensions.RunAsync(IWebHost host, CancellationToken token, String startupMessage)
   at Microsoft.AspNetCore.Hosting.WebHostExtensions.RunAsync(IWebHost host, CancellationToken token, String startupMessage)
   at Microsoft.AspNetCore.Hosting.WebHostExtensions.RunAsync(IWebHost host, CancellationToken token)
   at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host)
   at Origam.ServerCore.Program.Main(String[] args) in D:\a\1\s\Origam.ServerCore\Program.cs:line 46

As you can see (the error message points to Origam.ServerCore/Startup.cs line 247 this seems to be PathToClientApp that has to be an absolute path.

The change was introduced by this commit where we removed the problem where any invalid HTTP request to ORIGAM backend would result in 200 and index.html to be returned. From this point the path to client app has to be an absolute path.

Thank you. I filled absolute path to appsettings.json PathToTheClientApp and now I got new error during runtime:

2021-05-06 09:52:46,417 [1] FATAL Microsoft.AspNetCore.Hosting.WebHost - Application startup exception
System.Collections.Generic.KeyNotFoundException: The given key '1' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Origam.DA.Service.AutoIncrementedIntIndex`1.get_Item(Int32 id) in D:\a\1\s\Origam.DA.Service\FileTracking\ItemTracker.cs:line 395
   at Origam.DA.Service.TrackerSerializationData.OrigamFileSerializedForm.<>c__DisplayClass14_0.<GetOrigamFile>b__0(KeyValuePair`2 entry) in D:\a\1\s\Origam.DA.Service\FileTracking\TrackerSerializationData.cs:line 167
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Origam.DA.Service.TrackerSerializationData.OrigamFileSerializedForm.GetOrigamFile(TrackerSerializationData trackerData, OrigamFileFactory origamFileFactory) in D:\a\1\s\Origam.DA.Service\FileTracking\TrackerSerializationData.cs:line 162
   at Origam.DA.Service.TrackerSerializationData.<>c__DisplayClass18_0.<TransformBack>b__0(OrigamFileSerializedForm serForm) in D:\a\1\s\Origam.DA.Service\FileTracking\TrackerSerializationData.cs:line 101
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Origam.DA.Service.TrackerSerializationData.TransformBack(OrigamFileFactory origamFileFactory) in D:\a\1\s\Origam.DA.Service\FileTracking\TrackerSerializationData.cs:line 99
   at Origam.DA.Service.TrackerSerializationData.GetOrigamFiles(OrigamFileFactory origamFileFactory) in D:\a\1\s\Origam.DA.Service\FileTracking\TrackerSerializationData.cs:line 35
   at Origam.DA.Service.BinFileLoader.LoadInto(ItemTracker itemTracker) in D:\a\1\s\Origam.DA.Service\BinFileLoader.cs:line 140
   at Origam.DA.Service.FilePersistenceIndex.<>c__DisplayClass32_0.<InitItemTracker>b__0() in D:\a\1\s\Origam.DA.Service\FilePersistenceIndex.cs:line 213
   at Origam.Extensions.ReaderWriterLockSlimExtensions.RunWriter(ReaderWriterLockSlim rwLock, Action action) in D:\a\1\s\Origam.Common\Extensions\ReaderWriterLockSlimExtensions.cs:line 35
   at Origam.DA.Service.FilePersistenceIndex.InitItemTracker(TrackerLoaderFactory trackerLoaderFactory, Boolean tryUpgrade) in D:\a\1\s\Origam.DA.Service\FilePersistenceIndex.cs:line 208
   at Origam.Workbench.Services.FilePersistenceService..ctor(IMetaModelUpgradeService metaModelUpgradeService, IList`1 defaultFolders, String pathToRuntimeModelConfig, String basePath, Boolean watchFileChanges, Boolean useBinFile, Boolean checkRules, Boolean tryUpgrade) in D:\a\1\s\Origam.Workbench.Services\FilePersistenceService.cs:line 102
   at Origam.OrigamEngine.FilePersistenceBuilder.CreateNewPersistenceService(Boolean watchFileChanges, Boolean checkRules, Boolean useBinFile) in D:\a\1\s\Origam.OrigamEngine\FilePersistenceBuilder.cs:line 75
   at Origam.OrigamEngine.FilePersistenceBuilder.GetPersistenceService(Boolean watchFileChanges, Boolean checkRules, Boolean useBinFile) in D:\a\1\s\Origam.OrigamEngine\FilePersistenceBuilder.cs:line 50
   at Origam.OrigamEngine.FilePersistenceBuilder.GetPersistenceService() in D:\a\1\s\Origam.OrigamEngine\FilePersistenceBuilder.cs:line 44
   at Origam.OrigamEngine.RuntimeServiceFactory.CreatePersistenceService() in D:\a\1\s\Origam.OrigamEngine\RuntimeServiceFactory.cs:line 91
   at Origam.OrigamEngine.RuntimeServiceFactory.InitializeServices() in D:\a\1\s\Origam.OrigamEngine\RuntimeServiceFactory.cs:line 42
   at Origam.OrigamEngine.OrigamEngine.ConnectRuntime(String configName, Boolean runRestartTimer, Boolean loadDeploymentScripts, IRuntimeServiceFactory customServiceFactory) in D:\a\1\s\Origam.OrigamEngine\OrigamEngine.cs:line 129
   at Origam.ServerCore.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) in D:\a\1\s\Origam.ServerCore\Startup.cs:line 263
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
   at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.WebHost.BuildApplication()

Seems like an error with index.bin file that is not up to date. The best would be to open the model with Architect of the same version as the server so the index.bin file gets recalculated. Another option is to delete the index.bin.

6 posts were split to a new topic: Invalid column name ‘SessionId’

Running same version Architect didn’t help, but deleting index.bin helped