Miscellaneous Frequently Asked Questions
What do I do if I do not see the “DoneEx” menu item on the Excel ribbon bar?
How to compile a workbook if a custom ribbon disables the “DoneEx” menu?
What is an “xcfg” file?
Is it possible to decompile an EXE file that has been compiled by XCell Compiler?
Why is the size of the compiled EXE file bigger than the original workbook?
How do I get the Computer ID using VBA code?
What is CID and where do I find it?
How do I open the compiled EXE file?
Why do I not see the icon that I have set for my file and how do I fix it?
How can I restore data from an expired EXE?
Where do I find the EXE file’s expiration date?
What if I need to work with formulas after compilation?
How do I overwrite the value in a cell that had a formula before compilation?
Can I save exe using “save as”?
What is system error #5 and what do I do if I get it?
What is system error #6e and what do I do if I get it?
What is error #53 and what do I do if I get it?
Is Microsoft Excel required to start the compiled EXE file?
How do I fix the VBA syntax error?
How do I grant trusted access to Visual Basic Project?
How can I reduce anti-virus false positives of my compiled EXE file?
What do I do if I do not see the “DoneEx” menu item on the Excel ribbon bar?
If you do not see the “DoneEx” menu item on the Excel ribbon bar, you need to do the following:
For Excel 2007:
1. Click on the Office button
2. Click on the Excel options button
3. Click on the “Add-Ins” button
4. In the “Add-Ins” dropdown menu, choose “disabled items” and then press “Go.
5. In the window that comes up, you need to choose the “XCell Compiler…” from the list of disabled items
6. Click the “Enable” button, if it is not already enabled.
7. Restart Excel.
8. Click on the “Office” button.
9. Click on the “Excel Options” button
10. Click on the “Add-Ins” button
11.In that dropdown box choose the “Com AddIns” item and press “Go”
12. In the window that pops up, you need to check on the “XCell Compiler…” checkbox (if it is unchecked) and click on the “OK” button.
13. Restart Excel one more time and you should finally be able to see the “DoneEx” menu item on the Excel ribbon bar.
For Excel 2010 or higher:
1. Click on the “File” item in the Excel main menu
2. Click on the “Options” item
3. Click on “Add-Ins,”
4. In the dropdown menu click on “disabled items” and press “Go”
5. In the window that pops up, you need to choose the “XCell Compiler…”
6. Click on the “Enable” button, if it is not already enabled.
7. Restart Excel.
8. Click on the “File” item in Excel main menu
9. Click on the “Excel Options” button
10. Click on the “Add-Ins” button
11. In that dropdown box choose the “Com AddIns” item and press “Go”
12. In the window that pops up, you need to check on the “XCell Compiler…” checkbox (if it is unchecked) and click on the “OK” button.
13. Restart Excel one more time and you should finally be able to see the “DoneEx” menu item on the Excel ribbon bar.
How to compile a workbook if a custom ribbon disables the “DoneEx” menu?
To compile workbook when the “DoneEx” Excel menu item is disabled by custom ribbon please follow these steps:
1. You need to add a vba module into your vba project and paste the following piece of code in it:
#If Win64 Then Public Declare PtrSafe Function XCellCompile Lib "SolutionPackerAddIn.dll" Alias "DummyFunc0" () As Long #Else Public Declare Function XCellCompile Lib "SolutionPackerAddIn.dll" Alias "DummyFunc0" () As Long #End If
2. Call this code from the VBA project immediate window:
XCellCompile
OR
Another approach is to compile from the command line by using XCMD.EXE utility.
What is an “xcfg” file?
The XCell Compiler saves your current compilation settings into a file with that has the name of your workbook along with the “.xcfg” extension. This is a simple text file with data in xml format. The.xcfg file is only useful for compilation so it is not necessary for the exe to function properly. However, if you delete this file then the compiler will have to collect the workbook information again, which will take additional time during compilation.
Is it possible to decompile an EXE file that has been compiled by XCell Compiler?
It is impossible to convert the compiled EXE file into the original xlsm file. There is no program in existence (even we don’t have one) to decompile the EXE files compiled with XCell Compiler..
This is restriction goes hand in hand with copy protection security.
If it were possible to convert the compiled EXE file into the original xlsm file then it would be possible to save the protected workbook into an xlsm file and use it without any restriction on any computer.
Please note that, after compilation, the original xls remains unchanged.
Why is the size of the compiled EXE file bigger than the original workbook?
The size of compiled exe includes our runtime calculate engine, which calculates the cells formulas instead of Excel. Also the exe contains many additional resources you may have added, among them there are your icon and splash screen files.
How do I get the Computer ID using VBA code?
Run this code snippet in VBA:
compID = Application.Run("DoneExCommand", 3, "compid")
You can find find details on DoneExCommand in the DoneEx XCell compiler help file in Technical Solutions >> Runtime API Reference >> DoneExCommand section.
What is CID and where do I find it?
“CID” is an acronym for “Computer ID,” which is the unique number generated by XCell Compiler using some hardware and system software details. CID is used to identify the target computer.
For our clients, which are using XCell Compiler:
You may copy the Computer ID from “Excel Main Menu”->“DoneEx”->“Cell Compiler”->“About”
For their clients, which are using the EXE files compiled by XCell Compiler:
If the EXE was compiled with “hardware locking” option on, then the Computer ID number can always be found in the “Application”->“About” menu item.
How do I open the compiled EXE file?
The compiled workbook is an EXE file and, as any other EXE files in the Windows OS, it should be started by either: double left mouse button clicking it, selecting it with a single left mouse button click and pushing button “Enter” on keyboard, or right mouse button clicking on it and left mouse button clicking on the file name on the menu that pops up (which should be at the top of that menu).
The EXE file should NOT be opened by using File >> Open in Excel.
Why do I not see the icon that I have set for my file and how do I fix it?
it’s possible that your icon file contains only one size icon or is missing a size icon. We recommend that you add all icon sizes into your ICO file (16×16, 24×24, 48×48, 64×64, 96×96, 72×72, 128×128, 256×256). Windows uses different sizes of your EXE icon in different situations and acquires them all from the same ICO file. If certain size is not found, then Windows shows icon by default or empty icon. You may pack different sizes of icons into .ico file with special icon authoring tools (IcoFX for example).
How can I restore data from an expired EXE?
After the date limitation period has expired, the EXE will not start. In this case: there are 2 things that you can do:
1. If you use the limitation period as a standalone option (you didn’t make the registration key for that EXE), and would like to restore the data from expired EXE, you can go to “DoneEx”->“XCell Compiler”->“EXE Options Viewer tool”, where you may load the expired EXE and change the expiration date.
2. If you used the limitation period option alongside the registration key tool, then you just need to make new registration key for this EXE and it will work again.
Where do I find the EXE file’s expiration date?
The data expiration of the EXE file may be found in the “Application About” box.
To find the “Application About” follow these steps:
1. Open the EXE file.
2. Go to the Excel main menu-> “Addins” ->“DoneEx”-> “your exe name”->About
What if I need to work with formulas after compilation?
There are no formulas stored in the cells in the compiled EXE file. All of the formulas are stored in the EXE file in binary format and are unavailable for any updates or changes.
The only way to restore formulas after compilation is explicitly write the formulas down in the cells using your VBA code.
Restoration of the formulas in the cells should look like:
Cell.Formula = “=<some formula here>”
Please note that doing this will make these formulas will be visible and unprotected.
If you open all formulas after compilation, then the content of the workbook may be copied to a new, unprotected workbook. This wordbook will work without any restrictions on any computer, even if you used hardware locking option for your EXE. In another words, the locking to target computer only works with the formula protected feature.
How do I overwrite the value in a cell that had a formula before compilation?
The “Allow to overwrite formula cells” option allows to you to write values into cells where the formulas were before compilation (in the compiled EXE file).
When you select “Allow to overwrite formula cells” option for compilation, then any cell with a formula in the compiled workbook may be overwritten by value.
After that cell has been overwritten, the cell will not calculate because there is NO formula in this cell. It works just like in the original workbook, where you can overwrite formula with some value.
Can I save exe using “Save As”?
The “Save As” only works if you enable it by checking the feature on in the compilation form (“Allow save”).
The compiled workbook may be saved as, but only as a file with the EXE extension only.
So your customers are able to save as many copies of the compiled exe as they want.
Each EXE saved this way keeps the same restrictions (hardware locking, limit usage period and so on) that the original EXE file has.
What is system error #5 and what do I do if I get it?
Windows system error #5 is “Access is denied.”
You may find all list of windows system errors here:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx
The most common reasons you may get Windows system error #5 are:
1. Security software blocks access to compiled EXE. Try to temporarily disable your antivirus to ensure that it has no effect on EXE behavior.
2. The permissions you may have may be too low to access some folders on your computer. Please choose “My Documents” folder as a target path of the EXE in the XCell Compiler compilation form.
3. Third party Excel add-ins may block standard procedures of the XCell Compiler. Try to disable all third party add-ins.
What is system error #6e and what do I do if I get it?
Windows system error #6e is “The system cannot open the device or file specified.”
You may find all list of the Windows system errors here:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx
The most common reasons you may get Windows system error #6e are:
1. Security software blocks access to compiled EXE. Try to temporarily disable your antivirus to ensure that it has no effect on EXE behavior.
2. The permissions you may have may be too low to access some folders on your computer. Please choose “My Documents” folder as a target path of the EXE in the XCell Compiler compilation form.
3. Third party Excel add-ins may block standard procedures of the XCell Compiler. Try to disable all third party add-ins.
What is error #53 and what do I do if I get it?
Error #53 occurs when our run-time xcellstub.dll cannot be accessed.
The most common reasons you may get error #53 are:
1. You are running an old version of the DoneEx XCell Compiler. You need to download and install the latest version of the product.
https://doneex.com/downloads/xcell.zip
(start the exe compiled with the latest version of the product)
2. Security software blocks access to compiled EXE. Try to temporarily disable your antivirus to ensure that it has no effect on EXE behavior.
3. Third party Excel add-ins may block standard procedures of the XCell Compiler. Try to disable all third party add-ins.
4. Excel macro security settings are set to “Disable all macros”. You need to change your macro settings to “Disable all macros with notification”.
Is Microsoft Excel required to start the compiled EXE file?
Yes. While the compiled EXE has it’s own calculation engine (since this is the only way to securely protect formulas in cells), after calculation the compiled EXE needs to display the results of the calculation into Excel’s grid. This is the reason Excel is required.
Here are the system requirements for compiling and running the EXE files.
How do I fix the VBA syntax error?
The DoneEx XCell Compiler makes a compilation of the VBA code by using our VBA compiler. The way how our VBA compiler works is absolutely different from the VBA interpreter which is embedded in Excel. If the VBA code contains syntax errors our VBA compiler interrupts compilation and protected VBA code is not generated. This means that all of the VBA syntax errors have to be fixed in the original VBA code before compilation. This is required for the product to work correctly.
To check for VBA syntax errors, start your XLS workbook in Excel and follow the path:
VBA Project main menu >> Debug >> Compile VBA Project
How do I grant trusted access to Visual Basic Project?
To turn on the VBA project requirement please follow these steps
1.Click on the Office button for Excel 2007 or File button for Excel 2010 and higher
2. Choose Options
3. Choose Trust center
4. Choose Trust center settings
5.Choose Macro Settings
6. Check ON the Trust access to the VBA project object model
How can I reduce anti-virus false positives of my compiled EXE file?
The compiled EXE file, much like any other EXE file on your computer, may be labeled by your antivirus with a false positive. We have made modifications which may reduce the false positives, but we cannot guarantee that there will not be any false positives for EXEs compiled with v2.4.2 and up. If your compiled EXE files are triggering anti-virus false positives, then updating your XCell Compiler to the most recent version can help:
https://doneex.com/downloads/xcell.zip
If your compiled EXE file is still labeled as a false positive by anti-virus software, then you have 3 options if you want to reduce false positives on your compiled exe:
1. The most effective and correct way is to report about your false positive to your antivirus company. You need to send YOUR EXE 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 work days.
2. Most antiviruses have an “Exception” section in their settings where it is possible to set the following exceptions: 1- path to a compiled EXE file, 2 – path to the temporary work folder. The path to the temporarily work folder should be set as the parameter of the EXE start command line, like:
Sample.exe -temp="c:\Users\CurrentUser\Documents\TempFolder"
If you do this to the file that is being labeled as a false positive it should resolve the issue.
3. Apply a digital signature to the EXE.
During the first execution, the antivirus software will consider the EXE file safe because of the signature. When you have finished the first launch session the digital signature will be removed by Windows OS , but antivirus already marked it as safe, so the next time it will accept the EXE file launch as safe without digital signature.
Here are articles which may help to figure out how to apply a digital signature to your EXEs.
http://msdn.microsoft.com/en-us/library/ms537361.aspx
http://msdn.microsoft.com/en-us/library/8s9b9yaz%28VS.80%29.aspx
http://blog.didierstevens.com/2008/12/31/howto-add-a-digital-signature-to-executables/
https://www.thegeekstuff.com/2010/03/microsoft-digital-signatures/
Please note that EXEs compiled with our product are not our property and we cannot digital sign them instead of the author (you) because we do not know what compiled workbook algorithms they may contain and therefore we cannot assure its security and harmlessness.