Programming Tools: InstallShield X

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

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++.

______________________

Comments

Comment viewing options

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

Is this site bankrupt?

tbf's picture

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

About the redesign

Anonymous's picture

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

Mastadont's picture

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

Anonymous's picture

The correct line number is line 633.

IzPack (FREE)

Christian's picture

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

Christian

Not especially clear...

Anonymous's picture

... 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

Jacex's picture

(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

Anonymous's picture

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

Anonymous's picture

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

Anonymous's picture

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!

IS X Universal Doc Author's picture

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

Jason's picture

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...

Anonymous's picture

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

Anonymous's picture

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

ML (UK)'s picture

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?

Anonymous's picture

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

condi's picture

"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!

Anonymous's picture

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

Anonymous's picture

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

Anonymous's picture

"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 ... ?" ...

Anonymous's picture

"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

Anonymous's picture

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

Anonymous's picture

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

Anonymous's picture

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.....

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix