in src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs [187:228]
private List<BackupDir> BackupAllPlugins(UnrealPluginInstallInfo unrealPluginInstallInfo)
{
var result = new List<BackupDir>();
if (unrealPluginInstallInfo.EnginePlugin.IsPluginAvailable)
{
try
{
result.Add(new BackupDir(unrealPluginInstallInfo.EnginePlugin.UnrealPluginRootFolder, TMP_PREFIX));
}
catch
{
var text = "Close all running instances of Unreal Editor and try again\n" +
$"Path to old plugin: {unrealPluginInstallInfo.EnginePlugin.UnrealPluginRootFolder}";
myUnrealHost.myModel.RiderLinkInstallMessage(
new InstallMessage("Failed to backup old RiderLink plugin", ContentType.Error));
myUnrealHost.myModel.RiderLinkInstallMessage(new InstallMessage(text, ContentType.Error));
throw;
}
}
foreach (var installDescription in unrealPluginInstallInfo.ProjectPlugins)
{
try
{
if (installDescription.IsPluginAvailable)
result.Add(new BackupDir(installDescription.UnrealPluginRootFolder, TMP_PREFIX));
}
catch
{
var text = "Close all running instances of Unreal Editor and try again\n" +
$"Path to old plugin: {installDescription.UnrealPluginRootFolder}";
myUnrealHost.myModel.RiderLinkInstallMessage(
new InstallMessage("Failed to backup old RiderLink plugin", ContentType.Error));
myUnrealHost.myModel.RiderLinkInstallMessage(new InstallMessage(text, ContentType.Error));
throw;
}
}
return result;
}