|
Dear Bob,
Ashfield wrote: Can you explain a bit more what you mean? I am, genuinely, puzzled by how, having a licence file which is distributed with your application, can limit the number of concurrent users. Or have I misunderstood what you meant?
You may feel that your intellect is of such an unrivalled caliber that no further contributions from other people could possibly add anything to what you have to say. I may feel differently.
Right from the start, I made it clear that I consider there is one part of implementing license solutions that is tricky, and that is to ensure the integrity of the license information. I then provided an elegant solution to this problem. I don't know if it was exactly what the OP had in mind, but it surely is related to implementing a licensing system and as such potentially useful.
I'll let the OP choose whether or not he wishes to use my input, and if I didn't address his issue precisely then relatively little damage was done. His issue wasn't very clearly defined, at least not to me, and to be honest I have some serious doubts as to how useful your own contribution is to the OP. Perhaps you shouldn't throw stones when in a glass house.
Ashfield wrote: I know this could be reverse engineered, but if you use obfusication etc its relatively safe from most casual users
I am curious to know what makes you elevate this to a better solution than using digital signatures - apart from the fact that it was you who suggested it - since you seem to understand that it would not be secure, and it offers absolutely no advantages to compensate for this drawback when compared to using signatures. I will suggest a possible explanation: your ego does not allow you to ever face up to the fact that you aren't necessarily the most brilliant person in the universe - but this is of course just speculation on my part.
Ashfield wrote: Its all down to how valuable your application is.
Actually, it isn't - rather, it's down to how important it is to make sure the application can enforce license options. An application may well be very valuable without extensive protection - for proof, consider the two most valuable pieces of software ever written (for the owner anyway), Windows and Office, until very recently. Also, even if strong protection is not necessary, a more complicated solution that is less secure does not suddenly become preferrable to a simpler one that is more secure and allows you to keep everything in clear text.
I happen to have spent some time thinking about this for the simple reason that I was charged to invent such a thing a few years ago - and that solution has been for years, and is currently, in use by Europe's second-largest ISV, even if only for select products.
modified on Friday, February 20, 2009 9:37 AM
|
|
|
|
|
Please accept my apologies if you feel I am trying in some way to denigrate your replies, I'm not. I am probably was not very clear in what I meant, I have just not grasped what you mean. I assume (and this is probably where I am wrong) that each installation (i.e. on each PC) there is a copy of the app and a digitally signed licence file. I'm with you to there. Now the bit where I am lost, and you seem to have taken offence at - does this somehow limit the number of users, or is that not part of what you are talking about? I know you said originally about limiting the number of users to be easy (or words to that effect), is the bit about licences more of an insight into a way of securing your app?
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|
Ashfield wrote: Please accept my apologies
Accepted. If I misinterpreted you, I apologize for retorting!
Ashfield wrote: I assume that each installation (i.e. on each PC) there is a copy of the app and a digitally signed licence file.
Relatively little is known about the mysterious "systems" - whether it is clients or servers or complete client-server installations that is meant - so I for one don't know how to help with that. If you notice my other post I'm trying to make the point there that the key is to figure out how the systems can communicate, and we have no way of knowing based on what's provided so far by the OP.
So you're absolutely right, if maybe needlessly sarcastic, that putting a license file, signed or not, onto the computers will not automatically restrict the number of users logged on. So that is indeed not part of what I am talking about.
In our own case, we restrict the number of users that can be simultaneously logged on to any given database, and the code required is very simple since obviously all the apps (web apps in a farm, typically) can share information in the database. I guess I couldn't quite believe that the poster would be asking about how the systems can communicate without saying more about it, so I assumed the real problem was a more general "how can we make such a thing as a license system?" and rolled out from there.
Peace & Love...
|
|
|
|
|
dojohansen wrote: I apologize for retorting!
Also accepted
dojohansen wrote: So you're absolutely right, if maybe needlessly sarcastic,
The sarcasm was unintentional, but on re-reading my post I see why you interpreted it as such. I should make myself clearer!
dojohansen wrote: I guess I couldn't quite believe that the poster would be asking about how the systems can communicate without saying more about it
I could - I've probably read more posts than you
Anyway, on a serious note, I think it would make a good article if you have the time to go into it in a bit more depth as you obviously have some significant experience in this area.
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|
Well obviously it is not possible unless the systems have some means of communication. So based on no more information than "they have 10 systems" it's not really possible to give useful advice.
Among the numerous potential solutions, the processes could communicate via:
- remoting
- sockets
- web services
- accessing a common database
- sattelite link
- gsm modem
- fm radio
and many many others. But there is no magic dust that you can sprinkle on just *any* type of system and have it suddenly communicate with other systems that resemble itself. At least not that I know of.
|
|
|
|
|
Hi,
I have created the setup wizard and added a license dialog but there is no text there. I have provided the .rtf file in license dialog properties .
What is the problem do I have to change some other setup property.
Thank You.
|
|
|
|
|
hi Waheed
Delete the dialog and create it again and attach the rtf, i hoppe its in the Application Folder.
Hope it helps
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswa@its.co.za
www.ITS.co.za
|
|
|
|
|
Sir,
I have repeated this many time. The file is in application folder.
Looking forward for your reply.
Thank You.
|
|
|
|
|
When you Want to Add a License ,The steps are what you told us. but i would like you to go and make sure that you really Browsed to the RTF file and when you clicked away from the Property and come back again if you have seen the name of your RTF. if so then you maybe your RTF is empty. please Check if you are browsing to the Correct RTF file.
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswa@its.co.za
www.ITS.co.za
|
|
|
|
|
Sir,
I am browsing the correct file. The file contains the text and I can see the file name in the licensefile property of the license dialog.
Thank You.
|
|
|
|
|
I dont seem to know what is the Problem. Can you send me the screenshot to my e-mail
vuyiswa@its.co.za
Please send them for all steps that you do. Please show me the contents of your rtf file
Thank you
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswa@its.co.za
www.ITS.co.za
|
|
|
|
|
Sir,
I create a setup. Add a license.rtf file in the application folder of the setup along with the exe and other file. Then in View User interface I add a license dialog to the install tree. In the LicenceFile property I browse the License file in the application. Then build-rebuild but when I run the installer the text is not displayed in the license dialog every thing is there except file text.
My file text now simply contains my name.
Looking forward for your reply.
Thank You.
|
|
|
|
|
hi friends
i design a software with c# that need a professional editor.
but .net does not have a editor. and i think i have to use a component.
i search in some search engine about editor but i didnt find anything .
if someone has a link for download free editor component or else idea please tell me.
thank u.
nobody help you...
you have to help you yourself
and this is success way.
|
|
|
|
|
Is the richtextbox not enough?
|
|
|
|
|
What kind of editor are you looking for?
If you're after a 'code' editor SharpDevelop[^] allow you to rehost their editor inside your application with all features like code completion etc.
Simon
|
|
|
|
|
Hi,
This is from Chandrakanth.
Working on asp.net with C#.
Actually my problem is ...
When i click first time the process is going on... and button1 shold be enable.
Problem is....
if i click the button second time while process going on time, i should display error message.
How can i go for that?
Can any one give me some example on this
Thanks and Regards
Chandrakanth
|
|
|
|
|
Instead, why not disable the button while the execution is going on?
The word "politics" describes the process so well: "Poli" in Latin meaning "many" and "tics" meaning "bloodsucking creatures."
जय हिंद
|
|
|
|
|
why don't you disable the button when the user first clicks ? (and enable it when the processing completes)
Disabling will make the processing implied rather than clicking and then being informed.
|
|
|
|
|
Hi,
From Chandrakanth..
Thnaks for your reply. Actually we shold not disable that button.
'
We have to display error message .
Requirement is like that.
If any suggestions please give me message...
Thanks and Regards
Chandrakanth
|
|
|
|
|
There is nothing Holy about requirements and when they are nonsensical it might be better for everyone if you suggest an improvement to the relevant stakeholders.
That said, all the information you need to code this is to know if the process is running or not. Since only two states are possible, a bool is fitting:
bool running;
With this new state available, you need to set it true when the process starts, false when it ends, and then in your event handler take different courses of action depending on the state of this flag. It really is that simple.
(A general hint: This approach, asking yourself "what information do I need?" first, very often makes solutions to simple problems appear almost automatically.)
void btnRun_click(object sender, EventArgs e)
{
if (btnRun.Tag != null)
MessageBox.Show("Not now you idiot, I'm busy.");
else
ThreadPool.QueueUserWorkItem(new WaitCallback(process));
}
void process(object state)
{
running = true;
try
{
...
}
finally
{
running = false;
}
}
(The "object state" parameter is required to conform to the WaitCallback delegate signature - you may of course also use it to actually pass information to the method if convenient.)
Hope this helps,
Dag
|
|
|
|
|
I had a thought of threads. But I did not felt writing this much wothy enough if enabling disabling alone could do.
The word "politics" describes the process so well: "Poli" in Latin meaning "many" and "tics" meaning "bloodsucking creatures."
जय हिंद
|
|
|
|
|
I have an application that connects to an MDSE database and it was compiled using VS NET 2003. When I run it from the developers workstation it works fine but if I run it from other workstaion I get an error "Object reference not set to an instance of the object" then I install VS NET 2003 and works fine.
I have checked the following:
-Dependencies to ensure DLL required are present on the target
-ODBC configuration
-NET versions
What else can I check?
|
|
|
|
|
Have you traced the point where the application crashes ?? You can put in a MessageBox/Writeline to find the exact point where it crashes
There might be many possibilities,
Does the release executable only crash or both release and debug crash ?
Does it refer to some resource (file etc) whose path is wrongly interpreted ??
|
|
|
|
|
Hai to every one
While sign in our system my C#.NET Program application should be load first without any action taken. And while we minimize it should be minimized in Quick launch.
with regards
sakthi
|
|
|
|
|
Try this[^]. Or you can make a windows service.
The word "politics" describes the process so well: "Poli" in Latin meaning "many" and "tics" meaning "bloodsucking creatures."
जय हिंद
|
|
|
|