Author Topic: Tools for deployment. Reccomendations  (Read 18718 times)

0 Members and 1 Guest are viewing this topic.

softempire

  • Guest
Re: Tools for deployment. Reccomendations
« Reply #15 on: December 14, 2015, 10:13:55 AM »
If you app is not very large, I think Inno Setup (http://www.jrsoftware.org/isinfo.php) is a good choice, it's free and powerful and easy to use.

You can also try the MS tool Wix which is a professional tool http://wixtoolset.org/

Keith Brown

  • Swamp Rat
  • Posts: 601
Re: Tools for deployment. Reccomendations
« Reply #16 on: December 14, 2015, 12:30:41 PM »
I use the paid version of Advanced Installer.  They do have a free version which from the features list looks like it would work great for creating bundles but have not tried it personally.


http://www.advancedinstaller.com/feats-list.html
Keith Brown | AutoCAD MEP Blog | RSS Feed
AutoCAD MEP 2014 / Revit MEP 2014 / EastCoast CAD/CAM addon / Visual Studio 2013

mohnston

  • Bull Frog
  • Posts: 305
  • CAD Programmer
Re: Tools for deployment. Reccomendations
« Reply #17 on: December 14, 2015, 03:47:22 PM »
I'm going through this right now.
If you want to offer your app in the Autodesk app store they will build an installer for you. It creates a "bundle" of files in a location that AutoCAD automatically checks every time it starts. For example C:\Users\YourName\AppData\Roaming\Autodesk\ApplicationPlugins.
If you create your own installer (which I did with Inno Setup) you will want to have it install the "bundle" in the same place. This means you will need to understand how that works. Here is one resource. http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f4875533992bfb12ce8a5f915-7e53.htm

They work with a company called BlueSnap for the financial transactions. (or PayPal)
As far as registering/authorizing your software goes there are many (too many) options. None that I found were simple.
I spent as much time writing the registration/authorization code (PHP) as I did writing the program. If you have the resources and can find a competent and trustworthy resource I think it would be worth it.

It does take a while for Autodesk to review/approve your app before it ends up in the store.
It's amazing what you can do when you don't know what you can't do.
CAD Programming Solutions

tetrahidrocannabinol

  • Guest
Re: Tools for deployment. Reccomendations
« Reply #18 on: December 22, 2015, 07:44:10 PM »
. . . .

I just find an app created by a user of this forum  has been "cracked" by a team of Russian crackers.
. . . .

Which one?
It seems that you know more than others: Lavteam, and other teams that are not Russians...

No one can avoid this.

If you have any questions you can send a private message, or you can ask here, I have nothing to hide..


Jeff H

  • Needs a day job
  • Posts: 6144
Re: Tools for deployment. Reccomendations
« Reply #19 on: December 22, 2015, 10:02:23 PM »
When comes to apps for AutoCAD, Autodesk exposes an API that everyone else has same access to so unless you "hack" autoCAD there is really not much you can do that isn't obvious to other developers.

You can decrypt, obfuscate, whatever you want but I promise you by just seeing a demo there are plenty of members here who can tell exactly what your doing. If it is something clever then might need to use it, but would be able to know what your doing without even trying to decompile it.

Did not mean to at the time but I have exposed how two popular paid apps work, but does not change the fact that someone with experience and talent still has to create the app, make it work for like a typical user expects, make it look and feel like a professional add-in, tested for the many different types of users and settings, etc... and have never noticed anyone create any similar apps.

What I have noticed most autocad developers worry about the most of being stolen to me is always been the least valuable aspects of app, and the part that is most valuable is ignored.


Other than the parts of the app can be hacked and used gain access to client information or data, other customers, etc.... I would not worry cause I can't see a 1 to 3 member development team creating enough resources worth spending the time to properly secure.



Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: Tools for deployment. Reccomendations
« Reply #20 on: December 22, 2015, 10:41:30 PM »
. . . .

I just find an app created by a user of this forum  has been "cracked" by a team of Russian crackers.
. . . .

Which one?
It seems that you know more than others: Lavteam, and other teams that are not Russians...

No one can avoid this.

If you have any questions you can send a private message, or you can ask here, I have nothing to hide..

Which app by which developer(s) ??
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

tetrahidrocannabinol

  • Guest
Re: Tools for deployment. Reccomendations
« Reply #21 on: December 27, 2015, 03:11:18 PM »


Which app by which developer(s) ??

xxx

I have answered by private message because I'm not sure that's a good idea to talk about this in public, unless the developer decides otherwise.
I'm sure the author is a member of this, forum, but now I think I was wrong about who is the developer.


Best regards

mohnston

  • Bull Frog
  • Posts: 305
  • CAD Programmer
Re: Tools for deployment. Reccomendations
« Reply #22 on: December 29, 2015, 01:52:30 PM »
About 10 people have downloaded my program so far. (4 from Autodesk and 6 from my site)
6 of those have never run the program.
I assume they are hackers.
I have done my best to secure my program. There is only so much you can do. Especially a one man team.
It's amazing what you can do when you don't know what you can't do.
CAD Programming Solutions

CADbloke

  • Bull Frog
  • Posts: 342
  • Crash Test Dummy
Re: Tools for deployment. Reccomendations
« Reply #23 on: January 03, 2016, 04:16:08 PM »
About 10 people have downloaded my program so far...
How long has it been available?

I think you have an awareness issue - I could use this but I have never heard of it. I like the look of it, I was going to write something similar but now I obviously won't bother. I will have a good look at it when I get some time.

As for awareness, perhaps the AutoCAD store needs a customisable feed of what's new and interesting.

Nice website, btw. You have done your homework on landing pages.

CADbloke

  • Bull Frog
  • Posts: 342
  • Crash Test Dummy
Re: Tools for deployment. Reccomendations
« Reply #24 on: January 05, 2016, 09:00:23 PM »
Wix because it is the standard these days. Autodesk recommend it for RealDwg installations. See the video on this page http://adndevblog.typepad.com/autocad/2015/04/introduction-to-realdwg-net-programming.html from 19 minutes in. 

Wix's creator worked at Microsoft for 13 years. https://www.linkedin.com/in/robmen - from there - "[Wix] is used throughout Microsoft to ship major products like Office, SQL Server, Visual Studio, and the .NET Framework."

Packt publishing have a $5 special on their books at the moment, I bought their 2x Wix books. https://www.packtpub.com/all/?search=wix - I haven't had a good look at them yet because I'm knee-deep in WPF, MVVM Light and MahApps.Metro, amongst other things.

Pluralsight have a course on it at https://app.pluralsight.com/library/courses/wix-introduction/table-of-contents - I have yet to watch it but their standard is consistently high so I expect it to be very useful.

There is also Industrial Strength Wix at http://iswix.codeplex.com/ and Wax, a Visual Studio extension for simplifying a few Wix things at https://visualstudiogallery.msdn.microsoft.com/ab48d869-8f75-4e02-8e7d-577346065aa6

btw, Wax's creator has another great extension for Resx files.

tvCAD is a RealDwg project so I will be using Wix [insert cry for help here].

Next stop - licensing. I am offering monthly subscriptions so I'll need something with an activation server. So far I'm leaning towards CryptoLicensing and LimeLM...unless anyone has another I should take a look at?

MickD

  • King Gator
  • Posts: 3619
  • (x-in)->[process]->(y-out) ... simples!
Re: Tools for deployment. Reccomendations
« Reply #25 on: January 05, 2016, 10:26:57 PM »
LimeLM looks interesting.

I'm going to build my own PHP/MySQL based licensing server later in the year which may or may not be 'strong' enough to do what you need.
I want it to be able to manage a user account where the user can 'check out' a license for a period of time and check it back in when done. Billing will be paid in advance and be based on how long they have the license checked out for, like a phone credit sim if you like. They can check it back in and save some credits when not in use.
Also, I need it to be flexible enough to allow the user to transfer it from machine to machine so they can move it from the desktop to their laptop say.

Let me know if you're interested and I might set up a git project soon to kick it off.
"Short cuts make long delays,' argued Pippin.”
J.R.R. Tolkien

CADbloke

  • Bull Frog
  • Posts: 342
  • Crash Test Dummy
Re: Tools for deployment. Reccomendations
« Reply #26 on: January 06, 2016, 09:40:08 PM »
LimeLM looks interesting.

I'm going to build my own PHP/MySQL based licensing server later in the year...
If you can do ASP.NET there are a few popular alternatives...
https://github.com/hibernating-rhinos/rhino-licensing
https://github.com/dnauck/Portable.Licensing + https://github.com/dnauck/License.Manager
http://www.infralution.com/licensing.html is a commercial product but you can buy the source code too. Also, made in Melbourne. :) They have an active support forum and don't seem to charge an annual support fee. That's my front-runner ATM, along with LimeLM which also has an active support forum.

I'm also looking at Crypto - lots of features but support is 1:1,as it is with http://www.eziriz.com/intellilock.htm.


I want it to be able to manage a user account where the user can 'check out' a license for a period of time and check it back in when done. Billing will be paid in advance and be based on how long they have the license checked out for, like a phone credit sim if you like. They can check it back in and save some credits when not in use.
Also, I need it to be flexible enough to allow the user to transfer it from machine to machine so they can move it from the desktop to their laptop say.
That's an interesting variation on a floating license. It should be relatively straightforward to extend a floating license class of one of the apps that supply source code publicly. .

Let me know if you're interested and I might set up a git project soon to kick it off.
I'm happy to help out with that but I'm looking for something now and something pretty-much over-the-counter, I have enough on my todo list already. I'm evaluating licensing and obfuscation options in a VM at the moment. I'll report my findings here.

MickD

  • King Gator
  • Posts: 3619
  • (x-in)->[process]->(y-out) ... simples!
Re: Tools for deployment. Reccomendations
« Reply #27 on: January 06, 2016, 09:49:06 PM »
I'm using Infralution at the moment and it works well and is very reasonably priced. I'm only using the license key system atm, not the server solution as my web server is Linux (and I'd like to keep it that way :) ).

The only inconvenience is managing user data, I have a site where users register to gain access to downloads and updates and I have to repeat that data in the licensing software on my desktop and keeping all that up to date goes against the grain somewhat.
Mind you, if my problem was being too busy doing this double entry I think that would be a good problem to have :), it just doesn't scale well. My goal is really just to make the licensing system more flexible and swapping over should be pretty straight forward once up and running.

Look forward to your finding, cheers.
"Short cuts make long delays,' argued Pippin.”
J.R.R. Tolkien

CADbloke

  • Bull Frog
  • Posts: 342
  • Crash Test Dummy
Re: Tools for deployment. Reccomendations
« Reply #28 on: January 07, 2016, 08:08:47 AM »
Some late night thoughts on obfuscators...

Obfuscation has some added bonuses
  • any stack trace you get will be junk unless you pay for a tool with a stack-trace mapping decoder.
  • How do you know everything still works? Do your unit tests and integration tests cover everything? Obfuscation can break things like reflection, binding, inter-assembly calls, plugins. You'd have to be very confident with your unit & integration tests (you have these, right?).

I just played with the trials of a few paid obfuscators - they look impressive but I couldn't even get the app (MahApps.Metro demo) to start after any of them had a go at it. You should try them out on a reasonably complicated app that is a known thing and see if it breaks. See how long it takes you to fix it. Then wonder if you fixed everything. Then keep coding. Then... Then ponder if you want to get yourself into that mess just to annoy some kid who wasn't going to pay anyway.

At least with licensing what you see is what you get, the build doesn't change when you deploy it and you have tested it (right?). If they manage to find all your needles in the haystack then email them a medal.

If your support etc. sucks so much that it's not worth paying for then you have bigger problems than script kiddies. Just make it easy for the nice people to do the right thing.


Rightyo...Licensing. Initial impressions on day zero: Infralution Licensing plus their Paypal IPN Server thingy looks very promising. I'd pay the US$10 /month just to run those services on something like Discount ASP ... or Azure or something like that.

There's a lot to like about Crypto Licensing too, particularly the custom floating license lease duration and the heartbeat option. One could buy the source code option from Infralution and bolt that on - it shouldn't be too hard. That's why I keep coming back to Infralution, the source code option (if I want to go there) and the busy support forum.

Portable licensing doesn't do floating licenses and I have already been asked for that. For floating licenses consider that the computer with the lease may be offline so a heartbeat may not be feasible and/or the lease period may need to be user (or admin) specified on a case-by-case basis. Rhino licensing does floating licenses in a basic sense but nobody seems to know how to build it and they're not telling so I did. Well, it's a psake thing and yaaaawn. If you try to build the VS solution first it complains...

1>------ Build started: Project: Rhino.Licensing, Configuration: Debug Any CPU ------
1>CSC : error CS2001: Source file 'C:\Codez\rhino-licensing\Rhino.Licensing\Properties\AssemblyInfo.cs' could not be found.
2>------ Build started: Project: Rhino.Licensing.AdminTool, Configuration: Debug x86 ------
3>------ Build started: Project: Rhino.Licensing.Tests, Configuration: Debug Any CPU ------
3>CSC : error CS2001: Source file 'C:\Codez\rhino-licensing\Rhino.Licensing.Tests\Properties\AssemblyInfo.cs' could not be found.
2>CSC : error CS2001: Source file 'C:\Codez\rhino-licensing\Rhino.Licensing.AdminTool\Properties\AssemblyInfo.cs' could not be found.
4>------ Build started: Project: Rhino.Licensing.AdminTool.Tests, Configuration: Debug Any CPU ------
4>CSC : error CS2001: Source file 'C:\Codez\rhino-licensing\Rhino.Licensing.AdminTool.Tests\Properties\AssemblyInfo.cs' could not be found.
========== Build: 0 succeeded, 4 failed, 0 up-to-date, 0 skipped ==========


Then it blows up when you try to run test and oh f....I'm a bit of a fan of things actually working so I've gone cold on the shininess of OSS for tonight.

...edit... Running the psake.ps1 script builds it and fixes the AssemblyInfo.cs errors.

https://github.com/ferventcoder/rhino-licensing is a later verison of Rhino and the author also wrote Chocolatey which, if you've never used it, is some kind of awesome. .

I'm still torn (ie. wasting brain cycles) between something like
  • FastSpring + LimeLM - more expensive but more hands-off
  • Infralution + self-hosted licensing + downloads - more control, more options (especially if I buy the source and break it), more money in my pocket but more late nights.
[/tt]
« Last Edit: February 19, 2016, 03:53:08 AM by CADbloke »

mohnston

  • Bull Frog
  • Posts: 305
  • CAD Programmer
Re: Tools for deployment. Reccomendations
« Reply #29 on: January 08, 2016, 01:28:24 PM »
I'm using BlueSnap to handle all the financial transactions. They have the ability to have subscription license models.
The way they handle licenses is - you provide a pile of license numbers (GUIDS ?). They dole out one when the customer purchases. An email is sent to the customer (and me) with the license code.
The have a secure api that let's you check if the customer is current with payments. This is a RESTful web service which can be programmed in PHP. (that's what I did)

The Autodesk app store also has the ability to offer subscriptions but I haven't done that yet. I don't know how their system works but I remember reading that they don't take any fees. I don't want to invest the time especially since I get more downloads from my website than I do from their store.

I found that it took as much or more time to work out the commercial side of my program as it did to write the whole thing.
It's amazing what you can do when you don't know what you can't do.
CAD Programming Solutions