3 Replies Latest reply on May 17, 2017 5:26 PM by Ivana Kolin

    How do you distribute your macros?

    Michael Caulton

      Background:

      I have been writing internal use macros for a few years now but still do not have an elegant way to distribute them. I have been asked to write a couple for another company so have looked into better ways of handling the distribution for the external and future internal projects but after many hours of searching and testing I have not found anything I am happy with.

       

      Currently I am creating them in Visual Studio as external applications and then releasing them internally as an EXE but this has some pitfalls;

      1. Making sure everyone is on the latest revision using this method is difficult.
      2. There is no code protection, ie obfuscation etc.

      Im sure there are more, please feel free to list the things I have not thought about

       

      Current Process:

      I looked at OneClick to handle the auto update side of things but the user facing install end seems ugly and unprofessional. Looked at some other options such as files held on DropBox/Google Drive and doing a version check on startup. While this sounded perfect, I couldn't get it to work as per the tutorials presumably due to changes by DropBox/Google Drive around authentication or similar.

       

      I have tried creating installers using Inno Scripts. This looks professional as an installer and behaves nicely.

       

      Then I tried wrapping and obfuscating the DLLs and EXE together, prior to running it through Inno, to give it a little bit of protection but this was then regularly killed or questioned by antiviruses. Not a good look.

       

      I then bought a SSL certificate from Comodo to strong sign the EXEs in Inno but this didn't really help but did add a level of professionalism.

       

      Help needed, How do you do it?

      Is there a better way to do auto updates?

      How do I protect the code as best as possible from being ripped off?

      How do I not have the antivirus kill the applications? Googling this almost seems impossible!

        • Re: How do you distribute your macros?
          Ivana Kolin

          We use add-in which looks in file with ini file names . This file has security permissions. With this information is company menu and toolbox built customized for each user.

          When we need change macro, then it is easy to use another macro name (data and version prefix) and modify inifile located in same folder as ini. This prevents locked file and when necessary, go back to previous version.

          Example of inifile :

          [Macro]
          sMacro = macroname.swp
          Parts = n
          Assemblies = y
          Drawings = n
          TooltipText = tooltip
          HintstringText = hinttext
          modulename = main
          procedurename = main
          

           

          For executables we use same principle. Directory structure with simple executable, inifile  and sub directories with program versions. Inifile with current version path.