Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > Best MSI information source / Best MSI tool
 

Best MSI information source / Best MSI tool

Over the past two years we have gone the rounds trying to figure outthe best way to create setup.exe programs for our VB.NET applications. We've dabbled with Wise, InstallShield, and Visual Studio's Setup Project. We're currently dealing with VS Setup Projects, but we're not entirely convinced we're using it to it's fullest potential or that we're using the best tool for the job.

Our goal is to deploy a large number of client applications that communicate with a server within an Intranet. We would prefer these installations to be done silently.

I guess I really have two questions:

1. Based on our present experience, we're pretty frustrated with the complexity of Wiseand InstallShield, and we're also feeling that VS Setup Projects are difficult to use too. Shouldwe tough it out with VS Setup Projects or should we look at Wix, NSIS, or InnoSetup?

2. Whenever we had trouble with Wise or InstallShield and asked for their respective help desks, the technicians would typically take us to the MSI's table editor. They wouldwalk us through what tables to changeand that wouldusually get us back on track. The support techs seemed to avoid the fancy GUI pages and go straight to the MSI table editors because they had a complete understanding of how MSI works. We would like to have a similar understanding of MSI. Where's the best place to go to learn about it? Is there a book or a web site that can give us a better understanding?

Thanks!

Noctufaber  Tuesday, January 16, 2007 6:01 PM

Before you decide which tool to use, you should determine if you need MSI. I'm saying this because some of the tools you mentioned (NSIS, InnoSetup) don't create Windows Installer (MSI) setups.

The reference for MSI is the SDK:
http://msdn2.microsoft.com/en-us/library/aa372866.aspx

There are a couple of web sites and books that can help you to learn MSI. I'd recommend starting at www.installsite.org but I may be biased (it's my web site). Among other things,there's a list of books about MSI, a couple of technical articles, FAQ, links to other web sites, a list of authoring tools, and a discussion forum (somewhat like here, but focussed on MSI instead of ClickOnce)

Stefan Krueger  Monday, January 22, 2007 10:49 PM

I guess I'd need to know more details about your install to know if VS Setup projects will serve your purpose.

To be honest, our target was the corporate departmental application. We wanted to make Setups easy to do. As a result, there's some limits to what you can do with our tools. I'm excited you found our tools easier to use, but maybe not quite easy enough.

WiX tools are available free, are something we are very excited about, build good quality setups, and you can do just about anything Windows Installer can do. To date, I don't know of many good GUI tools that are on top of WiX. There's Votive, and I think there are a few others. You author your setups with XML files and can build them from the command line. It takes some knowledge of Windows Installer to author the setups, and it's a bit steeper learning curve than our setup projects in Visual Studio. Depending on your tradeoffs, it's worth consideration.

I hope that helps.

David Guyer MSFT  Tuesday, January 23, 2007 7:05 AM

My two cents here is that (just like any other design) setups are as complex as you make them. The typical design issue is that all kinds of stuff gets lumped into the setup - app configuration, database creation, firewall opening, user account configuration, you name it. The best single piece of advice I can give is to get all of that out as best as you possibly can, and have a post-installation configuration that does it, and write the app so that it knows if it's configured yet or not. If the complexity you're getting is in the interaction with custom actions,then get that code out,and make your setup as near to an xcopy installation as you can and configure the app somewhere else (before or after the MSI setup). The organisational issue here is sometimes that developers and managers often expect all that nonsense to be done by the setup instead of having the app properly integrated with the setup.

The other tricky area is typically updates. People ship their app and celebrate, then need to update it and find some huge issue that makes it a nightmare. So make sure you can service your appBEFORE you ship it.

VS setup projects are easy to use - they're designed to be easy to use, but if they're filled with custom actions then they can be complex, yes. And ifthey don't in fact have the functionality you need and you're using Orca to edit them you're better off with a tool that does want you want in its IDE.

PhilWilson  Tuesday, January 23, 2007 10:15 PM

Before you decide which tool to use, you should determine if you need MSI. I'm saying this because some of the tools you mentioned (NSIS, InnoSetup) don't create Windows Installer (MSI) setups.

The reference for MSI is the SDK:
http://msdn2.microsoft.com/en-us/library/aa372866.aspx

There are a couple of web sites and books that can help you to learn MSI. I'd recommend starting at www.installsite.org but I may be biased (it's my web site). Among other things,there's a list of books about MSI, a couple of technical articles, FAQ, links to other web sites, a list of authoring tools, and a discussion forum (somewhat like here, but focussed on MSI instead of ClickOnce)

Stefan Krueger  Monday, January 22, 2007 10:49 PM

I guess I'd need to know more details about your install to know if VS Setup projects will serve your purpose.

To be honest, our target was the corporate departmental application. We wanted to make Setups easy to do. As a result, there's some limits to what you can do with our tools. I'm excited you found our tools easier to use, but maybe not quite easy enough.

WiX tools are available free, are something we are very excited about, build good quality setups, and you can do just about anything Windows Installer can do. To date, I don't know of many good GUI tools that are on top of WiX. There's Votive, and I think there are a few others. You author your setups with XML files and can build them from the command line. It takes some knowledge of Windows Installer to author the setups, and it's a bit steeper learning curve than our setup projects in Visual Studio. Depending on your tradeoffs, it's worth consideration.

I hope that helps.

David Guyer MSFT  Tuesday, January 23, 2007 7:05 AM

My two cents here is that (just like any other design) setups are as complex as you make them. The typical design issue is that all kinds of stuff gets lumped into the setup - app configuration, database creation, firewall opening, user account configuration, you name it. The best single piece of advice I can give is to get all of that out as best as you possibly can, and have a post-installation configuration that does it, and write the app so that it knows if it's configured yet or not. If the complexity you're getting is in the interaction with custom actions,then get that code out,and make your setup as near to an xcopy installation as you can and configure the app somewhere else (before or after the MSI setup). The organisational issue here is sometimes that developers and managers often expect all that nonsense to be done by the setup instead of having the app properly integrated with the setup.

The other tricky area is typically updates. People ship their app and celebrate, then need to update it and find some huge issue that makes it a nightmare. So make sure you can service your appBEFORE you ship it.

VS setup projects are easy to use - they're designed to be easy to use, but if they're filled with custom actions then they can be complex, yes. And ifthey don't in fact have the functionality you need and you're using Orca to edit them you're better off with a tool that does want you want in its IDE.

PhilWilson  Tuesday, January 23, 2007 10:15 PM

You can use google to search for other answers

Custom Search

More Threads

• MSBuild Error MSB3178 really an error in VS2008?
• Problem with application manifest
• Except in memory process / The value is outside the expected range
• Securing On Demand Deployment
• WIX MULTIPLE PROJECTS
• How to develop an installer for installing public part of certificate on client machine?
• Modifying VS 2005 Setup Projects dialogs
• Remoting App over ClickOnce
• Offline Updates
• Clickonce sql path changes on every update