Hi Guys,

I need some light on this. I am a beginner programmer in vb.net but used to be programming in the old days in QBasic, Cobol, Dataflex, Informix, DBase etc.

Now, I am developing/creating software and have hired some online programmers to do the job.

My questions are:

a) Is there a way to provide VB.NET code for continuation of programming but being able to password-protect some parts of the code of some routines so that it can't be viewed??? i.e.: I would like to use another programmer on a project but do not want to give the source unless it can be somehow protected.

b) Is there an easy way to merge/update projects? i.e: replace updated forms or code from one project to an updated copy of the same project. Project a) has updated graphics in the forms while project b) has more code and developed procedures.

c) Do I have to provide a project code in order to get a customized-skin?

d) Is there a way to setup a remote console access so that a programmer can access that computer, code and run the app remotelly without being able to download the entire project on his machine?

Thanks in advance.

a) No. But if you can separate the "sensitive" part of the code to a different project, you could compile it as a DLL and use obfuscator. Even that doesn't provide a total, 100% protection

b) I suggest using version controlling with branch/merge. MS has its SourceSafe but there are very good commercial and even open source alternatives

c)

Do I have to provide a project code in order to get a customized-skin?

Didn't quite get that. VB.NET doesn't have any "skinning control", you have to use a third-party solution or build your own. If you mean changing "normal" visual styles of forms and controls, you can rip off the code part and provide just UI. If a form's "skinning" has to be done programmatically, you can set properties in a single sub and call it from a form's load event

d) Yes and probably no. Remote Desktop comes with XP (and Vista, can't remember). I've used also TeamViewer and there are other solutions too to establish a remote connection. I've never needed to prevent downloading so I don't know for sure if you can do that

To summarize your questions to a single answer: find a suitable version control solution. It should solve all (or most of) those questions you have.

Thanks for answering.

a) No. But if you can separate the "sensitive" part of the code to a different project, you could compile it as a DLL and use obfuscator. Even that doesn't provide a total, 100% protection.

Is there a quick way to separate parts of the code and compile it as DLL? Also, is there an open source ofuscator? any names/links?

b) I suggest using version controlling with branch/merge. MS has its SourceSafe but there are very good commercial and even open source alternatives

Any suggestions, links, names of open source alternatives or at least keywords for search engines?

c) Didn't quite get that. VB.NET doesn't have any "skinning control", you have to use a third-party solution or build your own. If you mean changing "normal" visual styles of forms and controls, you can rip off the code part and provide just UI. If a form's "skinning" has to be done programmatically, you can set properties in a single sub and call it from a form's load event.

How can I rip-out the code in a quick manner? Or should I just export the forms?

To summarize your questions to a single answer: find a suitable version control solution. It should solve all (or most of) those questions you have.

Can you make a recommendation?

Regards

Is there a quick way to separate parts of the code and compile it as DLL?

It depends how you have designed the application. If you have a clear N-tier solution with separate UI part, business logic and (probably) back-end database, you should have a quite easy job. I suppose it's the business logic part that you want to protect. However, it will be a manual job.

Also, is there an open source ofuscator?

Here's two freeware obfuscators, Phoenix Protector and Eazfuscator.NET I'm aware of. Visual Studio ships with Dotfuscator Community Edition.

Any suggestions, links, names of open source alternatives or at least keywords for search engines?

Perhaps the best known open source version control system is Subversion with TortoiseSVN client for Windows environment. You may also take a look at this article: 7 Version Control Systems Reviewed.

How can I rip-out the code in a quick manner? Or should I just export the forms?

I refer to your first question and my answer to it. I would export just forms if you have a separate UI (forms) and "dummy" functionality in the forms for testing purposes.

Can you make a recommendation?

I prefer not to recommend any single solution because I have hands-on experience mainly of MS SourceSafe. You do have special needs and it's better you to read about features and reviews about version control systems. And besides a suitable version control system, you do need a proper N-tier design in your application in order to fulfill all your requests.

Forgot one thing. You have outsourced parts of your project, if I'm right. If this is the case, have you consider legal issues instead of the technical solution. I mean, if you have a legally proper contract with the subcontractor, your code should be 'protected' by the contract and copyrights. I have done a few projects as a subcontractor and always signed a contract that protects all the rights of the main contractor. After that, I've gained access to both 'sensitive' code and sensitive data of my clients.

This article has been dead for over six months. Start a new discussion instead.