Restrict the upgrade elligibility period

Hello!

I found an older post about the issue described by the title of this topic and I also read the release information, but I cannot seem to find any hint that this issue can be elegantly solved without integrating with Lime LM.

A quick description of the problem:- the application should be upgraded only from within itself using the Automatic Updater control based on some license information that allows the user to upgrade or not.- the user can start the wyUpdate.exe application and the update process would skip the license information checking, therefore allowing the user to successfully update/upgrade his application.- the solution to "hide" the client.wyc file is not viable because of the hackers out there... 🙁

So, if somehow is already possible to not allow the user to use the wyUpdate.exe from outside the application,please tell me how and do not read further... 🙂 else...

A possible solution that I thought of, would be as follows:- the wyBuild would allow the definition of a "special command line parameter" that only the application knows- the "special parameter" would be packed in the client.wyc file- the application would use the Automatic Updater control (or call the wyUpdate.exe) with this "special parameter" and the wyUpdate.exe would then check if this parameter is available in the client.wyc (actually the other way arround: first check if the special param is in the client.wyc and then check the command line).- if the param is in the client.wyc and also in the command line, the update would work, otherwise => error.

This would fix the problem with starting the wyUpdate.exe from outside the application, I think.

I suppose I could implement this by myself (except the part with wyBuild), but I would rather let the wyUpdate.exe update itself on the client using your servers and also would not have to maintain a special version only to do this.

Any thoughts?!

Thanksdam

P.S.: btw, I did not get any answer on the issue I reported on February 16th, 2011, 11:52 am (Startup path after update).

but I cannot seem to find any hint that this issue can be elegantly solved without integrating with Lime LM.

You don't have to use LimeLM, but we have a full example showing how to do this. In other words, we've simplified the entire process for you. If you're already a LimeLM user you can see how to do this by reading the "SaaS and time-limited licensing" article and downloading the source code on your API page.

So, if somehow is already possible to not allow the user to use the wyUpdate.exe from outside the application,please tell me how and do not read further... else...

The way you limit updates is to do it server-side. This way the user can't workaround your limitations on the client-side. In other words: either you send the file or you don't. We mention this in the How to prevent or limit updates article. The article describes how you can use the %urlargs% variable in wyBuild and the -urlargs commandline switch in wyUpdate to send special data to your server. For instance, you can use the "urlargs" variable and arg to send a product key to your server. Add a download site like this:

http://yoursite.com/limit.php?update=%file%&pkey=%urlargs%

Then, you can pass the product key to your server like this:

automaticUpdater1.wyUpdateCommandline = "-urlargs:\"" + TurboActivate.GetPKey() + "\"";

On your sever you can create a script that reads this product key, gets the license data associated with the product key, and if the "update_expires" value is later than today deliver the update file.

So, you don't have to use LimeLM, you can build the whole system yourself. But if you don't want to build it yourself, or your licensing software can't run on your server, then get LimeLM.