Creating an Installer with Inno Setup tutorial now online

Started by BazzaCAD, April 16, 2009, 01:45:16 PM

Previous topic - Next topic


This tutorial describes how to create an installer to deploy your ODCL application & install the ODCL runtime at the same time.

By Lance Gordon (Thanks)
You can download it here:
Barry Ralphs


A very, very long time ago Bryan Blattel had on his CadWerx website and example of how to use pascal scripting to do stuff like add folders to AutoCAD's search path and even load menus in Inno Setup exe's.

I used to use it with great success when I managed AutoCAD for several architectural firms.  Does anyone have any info?  This would be a great tool for setups.

If I find anything I'll post it.


Oh, Happy New Year!!


Wow, can't believe I found it.  It's a copyrighted exe though.  It was a free download - but could we use and distribute here?


Don't post anything unless you've first contacted Byron and asked permission (and I'll bet he will gladly permit it if you ask).


Good idea Owen - thanks.  This is a great tool for people developing programs.


I for one, would be very interested in this.  I'll be following this thread with great interest.


Havn't heard from Byron - don't even know if the email I have is any good.

I'm having trouble with the msiexec.exe syntax:

Filename: msiexec.exe; Parameters: “/i “”{app}\OpenDCL.Runtime.”” /qn”

I get the dialog (which means there is something wrong with the syntax).  Any suggestions?



Got it.  I cut and pasted from the pdf and there was some character confusion in the translation.


Unfortunately no.  The only thing I would use it for was adding a menu to menugroups.  Pretty much everything else (paths, loading apps, etc.) can be handled in the .mns file.  Oh well.  If I here anything Ilet you all know.


This was very helpful, and seems to work just fine (so far I have tested with Studio uninstalled so I could see that it worked). I have a few concerns though.

UninstallRun. Let's say I am installing Runtime. with my app, and someone has already done so with their app. If my app gets uninstalled, what happens - does the Runtime that was already installed get removed? Or is this method somehow smart enough to know that it did not get installed with my app and leave it?

Also, what if that other app that installed the runtime before me gets uninstalled - will that remove the runtime leaving my app without it?

What if the user is running R2010 with some other app that has installed the Runtime.5 - does that app now load the Runtime.6 that I installed, with no problem? Or what?

These are questions that have made me shy away from using OpenDCL until I had a real need. Now that I'm into it, I love it. But I'd feel better about going live with it until I know the answers.

Fred Tomke


Unfortunately, I cannot help you very much because I have no experiences with the installer. As far as I remember another topic with such a question a counter shall be work in the background which tells the uninstaller if any other application is still using this component (OpenDCL in this case). As far as I remember the Runtime.msi won't install if any newer release is already installed, but a newer release will uninstall the existing and install the newer files after that. There is no way for side-by-side installation.

I'm sure that others can tell you more about it. We are distributing the runtime files with our program files and we're not using the msi. We are loading OpenDCL by the application which is wrapping  and controlling AutoCAD as an external application.

Fred Tomke
Dipl.-Ing. (FH) Landespflege

[ landscaper - landscape developer - digital landscape and urban design]


As long as everyone follows the rules and installs the runtime via the standard .msm or .msi, everything will work correctly for every OpenDCL based application. Windows Installer keeps a reference count and will not remove the files until the last relying application is uninstalled. As long as your application requires the runtime, it will remain installed.

Unfortunately some application developers do not follow the rules, so there is a risk of your app getting clobbered. A reinstall should fix the problem in that case.

Fred Tomke


I recommend you to check up the existing OpenDCL runtime when your application is loading at AutoCAD startup. Since the installed runtime can be manually uninstalled in Windows control panel > software, it is worth to check if OpenDCL runtime is still installed and if it is the release your application needs. If not, throw an alert with the hint of reinstall.

Regards, Fred
Fred Tomke
Dipl.-Ing. (FH) Landespflege

[ landscaper - landscape developer - digital landscape and urban design]


Fred, just to clarify, I think that if an application installs the runtime via the app's own MSI (i.e. by using the OpenDCL Runtime MSM merge module instead of the standalone OpenDCL Runtime MSI), there will be no separate entry in Control Panel.