View previous topic :: View next topic |
Author |
Message |
cowdogman
Joined: 21 Mar 2007 Posts: 5
|
Posted: Wed Mar 21, 2007 4:12 am Post subject: Use with Xenocode's Postbuild |
|
|
Hi:
I am using Infralution's licensing code in an app that has been "Dotfuscated" with Premptive's Dotfuscator. I have then used Xenocode's Postbuild to package the my exe with the NET Framework and some dlls--that is, Postbuild generates a new exe that contains my exe and the NET Framework and the designated dlls.
The licensing in the app works fine (that is, it keeps track of time and usage) in the IDE and when I do a plain (non-Postbuild) install of the Dotfuscated app. When I run the app thru Postbuild and then install the app however the licensing function does not work--in that it treats each time the app runs as the first run after install. In other words, it appears that the app can't find the registry entry.
I am not using any obfuscation or other options in Postbuild other than building some dlls and some files and the NET Framework into an exe.
I have used Infralution's dll and have also tried including Infralution's source code in the app (without the dll) with the same result. It's as if a different app is running each time I start my app.
Your product is great--I just need to figure out how to get it to work with Xenocode.
This issue is a major bottlenck right now and any help would be appreciated.
Thanks.
Brad _________________ Brad |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Wed Mar 21, 2007 8:54 am Post subject: |
|
|
Quote: | The licensing in the app works fine (that is, it keeps track of time and usage) in the IDE and when I do a plain (non-Postbuild) install of the Dotfuscated app. When I run the app thru Postbuild and then install the app however the licensing function does not work--in that it treats each time the app runs as the first run after install. In other words, it appears that the app can't find the registry entry |
Is it the licensing that is not working (ie EncryptedLicenseProvider.GetLicense is not returning a license after you have installed one) or is the EvaluationMonitor.DaysInUse method returning the wrong value?
Does postbuild have string encryption functions? If so try turning these off - possibly it is screwing up the registry key names. _________________ Infralution Support |
|
Back to top |
|
|
cowdogman
Joined: 21 Mar 2007 Posts: 5
|
Posted: Wed Mar 21, 2007 12:29 pm Post subject: |
|
|
Sorry, should have been clearer. The licensing itself seems to work fine (if I input a license, I don't get a license prompt the next time I open the app). The problem seems to be with the evaluation monitor. It appears not to be seeing the registry entry and treating the app as having been freshly installed (the FirstUse and LastUse times are the time I open the app and the usage count is zero no matter how many times I open the app).
Postbuild does have encryption, but it's turned off--I'm using Dotfuscator for code protection and the Eval Monitor works fine post-Dotfuscator.
I'm using the code in the Infralution VB example without any changes, except that I have included the code in a Module instead of the main form.
Also, the monitor.Invalid property returns False--the monitor is valid.
Thanks.
Brad _________________ Brad |
|
Back to top |
|
|
cowdogman
Joined: 21 Mar 2007 Posts: 5
|
Posted: Wed Mar 21, 2007 2:07 pm Post subject: |
|
|
I've spent some more time with this issue.
After some experimenting with Postbuild I isolated the problem to Postbuild's embedding of the NET Framework in the Postbuild generated exe. If I removed that option and re-ran Postbuild with all the other options the resulting app could see the Eval Monitor and returned the correct Infralution use data.
I have no idea why embedding NET 2.0 would have this effect--especially given that I have used Postbuild to wrap/embed a number of dlls and other files into the exe without any effect on the Infraluton code/performance. But with NET 2.0 embedded it's like my app can't see the registry setting or the Eval Monitor is resetting each time I run the app.
I really like Postbuild and License Tracker. Any way we can get these to work together?
Thanks. _________________ Brad |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Wed Mar 21, 2007 9:25 pm Post subject: |
|
|
The problem with postbuild tools like xenocode is that they do make it difficult to debug problems that may arise as a result of the postbuild operation itself (because they are designed to prevent debugging). Basically you have to fall back to debugging by message box ie placing message boxes at strategic places through out the code.
I'd start by placing a MessageBox in the CreateBaseKey method to display the baseKeyName variable. Then place another in the FindBaseKeyMethod at the point the key is returned to determine whether the key is found.
Is there some reason why you are using both Dotfuscator and Postbuild. Postbuild has obfuscation functionality - so it seems like overkill to use both (and introduces more opportunities for bugs to be introduced). _________________ Infralution Support |
|
Back to top |
|
|
cowdogman
Joined: 21 Mar 2007 Posts: 5
|
Posted: Thu Mar 22, 2007 5:08 pm Post subject: |
|
|
Thanks. That helps. I'll let you know what I find out.
Brad _________________ Brad |
|
Back to top |
|
|
|