Connecting Tech Pros Worldwide Help | Site Map

Parsing Command-Line Arguments with InstallContext

mriedel
Guest
 
Posts: n/a
#1: Nov 16 '05
I'm using the InstallContext class to parse the command-line arguments of a console application. The arguments are in the form of "-file=myFile.txt -flag", and the InstallContext object gives me what I need through the Parameters and IsParameterTrue properties.

However, I can't find any documentation or code samples that confirm that this is an acceptable use of the InstallContext class. I understand the need to use Regex or some other means to parse more complex command-line arguments, but I'm surprised to find no mention of this simple parsing alternative. Is there anything wrong with using InstallContext for this purpose

using System;
using System.Configuration.Install;
using System.Collections.Specialized;

class MyClass
{
public static void Main(string[] args)
{
InstallContext context = new InstallContext(null, args);
StringDictionary parameters = context.Parameters;

string file = parameters["file"];
bool flag = context.IsParameterTrue("flag");

Console.WriteLine("file = {0}", file);
Console.WriteLine("flag = {0}", flag);
}
}
Chris R. Timmons
Guest
 
Posts: n/a
#2: Nov 16 '05

re: Parsing Command-Line Arguments with InstallContext


"=?Utf-8?B?bXJpZWRlbA==?=" <anonymous@discussions.microsoft.com>
wrote in news:D9787DEE-2985-407A-882D-4EBB76BF1D86@microsoft.com:
[color=blue]
> I'm using the InstallContext class to parse the command-line
> arguments of a console application. The arguments are in the
> form of "-file=myFile.txt -flag", and the InstallContext object
> gives me what I need through the Parameters and IsParameterTrue
> properties.
>
> However, I can't find any documentation or code samples that
> confirm that this is an acceptable use of the InstallContext
> class. I understand the need to use Regex or some other means to
> parse more complex command-line arguments, but I'm surprised to
> find no mention of this simple parsing alternative. Is there
> anything wrong with using InstallContext for this purpose?[/color]

I looked at the underlying source code for InstallContext with
Reflector (http://www.aisto.com/roeder/DotNet/). As far as I can
see, InstallContext doesn't produce any side effects, so it looks
safe to use.

Thanks for bringing this class to light. With over 5000 classes in
the framework, it's too easy to overlook a gem like this.

--
Hope this helps.

Chris.
-------------
C.R. Timmons Consulting, Inc.
http://www.crtimmonsinc.com/
Closed Thread