Need some advice

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi, I am nearly finished with a very nice class library that I would like to sell. However, I know absolutely nothing about software deployment.

My product consists of two packages: a stand-alone editing application that is written in C#, and a class library that uses files created by the editor to do fun stuff in a windows forms application.

Here are my questions:

I would like to distribute the editor for free, but since it requires .net, I guess I need to create an installer program. Where can I find out exactly what I need to know to get a dotnet app running on an arbitrary machine?

My class library does alot of things that my target user shouldn't have to worry about. There are many public methods and such that are needed by the editor app, but not needed by the user. How can I hide these things from them so they can focus on the essentials? My goal is to create a clean, simple interface for the user while retaining access to the lower level stuff by tools that I create.

How is licensing usually accomplished for class libraries? What do I have to know about keys and such things? Where can I go for some guidelines for selling class libraries?
 
This is where .NET is rather good - deployment.

You can create a setup project right thru vstudio and create an MSI and
setup.exe right thru visual studio installing whatever you want. It will by
default include dotnetfx.exe (.net setup) in the project BUT disable it.
Adding it actually to the installation is your choice since that will be
about 23.1 MB. So, do you want to ... install it and bloat your installation
..... or not include it, but run the risk of maybe not being able to run your
program.

Also, the class library if it has public functions that the user shouldn't
be able to call - the best way - even for security is to expose to public
only what is required. That is a design change more than a setup issue.

Thirdly, licensing and versioning. .NET assemblies have an Assembly.cs in
them and in there you will see a whole lot of information on those lines -
company name, name, guid (for interop), and a version number. Also, you can
generate a strong named assembly using SN.Exe.

Hope that helped :)

- Sahil Malik
Independent Consultant
You can reach me thru my blog at -
http://www.dotnetjunkies.com/weblog/sahilmalik/



RichM said:
Hi, I am nearly finished with a very nice class library that I would like
to sell. However, I know absolutely nothing about software deployment.
My product consists of two packages: a stand-alone editing application
that is written in C#, and a class library that uses files created by the
editor to do fun stuff in a windows forms application.
Here are my questions:

I would like to distribute the editor for free, but since it requires
..net, I guess I need to create an installer program. Where can I find out
exactly what I need to know to get a dotnet app running on an arbitrary
machine?
My class library does alot of things that my target user shouldn't have to
worry about. There are many public methods and such that are needed by the
editor app, but not needed by the user. How can I hide these things from
them so they can focus on the essentials? My goal is to create a clean,
simple interface for the user while retaining access to the lower level
stuff by tools that I create.
How is licensing usually accomplished for class libraries? What do I have
to know about keys and such things? Where can I go for some guidelines for
selling class libraries?
 
Back
Top