Launcher now creates a wabbajack-cli.bat file

This commit is contained in:
Timothy Baldridge 2021-07-20 16:16:27 -06:00
parent bb33dea03a
commit b1be4a4847

View File

@ -154,9 +154,12 @@ namespace Wabbajack.Launcher
.OrderByDescending(v =>
Version.TryParse(Path.GetFileName(v), out var ver) ? ver : new Version(0, 0, 0, 0))
.FirstOrDefault();
var filename = Path.Combine(wjFolder, "Wabbajack.exe");
await CreateBatchFile(filename);
var info = new ProcessStartInfo
{
FileName = Path.Combine(wjFolder, "Wabbajack.exe"),
FileName = filename,
Arguments = string.Join(" ", Environment.GetCommandLineArgs().Skip(1).Select(s => s.Contains(' ') ? '\"' + s + '\"' : s)),
WorkingDirectory = wjFolder,
};
@ -181,6 +184,15 @@ namespace Wabbajack.Launcher
}
}
private async Task CreateBatchFile(string filename)
{
filename = Path.Combine(Path.GetDirectoryName(filename), "wabbajack-cli.exe");
var data = $"\"{filename}\" %*";
var file = Path.Combine(Directory.GetCurrentDirectory(), "wabbajack-cli.bat");
if (File.Exists(file) && await File.ReadAllTextAsync(file) == data) return;
await File.WriteAllTextAsync(file, data);
}
private void UpdateProgress(object sender, DownloadProgressChangedEventArgs e)
{
Status = $"Downloading {_version.Tag} ({e.ProgressPercentage}%)...";