See Advanced Topics
The source code is for developers, resellers, and programmers. It is NOT for regular users.
REQUIREMENT: You must first install the Trial Version so you can see the files involved in the installation process. This is the ONLY way to get the initial database tables installed. Then you can later attempt to compile the source code files.
Warning!! Code downloaded using methods listed on this page is NOT suitable for use in a live setting unless you are very careful about version numbers. DO NOT DOWNLOAD THE "HEAD" FOLDER FOR USE WITH LIVE DATA. There is no way to upgrade such a database later. Any database version with the third number (build) of "0" will NEVER be able to be upgraded to any newer version. For example, version 7.2.0 can never be upgraded and should not be used in a live setting. But version 7.0.13 can be upgraded later and is acceptable to use in a live setting because the third number (build) is not zero.
Basic guidelines to get started
From then on, perform an "update" whenever you want to update your folder to the most current version that everyone else is using. You can do this frequently.
In the window above, the HEAD revision is checked. That is what you will always use. What you do not want to use in a live setting is the head folder, or https://opendentalsoft.com:23793/svn/opendental/head. The use of the word head is slightly different in those two cases.
IDE - Most developers work in Visual Studio 2010, 2012, or 2015 on MS Windows computers.
The required version of C# is 7.0. This is the default version of C# in Visual Studio 2017 and 2019.
ResGen.exe Error - You do not need to understand this error. Just know that Open Dental will not compile unless you follow these steps:
DirectX - Open Dental won't compile unless the DirectX SDK is installed. There is a link to the SDK on the Graphics page.
Configuration Manager - Right click on the solution, and pick Configuration Manager. Solution configuration can be either Debug or Release, but Debug should not be used in a live setting because instead of printing, it will show print jobs on the screen. Solution platform should be x86. If you accidentally try to use the Any CPU configuration platform, it will crash when loading. For whichever configuration you choose to run, make sure that all (or most) projects are set to build by checking all the boxes.
Loader Lock - Visual Studio has a bug when working with DirectX. The symptoms are that the program will compile, but will then crash when loading the 3D chart with an error about a LoaderLock detected. The solution is to disable the MDA debugger like this: Main menu, Debug, Windows, Exception Settings, Managed Debugging Assistants, Loader Lock, uncheck. For older versions of VS, disable it like this: Main menu, Debug, Exceptions, Managed Debugging Assistants, Loader Lock, uncheck.
MySQL Connector - Installing this on your development machine will prevent compile errors in the Web Forms project. Even if this is not installed, the solution will compile and the other projects will run fine, but the error messages during compile are annoying. mysql-connector-net-6.3.7.msi Install using the Complete option. If you still get the annoying errors, restart your machine, and possibly uninstall and reinstall the MySQL Connector; it can be flakey. A typical WebForm compile error that this will fix has to do with a "provider store" problem with the ODWebServiceModel.edmx file.
MS Enterprise Library - Not needed. Here for reference. The Web Forms project depends on this library, but you should not need to install this library because we've included the dll's in the project. For reference, the library came from
Error: Mixed mode assembly etc. We have already altered the app.config file for the Open Dental project to handle one of these errors. If you look closely at the remaining error, the filename is SGEN, which is an MS exe that generates a serialization assembly. The quick fix for this error is to right click the OD project, properties, build tab, and at the bottom, change 'generate serialization assembly' to off. This will, however, result in Open Dental running a little slower. A better fix is to find the sgen.exe, for example at "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\sgen.exe. Once you find it, create (or possibly alter) an sgen.exe.config to look like this:
<?xml version ="1.0"?>
Visual Studio Professional 2012: This error can occur when you compile in Release mode with the 'Generate serialization assembly' flag turned on. To fix this error, create an sgen.exe.config file and place it in every folder where there is an sgen.exe file.
Possible sgen.exe locations (note the x86 paths that contain x64 folders):
Hunspell dll - As of v13.1, Open Dental now has spell check functionality. Spell checking is handled by NHunspell. There are three dll files added to the Required dlls folder: NHunspell.dll, Hunspellx86.dll, Hunspellx64.dll. The Hunspellx86.dll and Hunspellx64.dll files must be manually copied into the "...head\OpenDental\bin\Debug" and "...head\OpenDental\bin\Release" folders.
Error: The name 'OpenDentalHelp' does not exist in the current context - In the OpenDental project, remove the OpenDentalHelp reference. Then right-click on "References" -> "Add Reference". Select the Browse dropdown and the Browse button. Locate the OpenDentalHelp.dll within the "Required dlls" folder and click Add.
Error: The name 'OpenDental.Thinfinity' does not exist in the current context - In the OpenDental project, remove the VirtualWeb reference. Then right-click on "References" -> "Add Reference". Select the Browse dropdown and the Browse button. Locate the VirtualWeb.dll within the "Required dlls" folder and click Add."
Button graphics missing. -
As of 20.4 we have a project called Direct2dWrapper. This has a C++ dependency that needs to be installed in order for some graphics in Open Dental to display properly. The user may also need to make sure that the project builds properly and that the DLL is in the appropriate bin location.
See the Programming Resources page, Source Code section for information on installation, distribution, versions, dll's, etc.
Bug Tracker - We have our own bug tracking software that we built. See Previous Versions. The bug tracker is for our own internal use, although everyone can view it. We heavily manage the bug database to keep it very current.
Open Dental Software 1-503-363-5432