Frequent Questions and Answers
How strong is the VBA code protection with VbaCompiler for Excel?
Is it possible to recover the VBA source code from a compiled c-language Windows DLL?
Should I distribute the 2 files together, such as *.xlsm + DLL, to my customers?
What are the differences between VbaCompiler for Excel and XCell Compiler?
Can I use both VbaCompiler for Excel and XCell Compiler for my workbook protection?
How can I reduce anti-virus false positives of my compiled workbook or add-in?
How strong is the VBA code protection with VbaCompiler for Excel?
The VBA code protection used by VbaCompiler for Excel is the strongest among all other VBA code protection approaches.
Please read the article with the comparison of different VBA code protection approaches.
Is it possible to recover the VBA source code from a compiled c-language Windows DLL?
Your protected VBA code is converted twice during compilation. The first time the VBA code is converted into C-language code, the second time the MinGW GCC C-compiler compiles the C-code into binary Windows DLL.
It is impossible to recover the VBA code from the Windows DLL file.
Should I distribute the 2 files together, such as *.xlsm + DLL, to my customers?
Yes. You need to distribute both of the files (compiled workbook or add-In, plus the DLL) to your customer’s computer.
Also, you may use our free DoneEx Installer Maker and distribute them as a single EXE installation package file, which will deliver both, the workbook (xls, xlsm, xlsb) or Excel add-in (xla, xlam), and the DLL to your client computer.
With VbaCompiler for Excel v2.0, registered under a Professional license, you now have the ability to generate a single file result, which includes a compiled workbook with an embedded DLL. By utilizing this feature, you will obtain a consolidated, compiled file (either a workbook or an Excel add-in) that you can easily distribute to your customers as a single file. The compiled file will extract the embeded DLL automatically from the compiled workbook upon launch.
What are the differences between VbaCompiler for Excel and XCell Compiler?
The main differences between VbaCompiler for Excel and XCell Compiler are:
1. VbaCompiler for Excel is built to protect VBA code and doesn’t protect cell formulas. However, you may protect formulas by converting them into VBA UDFs (User Defined Functions) before compilation. XCell Compiler is aimed to protect formulas and protect VBA code by using a complex approach based on obfuscation, literal removing, as well as an ‘Unviewable VBA‘ approach.
2. The output of VbaCompiler for Excel is 2 files – workbook or Excel add-in with the same extension as the original file plus a Windows DLL file with the compiled VBA code. XCell Compiler creates a single EXE file.
3. VbaCompiler for Excel can process Excel workbooks, which contains VBA code (xls,xlsm, xlsb files), as well as Excel add-ins (xla, xlam files). XCell Compiler compiles workbooks (xls, xlsx, xlsm, xlsb) only and doesn’t work with Excel add-ins.
Can I use both VbaCompiler for Excel and XCell Compiler for my workbook protection?
Yes, but you need to do that in this specific sequence:
To use both products to protect your workbook, the first thing you need to do is you need to compile your workbook with VbaCompiler for Excel. A critical part of this compilation step is that you should NOT select the ‘Unviewable VBA’ option for VbaCompiler compilation.
After compilation with the VbaCompiler, you need to compile the resulting workbook with the XCell Compiler.
After compiling with both of the products, you need to deliver the resulting files to your customers as a single EXE file. The Windows DLL compiled with VbaCompiler will be delivered to the customer computer inside of the EXE file.
How can I reduce anti-virus false positives of my compiled workbook or add-in?
The first step you need to take is you need to ensure that the reason of the problem is antivirus software. To do that you need temporarily disable antivirus software and then try to run the compiled workbook or add-in. If the problem is gone with the antivirus disabled, that means the reason is indeed the antivirus software false positive detection.
In order to reduce the antivirus software false positives, you need to do the following:
1. The most effective and correct way is to report about your false positive to your antivirus company. You need to send YOUR compiled workbook along with the DLL file to your antivirus program support desk with the subject “False positive” and ask them to fix the error in their product.
They usually fix the problem within 2 to 3 workdays.
2. Most antiviruses have an “Exception” section in their settings, where it is possible to set the exceptions for the path to a compiled workbook and DLL files.
If you do this to the file that is being labeled as a false positive it should resolve the issue.
3. Apply digital signature to the compiled DLL file.
Here are articles which may help to figure out how to apply a digital signature to your DLLs.
Please notice that all advice concerning digital signature signing for EXE files is also suitable for DLL files.
https://msdn.microsoft.com/en-us/library/ms537361.aspx
https://msdn.microsoft.com/en-us/library/8s9b9yaz%28VS.80%29.aspx
https://blog.didierstevens.com/2008/12/31/howto-add-a-digital-signature-to-executables/
https://www.thegeekstuff.com/2010/03/microsoft-digital-signatures/
https://docs.microsoft.com/en-us/office/troubleshoot/excel/digital-signatures-code-signing