This is my first post to this message board, so I apologize if I'm asking this in the wrong forum (If so: Admin, please boot be over- thanks!). I'm really glad to see that there is a community dedicated to deployment because this is an area I need a lot of knowledge in, and hopefully you folks don't mind teaching someone who is fairly new (and more than a little thick).

Here's my issue: I was initially deploying my software using Windows Installer via the Setup project built into VS 2008, but I found it a little too complicated and I wasn't able to put together the right "feel" for my installer package. Additionally, the entire concept of upgrade codes vs. program codes was giving me a migraine, and I needed a simple solution that allowed clean upgrades. Therefore, I switched to Inno Setup. I like Inno quite a bit because the scripting lets me have more direct input on the installer (which helps appease my control issues).

However, I have run into one problem that I'm not sure how toovercome. The Windows Installer version would automatically package the prerequisite third-party MSI files, determine if they were needed on the target system, and install accordingly. At this time I'm not even sure if Inno can accomplsh this or not.

Therefore, two questions: First, does anyone know if Inno can do this? If so, can someone cite some examples with brief explanations? Or, is there a better way that somehow incorporates the VS 2008 Setup project?

Second, if Inno does not support this, how can I get the best of both worlds? Can I package the Setup file from VS to only include the prerequisites AND the Inno setup project once the other pre-reqs are complete? If so, does anyone have some direction on how to accomplish this?

Thanks in advance for whatever assistance you can offer.

-William Smith
0 Comments   [ + ] Show Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


IIRC, Inno uses a proprietary mechanism for installation, not the Windows Installer engine. As such, I would hesitate to recommend it. MSI is the de facto standard for installations.

Neither of the main packaging tools (Wise and InstallShield) will automatically select dependencies from the list of installed files. You may want to take a look at Wix. My understanding is that you build an XML file containing a list of objects to be installed and then use the Wix toolset to create an MSI. I imagine that, as a developer, you will have the skills necessary to create that XML file from the project. Wix is a free download from
Answered 04/30/2009 by: VBScab
Red Belt

Please log in to comment
wix and team build or msbuild is the go if your using visual studio.

inno setup is such a fail installer. It does the obvious and leaves out all the important stuff windows installer handles in the background (the technical bits your uninterested in) is where you can find it. however if you struggle with windows installer wix isn't going to be any easier on your brain as uses the exact same technologies just in a much more complex yet useful manner.

if you do go down the wix path find a 3rd party tool called tallow which can automate a portion of the msi development.
Answered 04/30/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
[:@] DOH!

First, I REALLY appreciate you taking the time to get back to me on this.

Second, I was wondering if you guys could help me explore a couple of questions and options on this topic.

For starters, is there good documentation for Wix and Tallow? My biggest frustration with MSI is that the documentation is plentiful- but written in typical MSDN "If You're Not Smart Enough To Understand Our Technospeak, Maybe You Shouldn't Be Doing This" format.

Next, my original reason for going down this path was that I wanted a simple manner to upgrade inplace installations without creating additional items on the Add/Remove Programs list and without overwriting my data and config files. I know that may sound simple, but as I mentioned before the "Codes" were confusing me.

Last, I spent several days producing a decent installer with Inno so I would rather not abandon that right away- especially if I have to learn something just as complex as the default MSI with VS. XML isn't a big deal, so no worries there, but I would like to be able to easily (relatively speaking) install upgrades with the following major points:
1- Not overwrite data or Config files
2- Not add a new entry in the Add/Remove Programs list
3- Actually understand the upgrade process with MSI a little better.

Thanks again,



Due to time contrainsts I have decided to go back to the standard MSI in Visual Studio.

Does anyone kow how to set a file in the installer so it will NOT overwrite the existing version if its found? If I can accomplish that I will have everything need.

Answered 05/01/2009 by: ssmith147
Yellow Belt

Please log in to comment

Ok looking at your requirements to handle upgrades etc then I would suggest MSI being the better delivery mechanism for you.

Inno setup is simple script / procedural code delivery. It has limited comprehension of things as upgrades etc. It is expressly designed to deploy a single application with complete disregard to anything else that may currently be on your machine.

Windows Installer on the other hand is a complex deployment mechanism designed to cater for upgrades, uninstalls, sociability with other applications, rollback, self repair and many many other things all deployment related.

It is not an easy learning curve nor should it be because it is much much more than a simple single application deployment solution like inno setup.

Re your other comments yeah MSDN is fail at explaining things. You may find this a little easier to interpret. pay particular attention the following topics and your well on your way to understanding msi

component reference counts
installation sequences
self healing

Re doco for MSI / WiX its pretty poor all over the place, probably because its so complex ppl have limited ability to reproduce this in non techno babble.

WiX is very hard to get into if you do not understand MSI first. Learn MSI then WiX is a breeze. Do them both at the same time and your in for a long uphill battle.

As for visual studios, its probably the worlds most "fail" MSI packaging tool surprising being they are both from MS. I would steer clear of that as well.

If you want quick and easy, go with Wise or Installshield. (I personally hate the later but many ppl love it)
Answered 05/04/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity