none
convert access to exe RRS feed

  • Question

  • i have developed an accounting software with ACCESS 2007 .now i want to sell it.but i am not sure how to use crc algorithm

    with vba to prevent illegal copying of it.i need help.thanks

    Tuesday, January 3, 2017 6:40 AM

Answers

  • Let's start of with the negative part of your question.  It is impossible to completely secure MS Access.  That being said, take a look at http://www.devhut.net/2016/09/01/securing-your-ms-access-database-front-end/ you'll get some good pointers there.

    My next idea would be to look at incorporating a tool such as KeyedAcess from Peter's Software (I have no affiliation, not have I tested it out, but have used other of his tools with great success).



    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Tuesday, January 3, 2017 6:46 PM
  • It won't stop copying, but it will stop the program from working.  

    There's no way to stop copying.  If there was, piracy wouldn't be the issue that it is today.


    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    • Marked as answer by majzad Sunday, January 8, 2017 7:23 AM
    Tuesday, January 3, 2017 7:37 PM
  • If you distribute a compiled version of your database (mde/accde) then the user can never access your code.

    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    • Marked as answer by majzad Monday, January 9, 2017 4:25 AM
    Sunday, January 8, 2017 3:04 PM
  • Hi majzad,

    you had mentioned that ,"or i should use sql server and just forms and queries and vba code remain in access?"

    as you had mentioned earlier your software is ready.

    you are asking for a suggestion to change some part of it and use SQL Server.

    first of all, generally we not use Access as a platform to develop another software.

    we do some programming in Access to perform some redundant day to day task easily without doing much efforts.

    so we can customized it as per requirement.

    or we can use it as beck end.

    here , you are dependent on Access.

    instead of that you can choose to develop Windows Application. then you can create a stand alone exe of your application.

    if it is possible for you then I suggest you to follow this approach.

    if we assume that you get succeed in using SQL with your application then your customer needs to install Access and SQL both. which is also not a good idea.

    Regards

    Deepak 


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by majzad Wednesday, January 11, 2017 6:24 AM
    Monday, January 9, 2017 8:57 AM
    Moderator
  • 1. Create Access Executable, disable shift and hide navigation pane using code.. and register your application with a serial number that is encrypted.. you can encrypt any code using VBA.. like you can create a encrypting and decryption tool in VBA and save the CPU ID of client in application.. if it changes client is unable to run application on any other computer... you can make the application to check it every time it opens. 


    Regards, Wasif Shahid ACCEDER software

    • Marked as answer by majzad Friday, January 20, 2017 6:43 AM
    Thursday, January 19, 2017 8:03 PM

All replies

  • Let's start of with the negative part of your question.  It is impossible to completely secure MS Access.  That being said, take a look at http://www.devhut.net/2016/09/01/securing-your-ms-access-database-front-end/ you'll get some good pointers there.

    My next idea would be to look at incorporating a tool such as KeyedAcess from Peter's Software (I have no affiliation, not have I tested it out, but have used other of his tools with great success).



    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Tuesday, January 3, 2017 6:46 PM
  • I should also say that you cannot convert an Access database into an .exe!

    No matter what format you use mdb, made, accdb, accdb, accdb, ... the end user must have Access to run it.  If you wish to package the database you can include a free copy of the runtime version, but before blindly installing it, you should check to make sure they don't already have the full version installed already.

    If you are wanting to go down the route of creating an installer for your database, then take a look at http://www.devhut.net/2014/06/04/ms-access-package-solution-wizard-is-dead-now-what/ as it lists a few installers you could look at.


    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Tuesday, January 3, 2017 6:52 PM
  • Hi,

    Pardon me but I am not sure a CRC algorithm will "prevent" anyone from copying the file. It will only let the user know if the file they are using has been altered since you originally provided it. If so, I am not sure how a CRC algorithm will help with your goal of stopping anyone from copying your application.

    Just my 2 cents...

    Tuesday, January 3, 2017 7:16 PM
  • But regarding the CRC question, see if this article is of any help.

    Cheers!

    Tuesday, January 3, 2017 7:24 PM
  • It won't stop copying, but it will stop the program from working.  

    There's no way to stop copying.  If there was, piracy wouldn't be the issue that it is today.


    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    • Marked as answer by majzad Sunday, January 8, 2017 7:23 AM
    Tuesday, January 3, 2017 7:37 PM
  • Hi majzad,

    as other community members already suggest you that you can't convert Access to .exe and it needs Access application to run.

    other thing, I am agree with the content of link provided by Daniel  Pineault regarding securing your MS Access Application.

    below is the same content provided in the link that can help you.

    " Another easy process to implement is to have a table in your database that lists all the windows usernames that are allowed running the database.  At startup, retrieve the current user’s network username and then see if it is in your user table.  If it isn’t close the application."

    Regards

    Deepak


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Wednesday, January 4, 2017 1:16 AM
    Moderator
  • if i use an activeX with lock i will need it to prevent substituting the activeX.hardware lock or progrm lock.

    is it possible to use crc algorithm in vba and what algorithm is better?of curse to prevent others from using debuggers and  set breakpoint to debug codes crc can be useful cant be?


    microsoft

    Sunday, January 8, 2017 7:16 AM
  • thanks.the article was good.

    microsoft

    Sunday, January 8, 2017 7:17 AM
  • how can i check  access is installed and what version is it?and is it necessary?

    microsoft

    Sunday, January 8, 2017 7:25 AM
  • is there an easy way to convert vba codes to c# vb.net or vc++ and all the forms reports and queries?


    microsoft

    Sunday, January 8, 2017 7:29 AM
  • No, you can't convert your database.  You'd have to start over.

    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Sunday, January 8, 2017 3:00 PM
  • You'd have to check the registry.  You can create scripts that do this type of thing and run these scripts through you installer.

    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Sunday, January 8, 2017 3:01 PM
  • If you distribute a compiled version of your database (mde/accde) then the user can never access your code.

    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    • Marked as answer by majzad Monday, January 9, 2017 4:25 AM
    Sunday, January 8, 2017 3:04 PM
  • in this case everybody with an especial username can distribute the database with that username.

    microsoft

    Monday, January 9, 2017 4:29 AM
  • if i use a hardware lock is it possible to use a connection string with username and password in access like sql server and read username and pass from it?or i should use sql server and just forms and queries and vba code remain in access?

    microsoft

    Monday, January 9, 2017 5:19 AM
  • Hi majzad,

    you had mentioned that ,"or i should use sql server and just forms and queries and vba code remain in access?"

    as you had mentioned earlier your software is ready.

    you are asking for a suggestion to change some part of it and use SQL Server.

    first of all, generally we not use Access as a platform to develop another software.

    we do some programming in Access to perform some redundant day to day task easily without doing much efforts.

    so we can customized it as per requirement.

    or we can use it as beck end.

    here , you are dependent on Access.

    instead of that you can choose to develop Windows Application. then you can create a stand alone exe of your application.

    if it is possible for you then I suggest you to follow this approach.

    if we assume that you get succeed in using SQL with your application then your customer needs to install Access and SQL both. which is also not a good idea.

    Regards

    Deepak 


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by majzad Wednesday, January 11, 2017 6:24 AM
    Monday, January 9, 2017 8:57 AM
    Moderator
  • thanks for your guidance,but this method has some restriction.the number of table and form that access limits producing accde.even in case of 20 forms and 20 queries 10 table 5 reports as example that is my case.on the other hand i have heard some debuger could resource acde easily.

    microsoft

    Wednesday, January 11, 2017 6:20 AM
  • that right.thanks.prevent other from copying a program is as hard as selling and coding.

    microsoft

    Wednesday, January 11, 2017 6:26 AM
  • " access limits producing accde.even in case of 20 forms and 20 queries 10 table 5 reports"

    This simply is not true.  I have DBs with hundreds of tables, queries, forms,... and I deploy them in the accde format to my end-users without issue.  Obviously, to be able to perform the conversion, the VBA code must not contain any errors, but then again you should always be compiling your code anyways so this should not pose any problem.


    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Wednesday, January 11, 2017 11:10 AM
  • unfortunately access  display an error that the number of table  id that could support is limited.perhaps the amount of vba code is very large.any idea?

    microsoft

    Friday, January 13, 2017 4:31 AM
  • Could you post the exact error message and number please.

    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Friday, January 13, 2017 9:36 AM
  • it is not an error .it is an information that says access  was unable to create accde mde ade file.and the access engine can only create a maximum of 2048 open tableid at one time.


    microsoft

    Saturday, January 14, 2017 6:10 AM
  • i read the article.but would you mind tell how to read a part of memory that access databse  is running and calculate crc for it to prevent debuger from putting breakpoint and resource the code.with some code example.

    microsoft

    Saturday, January 14, 2017 6:13 AM
  • sometimes the accde does not work.for example button on the form does not work.why should  be done?

    microsoft

    Saturday, January 14, 2017 6:26 AM
  • Does your database have a Trusted Location created for it?

     

    I've seen, regarding Access 2016 specifically, people reporting issues after creating an accde without first manually compiling the accdb.  (I'm starting to think there may be another bug in Access 2016)  So always performing a manually compilation of your VBA code just prior to converting your accdb into an accde and see if that doesn't rectify the issue for you. 


    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Saturday, January 14, 2017 12:34 PM
  • i have used access2007 version.how could i create a trusted location on the customer system?can you write some example code?

    microsoft

    Sunday, January 15, 2017 6:32 AM
  • is it possible in vba to check registry?if not what installer has this ability ?

    microsoft

    Sunday, January 15, 2017 6:49 AM
  • With most installer they can run pre and post installation scripts.  So you need to build the scripts as required by your installation process.  So you'd create the necessary script to read the registry.

    Daniel Pineault, 2010-2016 Microsoft MVP
    Professional Support: http://www.cardaconsultants.com
    MS Access Tips and Code Samples: http://www.devhut.net


    Sunday, January 15, 2017 1:14 PM
  • Hi majzad,

    I have find that you are continuing to asking question on this same thread which are not related with the original issue.

    like.

    (1) how could i create a trusted location on the customer system?

    (2) is it possible in vba to check registry?if not what installer has this ability ?

    (3) how can i check  access is installed and what version is it?and is it necessary?

    (4) is there an easy way to convert vba codes to c# vb.net or vc++ and all the forms reports and queries?

    so I suggest you to create a new thread each time if the question is not related with the original issue.

    there is more possibility to get more replies on the new threads.

    also it is helpful for others. because if one thread contain the one issue then it is easy to understand for the members and get the solution.

    if there are so many question on single thread then members can get confused.

    Regards

    Deepak


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, January 16, 2017 6:13 AM
    Moderator
  • ok.you right.

    microsoft

    Monday, January 16, 2017 1:27 PM
  • 1. Create Access Executable, disable shift and hide navigation pane using code.. and register your application with a serial number that is encrypted.. you can encrypt any code using VBA.. like you can create a encrypting and decryption tool in VBA and save the CPU ID of client in application.. if it changes client is unable to run application on any other computer... you can make the application to check it every time it opens. 


    Regards, Wasif Shahid ACCEDER software

    • Marked as answer by majzad Friday, January 20, 2017 6:43 AM
    Thursday, January 19, 2017 8:03 PM
  • thanks.but i need some help code example to do that and test how it works if possible.

    microsoft

    Friday, January 20, 2017 6:43 AM
  • there is ado possibility in access in order to connect to sql server.is not so?

    microsoft

    Saturday, January 21, 2017 7:18 AM
  • Why not simply create linked tables, it is much simpler!

    But, yes, you can use ADO if you wish.  

     

    You truly need to start new threads when asking questions about different subject.


    Daniel Pineault, 2010-2016 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net

    Saturday, January 21, 2017 3:05 PM