Installation tools

Posts   
 
    
JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 20-Jan-2006 06:02:05   

What are folks using? VS Studio is fine for really simple setups. I do like the fact you can derive from Installer class and execute some of your own code written in your favorite .NET language.

I never hear anything positive about Installshield, and used it years ago and gave up on it.

Wise used to be really good. They got aquired by somebody and they seem to have jacked up their prices. But the eval I tried did install MSDE flawlessly and ran SQL scripts.

I've been playing around with Setupbuilder, which is a little quirky, but has a lot of loyal fans.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39797
Joined: 17-Aug-2003
# Posted on: 20-Jan-2006 09:01:00   

I use the deployment project in vs.net, but it's not that great. I never looked at WiX, but it seems to be the most flexible setup library you can get. If you don't need custom actions, you can also use InnoSetup. InnoSetup is free and also seems to be used a lot.

Frans Bouma | Lead developer LLBLGen Pro
wvnoort
User
Posts: 96
Joined: 06-Jan-2005
# Posted on: 20-Jan-2006 10:14:45   

WiX offers a lot of options, but the IDE-support is still limited. There is an add-in for VS and some Wix-Gui projects on sourceforge. I use the free #develop IDE, to edit the WiX projects. It has the same functionallity as the VS-addin. One of the best aspects of Wix is that you can integrate it in the development process using fragment-files.

I also looked at the NullSoft installer. It is based on a script languange. That makes it easier to understand than the declarative approach of WiX, but you have to write a lot of code to to it well (especially the required de-installation code).

Posts: 497
Joined: 08-Apr-2004
# Posted on: 20-Jan-2006 13:07:51   

If you dig into VS.NETs installer capabilities, you find there is a lot you can do, but its by no means quick and easy. I wrote an installer for a google add-in that registers some COM components, installs some dll's to the GAC, prompts you for custom information not provided in the default dialogs, and then opens a web URL after completion.... it took longer than writing the add-in did, but its all possible simple_smile

JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 20-Jan-2006 15:38:31   

Thanks. I thought I had found every tool on the web, but didn't know that WiX existed. I'll look further into that. Also someone discussing WiX recommended MAKEMSI.

Posts: 497
Joined: 08-Apr-2004
# Posted on: 03-Jan-2007 14:36:27   

Bump

Has anyone used Ghost Installer or InstallShield? I'm looking for a good installer to use for a pretty complicated web app, so it needs to be good and very quick to learn! I was assuming that Wise installer would be the best one to go for, but it just can't cope with our reasonably big web app - it hangs and crashes all over the place - its a real shame because I know it does a lot of good stuff rage

Matt.

PilotBob
User
Posts: 105
Joined: 29-Jul-2005
# Posted on: 03-Jan-2007 17:58:04   

MattWoberts wrote:

Has anyone used Ghost Installer or InstallShield?

I am the main person here that builds installs. We use both Installshield Pro and Installshield Express.

You said you are looking for "good" and "easy to use".

Well, Installshield Express is pretty easy. But, it is also pretty basic. It doesn't give you control over alot of stuff. It is basically 100% wizard driven. However, the newest versions do allow you to create custom actions. So, if you have a pretty basic install, i.e. copy some files, create a startup icon this will work great.

Installshield Pro gives you alot of power. Of course with this comes added complexity. There are serveral setup types that this supports. First is Windows installer and second is Installscript.

The former of course uses the Windows Installer engine. In this project type, Installshield is basically a front end for editing the tables in the install database which instruct Windows installer what to do. The output here is an MSI file which can be distributed stand alone. Or, if you have pre-requisites or want to install windows installer also you can include a setup.exe that will take care of these tasks. You also need to distribute the setup.exe for patches/updates. This is the type of project I use for all our installs. Once again, to do a basic install, it is pretty easy... however, to do more stuff you really have to drill into it. There is alot of power there.

One other issue with building Win Installer projects is that you have to understand windows installer. For example, if you want to create upgrades and patches at a future date you have to follow certain rules when authoring your intial installer. Also, you need to understand the installer sequence and such. Of course, as I say, these are complex things.

The other type of install is an Installscript install. In this case the Installshield IDE basically becomes a script generator. Alot of programers prefer this project type because you can read the script and edit it directly, sort of like programming. But, this allows for most of the complex tasks for you to do to just be written in installscript. In a windows installer your custom actions are either Javascript or VBScript other than calling an external EXE.

You will also run into some bugs in install shield. Generally you can work around them without a problem, but they are annoying. Building an install with Installshield is a "hurry up and wait" process. It takes a long time to rebuild the project (ours I would say is larger than average size) that your edit/build/test cycle is pretty slow.

One recommendation I would make would be to download Virtual PC 2004 from MS (it is free) and set up virtual machines for your target install OSes. (You do have an MSDN subscription right?) This will allow you to quickly test each installer build and then return to a clean machine because uninstalling doesn't allways remove all remnents of the install. This will increase your productivity ALOT. I've found this is much faster than using Symantec Ghost and a sperate machine.

Anyway... I think I am done with this book. If you have any questions feel free to ask.

BOb

Posts: 497
Joined: 08-Apr-2004
# Posted on: 05-Jan-2007 10:16:36   

Thanks very much Bob, thats a great help. I've gotta say I'm dissapointed with Wise, they still haven't replied to me asking them why they're product crashes with our solution...

Anyway I have installShield evaluation downloaded and I'm playing around with it now. So far I'm a little worried about what it offers for a web site installer. We want to mimic our .NET deployment package, i.e. the web project is installed to IIS, and all the other class libray projects have their primary output (the dll's) installed to the "bin" folder of the web. I'm struggling to do this so far in InstallShield, but hopefully I'll get there soon. Also its a shame theres no built-in dialogs in InstallShield to choose the IIS web site to install the web application to.... or at least I haven't found one yet.

Anyway, thanks again for your help.

PilotBob
User
Posts: 105
Joined: 29-Jul-2005
# Posted on: 05-Jan-2007 23:59:13   

MattWoberts wrote:

web. I'm struggling to do this so far in InstallShield, but hopefully I'll get there soon. Also its a shame theres no built-in dialogs in InstallShield to choose the IIS web site to install the web application to.... or at least I haven't found one yet.

No, there's not. The place where you specify what files to copy is seperate from the place where you set up your web site/virtual directories. However, it is perfectly able to create a web application install. I should know... the 4 IS projects I work on are all web app installs.

BOb