

Download the ForwardEngineer zip file from the CodePlex archive.Again, if you have a Microsoft Visual Studio Subscription, you can easily get hold of this. Ensure that you have installed Microsoft Visual Studio 2010 with Service Pack 1.

In the steps below, I will explain what you need to do in order to re-generate the setup file and thus be able to install the Forward Engineer plugin for Microsoft Visio 2010… This means that when you download the archive from CodePlex, you only have access to the original source code. The project is hosted on a now-defunct code sharing platform called CodePlex, and somewhere along the line the original setup.exe file that you need in order to install the Forward Engineer plugin has gone astray. However, all is not lost: if you are able to get a copy of Microsoft Visio 2010 (which is available through the Microsoft Visual Studio Subscription service) you can not only continue to use its existing reverse engineering functionality – you can also bolt on a bit of freeware to enable forward engineering as well! Alberto Ferrari created a handy C# project that utilises existing Visio libraries to add an extra ‘Forward Engineer’ menu within Visio 2010, and you can freely download that project here.

To make matters worse, versions of Visio earlier than 2010 no longer function on modern Windows operating systems like Windows 10. If, like me, Visio is often the only licensed product available on your computer to use for making ERDs, it can be rather frustrating to go through the process of setting out your diagram only to then have to manually write the SQL to create the physical tables. Sadly, when Microsoft released Visio 2010, they discontinued the forward engineering component, and with later releases they have done away with reverse engineering as well. Back in the early noughties, Microsoft Visio used to fully support both reverse and forward engineering of database entity relationship diagrams: you could choose to hook up Visio to an existing database and generate an ERD automatically, or alternatively create an ERD manually in Visio and then pipe out the results as a SQL script of DDL statements.
