Programming Tools: InstallShield X

November 3rd, 2004 by Reg. Charney in

If people can't install you new program easily and quickly, without endless tweaking and reconfigurations, what good is it?
Your rating: None

InstallShield X creates universal software installers. It runs on any of the main platforms--Linux, Windows, Mac OS X, BSD and others. Using InstallShield X, it is possible to create cross-platform installation packages. Thus, I can create Windows executables on my Linux system, given that I have the requisite Windows libraries, as long as my application itself is not platform-dependent.

Although we have .rpm and .deb packages under Linux, it is clear they are not enough, which is the reason why I am reviewing this commercial product. Originally, I was going to review a major open-source system; let's call it P. This package has a good reputation and was recommended to me by several people. I downloaded P from its home Web site. I ensured I had all the prerequisites. I also checked that all dependencies were satisfied. Next, I installed P, and installation went smoothly.

Now, it was time to start P, which seemed to happen okay. So, I asked its status. What I got was a crash with a back-trace of some obscure key error. The program seemed to be accessing a non-existent file. Perhaps I had a bad RPM. I decided to RPM to uninstall the original P. I then went to a different source and did a reinstall. I repeated the same steps as above and got the same result. Because the error message itself was not too informative, I did what any of us would do today--I Googled the error message. There, I found a half dozen mentions of this error message, posted over the course of six months. However, there was no clear answer as to why this error occurred or how to fix it. One message response suggested that I rebuild the application from source. P needed a base package, however, which we shall call Z.

Using its latest stable RPM, Z installed flawlessly. Then the fun began. It asked me for a user name and password. I was more than willing to comply, but I had no idea what Z expected as a user name and password. I reviewed the documentation, reread a book on Z and Googled for the password. All to no avail. After three hours, I was unable to configure Z to serve as a base for P.

I was frustrated by the wasted time; I also felt terribly sad. Thousands of man hours, blood, sweat and tears went into developing P and Z, and it all was wasted because the installations did not work! Also, in the real world, application crashes are unacceptable. So too is not fixing the problem for over six months. Neither a fix nor a workaround were posted.

Which brings us to this review. By chance, I still had a copy of InstallShield X Universal Premier, which I had received at LinuxWorld earlier this year. Thus, I decided to review this product. If you can produce reliable installation packages using this package, then it is worth the money.

Installation

As one would expect, the installation went smoothly. Basically, I clicked through the complete installation, including agreeing to the license and accepting the default location for the product. It supported both basic and custom installs.

InstallShield X comes with excellent and complete documentation that is a pleasure to read. InstallShield X is a Java application, and I installed it on a SuSE 9.1 Professional system.

Using InstallShield X

When creating a product for distribution, one fact stands out: an installation package requires as much design and effort as any other part of the product. Throwing it together at the last minute does not work.

An InstallShield X project is made up of a product and an optional wizard. A product is composed of one or more features. Each feature is made up of one or more components. Components are made of one or more files and actions--think data and function members in a class. Files are a grouping of files that belong in the same target directory.

A wizard is made up of a number of dialog and action elements. It is part of the sequences view that the user sees during installation. Dialogs can be created using Java or the built-in dialog editor. The latter is part of the Premier package. Wizard actions can run asynchronously before and/or after your product is installed.

This product's Universal version includes the platform packs facility to handle platform-specific installations. International localization also is a part of this product, so your installation package can respond to different locales. InstallShield X also supports incremental updates in the same install package as a full installation.

InstallShield X can create an uninstaller automatically. Because the software keeps track of the order in which it installs things, it can uninstall the elements of your product in the reverse order in which they were installed. While doing the uninstall, InstallShield X checks for dependencies and allows the user to resolve any conflicts. Incremental uninstalls also are supported, which allow users to remove individual features of their products.

A new powerful project wizard is a part of InstallShield X. Anything created using the wizard can be tailored further by the installation designer.

InstallShield X can create your installation package as a single executable, as a Java applet executable from your Web site or as a directory structure suitable for use in burning CD-ROMs.

Due to its genesis, InstallShield X is biased towards Java. However, it is fully capable of handling other languages, including C and C++.

Cons

Overall, I had some product concerns, not user concerns. Support is an issue: you get support only if you pay. Before obtaining assistance from InstallShield, I needed to have a support contract. My other option was to pay per bug report. For the price InstallShield charges for its product, I expected a minimum of 90 days of installation support. Furthermore, InstallShield prices may be a real issue for smaller users. Afterwards, though, I was told that free 30 day pre-sale support and 15 day post-sale support is offered.

The initial version of InstallShield I tested had a few problems. The built-in update facility did not work. From the contents of the home Web site, I do know that two updates are available. I was able to download the updates (both .jar files), but I had no idea how to apply them and there was no information about this step on the Web site. Also, I experienced a problem trying to incorporate the automatic update facility in the installation package for a non-Java application.

Perhaps as a consequence of being closed-source, no bug list is publically available. Thus, I could not find if these problems had already been reported.

Another issue is the patch process. It could be more automated. For example, there is no integrate diff facility.

A final minor nit: the tutorial help screens do not contain a simple way to go to the next or previous help topic. You must use the hierarchical table of contents.

Conclusion

If InstallShield X does nothing else, it gives you an opportunity to design your installation package. If, after all your hard work, your application does not install correctly, it is a terrible waste. InstallShield X can help prevent this, while giving your application a polished look. This does not mean the generated package is free from problems, but the creation of the installation package is less of a hassle.

For this review, I used the high-end version of the product, called InstallShield X Universal Premier. See the InstallShield Web site for a comparison showing the features of the various versions.

Almost the last word: in the Linux world, most of us are used to tweaking config files and compiling from source. This is not done in any other consumer OS. To be able to expand our user base, we need tools such as InstallShield X to make the experience of installing and upgrading as painless as possible.

Lastly, and ignoring some of the problems, it was pleasure working with this product.

__________________________


Special Magazine Offer -- 2 Free Trial Issues!
Receive 2 free trial issues of Linux Journal as well as instant online access to current and past issues. There's NO RISK and NO OBLIGATION to buy. CLICK HERE for offer

Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.

Sorry, offer available in the US only. International orders, click here.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Is this site bankrupt?

On November 10th, 2004 tbf (not verified) says:

Is this site that bankrupt, that it as to sell obvious advertisement paid by the product vendor as journalism?

About the redesign

On November 9th, 2004 Anonymous (not verified) says:

Pity we can't comment on the last story about the site design. Anyway, I found an error: a td tag is nested incorrectly at line 160 of the generated source code. Other than that one error, it validates using the W3C's HTML validator.

Good job, LJ!

Tips

On February 20th, 2006 Mastadont (not verified) says:

free game
Tris Hussey is attending Northern Voice, a Canadian blogging conference. Tris has posted a sysnopsis of 16 blogging tips given by Tim Bray of Sun who gave the keynote.

oops

On November 9th, 2004 Anonymous (not verified) says:

The correct line number is line 633.

IzPack (FREE)

On November 6th, 2004 Christian (not verified) says:

IMHO IzPack is an easy to use plattform independend (JAVA based) installer tool worse looking at.

Christian

Not especially clear...

On November 5th, 2004 Anonymous (not verified) says:

... why the author didn't find RPMs and debs to be suitable. Saying "it is clear they are not enough" doesn't cut it. (I can think of a number of drawbacks, but I'm not writing the article.) Even the primary advantage is only turnkey installation for Linux, WinXX, Mac OS X, and *BSD, well that might be useful.

Also, it is not at all clear what ISX's requirements are (Java? Bourne shell only?), nor if it properly interfaces with RPM and dpkg. If customers can't "rpm -e product_name", (or use Synaptic / kpackage/ etc) then I'm much less interested in paying money for ISX versus, say, the free Loki installer.

(Sorry for my poor

On September 28th, 2006 Jacex (not verified) says:

(Sorry for my poor english.)

RPMs and DEBs are really not suitable. Think about software developers, they are unable to create one package that installs everywhere. This is because every single linux distribution has his own installation system. This is a problem to normal users too. For example, if I want to install new Gnome release on my Debian I have to wait about half year for a package. If you are 15 years old linux user it could be not a problem to download sources, compile them and finally install. The point is to have an installer independent to Linux distribution. Linux will never be widely used without this. Moreover, there is too much linux distros.

don't forget InstallBuilder

On November 5th, 2004 Anonymous (not verified) says:

I've searched quite a bit on the net for an easy installer and I've come across InstallShield, but InstallShield can be expensive. Maybe you want to consider InstallBuilder that can produce both Windows and Linux installers for your programs. InstallBuilder runs also on both Windows and Linux.
I've used NSIS on Windows alone in the past and it is quite similar in functionality.

You can find it at http://www.bitrock.com/

Artaxerxes

Much of the introduction to

On November 5th, 2004 Anonymous (not verified) says:

Much of the introduction to this seems irrelevant: InstallShield
may make the install process prettier, but what has it got to do
with the problem of the application not working once installed?
How is using IS meant to make that problem less likely? Given that
it bypasses the dependency-checking of the native package management
system (RPM, dep or whatever) it seems that you are less likely
to have a working application afterward, however satisfying the
install may have been.

What makes you think the IDIO

On November 5th, 2004 Anonymous (not verified) says:

What makes you think the IDIOTS who packaged the software you had trouble with would use this properly? They clearly didn't do a good job with the tools they have.

Great to hear!

On November 4th, 2004 IS X Universal Doc Author (not verified) says:

Thank you for your great comments about the InstallShield X Universal documentation! When it is typical for customers to not RTFM, it is very gratifying to know that those who do, find it as useful as it is intended to be! And I'll be sure to add links to the Tutorials that take you both backwards and forwards (they currently only have a link at the bottom that takes you to the next step).

Your documentation is pretty

On June 17th, 2005 Jason (not verified) says:

Your documentation is pretty bad. The javadocs are commented here and there, and even basic things are not documented in the manual. I have RTFM and you missed documenting "Save All" in the UI introduction (though you did document the rest of the File menu items). How about documenting that clicking "back" in a dialog box creates a new instance of the previous dialog and that you either have to use a singleton or a property to save the previous screens settings? Lastly, your documentation does not give credit to the open source Java db hsqldb that you use in your product.

P.S. My favorite professional code segment of your product comes from your Linux launcher: foo=`kill -9 $1 > /dev/null 2>&1`.

P&Z Huh...

On November 4th, 2004 Anonymous (not verified) says:

Lemme guess, Plone and Zope? I was a little bit confused by the password thing at first too, but what you have to do is create a special file called access using the zpasswd.py utility that comes with zope (and put it in your "instance root". It doesn't create this with a default password by default (for security reasons I think). I'm pretty sure its documented, but I missed it myself once or twice before I figured out what I was missing.

On Topic: It sounds pretty good for commerical packages, but I still think most users would prefer using apt-get, emerge, etc... for free software packages since its much easier to use & integrated into the system.

Oh God

On November 3rd, 2004 Anonymous (not verified) says:

Excuse me,

Can you go start some (another?) moronic one-click package install distro instead of pleading for bucks and developers to switch to some non-OSS craptacular "universal" installer?

I'm not going to waste me energy explaining why this is just a bad "review" and a idiotic non-issue. The only suggestion I make is that maybe you should consider installing RPMs/packages from a developer that provides clear installation instructions.

End of transmission.

Linux Needs This

On November 5th, 2004 ML (UK) (not verified) says:

At the moment Linux seems to be doing very nicely in the hands of 'Techies', hackers...etc. However, For it to become mainstream it needs to be used by everybody. If it becomes mainstream, not only do we get the glorious opportunity to see Bill Gates cry, but also we'll be able to buy a scanner with the 'Tux' logo on the front. For businesses, Linux is ready now, but for home users it's still a long way off. Until the clock can be set with only one utility (not 3), floppies can be formatted without being told to log as root first (as in Mandrake Move), USB Bluetooth dongles work when plugged in (or at least with the use of a 'Add/Remove Hardware' button), and software can be installed with a double-click of the 'Setup.exe' file, then Linux will stay where it is. And so will Wincrap Xtra Profit.

Freeware and Open Source are great things, but if noses are turned up at any venture into the commercial market with Linux products, it will always struggle for credibility in the business world. And with products that deal with the above issues (because their Marketing Dept can see these as issues for a normal person, whereas a Techie can't or doesn't care), Linux will grow to be a viable alternative for the sort of people who just want to get their emails and shop online. Which will mean more of these people (the majority of the world) will use Linux. Which will mean hardware vendors will write Linux drivers for them. Which will mean they won't NEED to know what a command line is (and why should they have to know? they just want to use the thing, not try to make it better).

If Linux wants to be in the mainstream world it will have to start living up to mainstream expectations. This will mean the involvement of money. Hard Cash. It is what makes the world go round after all (unfortunately). As long as Linux itself stays free and the Open Source movement continues, I can't see any problems with commercial companies getting involved. The more support Linux get's the better.

This product (Installshield X) sounds like a big step in the right direction. A (hopefully) solid and easy way for anyone to install software on a Linux computer.

ML
(A reluctant WinXP user crying out for a version of Linux that works on his laptop without having to take a Degree in Unix to get it on to the internet through a mobile phone)

Needs Linux this?

On November 29th, 2004 Anonymous (not verified) says:

The worst nightmare I can imagine is that One day when I come to my linux-desktop users pcs I see the crap like freescrensavers, dailywallpapers, peer-to-peer-apps, morhuhn-demo-ware like game, dancing-whatewer-plugins, misc-spyware, totally messed up settings, etc, etc, etc.... I know this day will come. But for now - please let me enjoy the fairy-tell in which only the root has the power, vision, knowledge and art. And users just do what tey're supposed to do.
Thank you!

"and software can be installe

On November 10th, 2004 condi (not verified) says:

"and software can be installed with a double-click of the 'Setup.exe' file"

not that hard to solve: write a small bash script that checks if the given *.rpm/deb is installed and installs it if not. then associate the script in your windowmanager (kde, gnome, whatever...) with *.rpm/deb
-> same double-click crap.

btw, there are actually GUIs for rpm, deb, etc...
if you are using apt, it will resolve any dependancy (and will download all) for you (incl. incremental uninstallation).

"Which will mean they won't NEED to know what a command line is"

funny that microsoft released a couple of powerful cmdline-tools with xp and win2k3 ;)

...and i have to agree with the others: if the application doesn't work, it's either the application or the maintainer isn't able to create working rpms. ...and yes the articel lacks of details.

Agree!

On November 6th, 2004 Anonymous (not verified) says:

Some time back I tried to test out some IP telephony packages for Linux. They all required compilation and most of them depended on some libs that I didn't have on my machine, so it was a long process to get the thing installed. And then of course they didn't work - but that is beside the point.

The point is that the user can focus on whatever it is that he or she is good at without worrying about the rest of the system. The way I see it the biggest problem with Linux For the People is the installation issues. My guess is that 99% of all Windows users do not know there is a DOS box, imagine a day where that is true for Linux users.

If you can't install it you can't use it!

I think you miss the whole po

On November 5th, 2004 Anonymous (not verified) says:

I think you miss the whole point -- all the pretty GUI in the world for an install means nothing if you doubleclick (sic) the app and it doesn't start, or ends up breaking everything else. ISX, by bypassing the system level dependacy integration (rpm/deb/etc) actually does more harm than good.

Let's say you have a set of libraries - FOO 3.x, which a lot of apps are linked to (could be PHP, could be a desktop admin tool, the possibilites are endless). Everything is working great. Then, you download this nice ISX install version of FOO 4.x, intending to upgrade FOO 3.x. This nice FOO 4.x installer installs everything it needs, overwriting the FOO 3.x libraries symlinks. FOO 4.x works great, but now everything that was linked to FOO 3.x no longer functions.

Without using the dependancy checking built into the tools, you end up destroying a system so bad it's unuseable. We've all seen it happen with people who start out by installing from source (not understanding the consequences) instead of binary package upgrades, and end up creating the same mess ISX will. If ISX were to put a nice face on the process of building a system specific binary (ie, a "builder" front end for making RPMs or DEBs) that would be a whole other story.

As for the problems this article author experienced with projects P and Z, that's by far the exception and not the norm. There are thousands upon thousands of applications, libraries, tools, etc that are perfectly combined, dependancy checked, and install/upgrade/run in complete harmony by the community. It sounds like projects P and Z need to get someone with better chops to build their RPMs.

"If you can produce reliable

On November 3rd, 2004 Anonymous (not verified) says:

"If you can produce reliable installation packages using this package, then it is worth the money." Which would be ... ?

"Overall, I had some product concerns, not user concerns. Support is an issue: you get support only if you pay." Pay what?

" For the price InstallShield charges for its product, I expected a minimum of 90 days of installation support." What is the price?

Is there no editorial review to see that basic details are included?

"Which would be ... ?" ...

On November 4th, 2004 Anonymous (not verified) says:

"Which would be ... ?"
...
"Pay what?"
...
"What is the price?"

People endowed with a brain will click the link to the InstallShield web site in the resources section, and find various currency/price/product combinations there.

Oh, I get it. The reason you

On November 5th, 2004 Anonymous (not verified) says:

Oh, I get it. The reason you didn't put in a price is that if you had, no-one would have bothered reading past that point!

People with a brain would not

On November 4th, 2004 Anonymous (not verified) says:

People with a brain would not pay $2,499 for the premier version of this . They made some steps forward as far as features but it is not worth the money.

My two cents.

Easy people....cool down....t

On May 11th, 2005 Anonymous (not verified) says:

Easy people....cool down....this article, as far as I understand, was not meant to be even read by average Joe hackers!!! The price of $2499.00 is for pros working for big companies to provide service to other big companies who are thinking of switching to Linux and etc. So, the author and InstallShield do not even dream of asking you guys to pay for their products! They would be more than thankful if we don't copy them illegally! My 2 cents.....

Featured Videos

The X Window System is a magnificent platform for many uses, but using it to run an application over a slow network is nearly impossible. This is an introduction to NX, a technology that makes remote applications fly even over commodity internet.

Linux Journal Gadget Guy, Shawn Powers, reviews the Flip Video Ultra, a small portable video camera, and shows us how easy it is to edit the video with Kino.

Thanks to our sponsor: Silicon Mechanics

From the Magazine

September 2008, #173

Feeling a bit like a Thermian? Never give up, never surrender! Someday, you could go from underdog to top dog. Just take a look at a few of the underdogs we highlight in this issue: Mutt, djbdns, Nginix, Gentoo, Xara and the program voted mostly likely to fail just a few years back—Firefox. If Firefox not radical enough for you, check out Chef Marcel's column for some more alternatives. Having trouble mapping your program data to your relational database? If so, Rueven Lerner shows you some tricks in his At The Forge column.

Need to run GUI applications on your server in the next state? In his Paranoid Penguin column, Mick Bauer shows you how to do it securely. Kyle Rankin keeps hacking and slashing and shows you a few split screen secrets you may not be familiar with. Finally, we all know what happens next February, but only Doc knows what happens afterward.

Read this issue