Co-locate the two cockpit-pod projects into a single repository:
- Console/ : TeslaConsole, the net48 WinForms operator console (decompiled
reconstruction) plus its differential + catalog test suite.
- Launcher/ : TeslaLauncher, the net6 pod-side Service + Agent rewrite.
Adds a combined TeslaSuite.sln, root README documenting the shared wire
contract (and its current duplication, the main follow-up), and a root
.gitignore. Histories were not preserved per request; this is a fresh start
from the current working state of both projects.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using System.Collections;
|
|
using System.ComponentModel;
|
|
using System.Configuration.Install;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
|
|
namespace TeslaConsole;
|
|
|
|
[RunInstaller(true)]
|
|
public class MigrateIsolatedStorage : Installer
|
|
{
|
|
private IContainer components;
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && components != null)
|
|
{
|
|
components.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
components = new Container();
|
|
}
|
|
|
|
public MigrateIsolatedStorage()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public override void Commit(IDictionary savedState)
|
|
{
|
|
base.Commit(savedState);
|
|
base.Context.LogMessage("Migrating IsolatedStorage");
|
|
string path = base.Context.Parameters["targetdir"];
|
|
string fileName = Path.GetFileName(Assembly.GetExecutingAssembly().CodeBase);
|
|
string text = Path.Combine(path, fileName);
|
|
base.Context.LogMessage("Running \"" + text + "\" /migrateIsoStore");
|
|
using Process process = new Process();
|
|
process.StartInfo.FileName = text;
|
|
process.StartInfo.Arguments = "/migrateIsoStore";
|
|
process.StartInfo.UseShellExecute = false;
|
|
process.StartInfo.CreateNoWindow = true;
|
|
if (!process.Start())
|
|
{
|
|
throw new InstallException("Unable to start IsolatedStorage migrator process.");
|
|
}
|
|
process.WaitForExit();
|
|
if (process.ExitCode != 0)
|
|
{
|
|
throw new InstallException("IsolatedStorage migrator exited with code " + process.ExitCode);
|
|
}
|
|
}
|
|
}
|