KB: (Re-)Install or repair Microsoft Office dependency to resolve unexpected error or hang
Solution Details
The possible consequences due to some issue related to Microsoft Excel/Access dependency are:
-
an error dialog "You must have Microsoft® Excel installed on your machine to be able to generate a Board Stack Report."
-
an error dialog "Microsoft Excel is not found on your computer, or not properly installed. Please install Excel, or repair existing installation."
In all scenarios either a repair or (re-)install of the dependency is required. Methods vary from one version to another slightly, but here is a link to the latest Microsoft Office support article on how this is done: https://support.microsoft.com/en-us/office/repair-an-office-application-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b
For older versions, you may find a 3rd party web page more helpful with screenshots from specific versions, through a simple web search for "Repairing Excel 2016, 2013, 2010 or 2007". If your version gives you the option for "Quick Repair" or "Online Repair" Choose Online Repair. It will take longer, but it saves you the trouble of having to do it later after the Quick Repair didn't work.
Strictly in generating a BOM in Reports » Bill of Materials, under Export Options section, you may get away without Microsoft Excel installed by specifying Generic XLS as the file format instead. Be sure that path to existing templates is properly configured.
Additionally, if involving database library *.dblib, 64-bit Microsoft Access Database Engine (2016) needs to be installed as a part of Microsoft Office or independently (if Office not installed), which may require a repair or re-install. In particular, if you have 32-bit version of Office and/or inherited Preferences from Altium Designer 17 or older of 32-bit or have gone through some problematic Window Update, the scenarios above apply similarly that you would need to install/repair the 64-bit MS Access engine, which Altium 18 and newer expect.
Please follow the procedure as outlined in our documentation:
https://www.altium.com/documentation/altium-designer/using-database-libraries-with-32-64-bit-altium-design-software-same-computer
You can use ODBC Database Source Administartor (64-bit) to verify Access shows up in the Drivers tab.
Even if you have the 64-bit database engine setup, you may have imported settings for database libraries *.dblib that are using a custom connection string. Custom connection strings need to have a current database provider (ex: "Provider=Microsoft.Jet.OLEDB.12.0".) In such case, just remove any database libraries and add them back again.