Fix default utility not passing supportdir to zip/install-ra. Fix game crash when utility crashes during extract.

This commit is contained in:
Paul Chote
2011-03-30 21:47:48 +13:00
parent e63f9c34f8
commit 1f12306924
2 changed files with 19 additions and 5 deletions

View File

@@ -27,7 +27,7 @@ namespace OpenRA.Utility
Console.WriteLine("Error: Invalid syntax");
return;
}
var zipFile = args[1];
var dest = args[2];
@@ -128,6 +128,7 @@ namespace OpenRA.Utility
Console.WriteLine("Error: Invalid syntax");
return;
}
var section = args[2].Split('.')[0];
var field = args[2].Split('.')[1];
string expandedPath = args[1].Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.Personal));
@@ -138,17 +139,26 @@ namespace OpenRA.Utility
public static void AuthenticateAndExtractZip(string[] args)
{
Util.CallWithAdmin("--extract-zip-inner \"{0}\" \"{1}\"".F(args[1], args[2]));
var cmd = "--extract-zip-inner ";
for (var i = 1; i < args.Length; i++)
cmd += "\"{0}\" ".F(args[i]);
Util.CallWithAdmin(cmd);
}
public static void AuthenticateAndInstallRAPackages(string[] args)
{
Util.CallWithAdmin("--install-ra-packages-inner \"{0}\" \"{1}\"".F(args[1], args[2]));
var cmd = "--install-ra-packages-inner ";
for (var i = 1; i < args.Length; i++)
cmd += "\"{0}\" ".F(args[i]);
Util.CallWithAdmin(cmd);
}
public static void AuthenticateAndInstallCncPackages(string[] args)
{
Util.CallWithAdmin("--install-cnc-packages-inner \"{0}\" \"{1}\"".F(args[1], args[2]));
var cmd = "--install-cnc-packages-inner ";
for (var i = 1; i < args.Length; i++)
cmd += "\"{0}\" ".F(args[i]);
Util.CallWithAdmin(cmd);
}
}
}

View File

@@ -70,7 +70,6 @@ namespace OpenRA.Utility
}
try
{
throw new InvalidOperationException("foo");
var action = WithDefault( null, () => actions[args[0]]);
if (action == null)
PrintUsage();
@@ -80,7 +79,12 @@ namespace OpenRA.Utility
catch( Exception e )
{
Log.AddChannel("utility", "utility.log");
Log.Write("utility", "Received args: {0}", string.Join(" ", args));
Log.Write("utility", "{0}", e.ToString());
Console.WriteLine("Error: Utility application crashed. See utility.log for details");
if (piping)
Console.Out.Close();
throw;
}