Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft

Software Packaging Formats for Windows? 43

darkdepeche asks: "My department is attempting to standardize on a software packaging format for the majority of our clients (which generally use Windows 2000/XP desktops). I've been very impressed with the .deb/apt system that Debian and some other Linux flavours use, I wonder if any other slashdotters use something similar to this on a Windows platform? Using the traditional Installer is a possibility but the tools are cumbersome and quite expensive. We need something that would handle several hundred applications, hotfixes, service packs, and keep history for them all. Has anyone else worked on a project like this?" InstallShield can be more complex than it needs to be and can be very hard to use. Have any of you come across an installer for Windows that is easy to use, can uninstall whatever has been installed, can manage the registry and also (maybe) have versioning controls similar to what is offered by .dpkg/Apt?
This discussion has been archived. No new comments can be posted.

Software Packaging Formats for Windows?

Comments Filter:
  • NSIS! (Score:3, Informative)

    by buzzbomb ( 46085 ) on Thursday August 01, 2002 @10:41PM (#3996492)
    an installer for Windows that is easy to use, can uninstall whatever has been installed, can manage the registry and also (maybe) have versioning controls

    The Nullsoft SuperPIMP Install System [nullsoft.com] does three out of four...and it's quite possible that you could script the versioning yourself. Check it out.
  • (A few years ago, I was employed by WISE Solutions [wisesolutions.com].)

    Installing on Windows is not just a matter of ease. It is also a matter of knowing what works, and what doesn't work on all platforms. Hacking the registry is easy, *knowing when* to hack it is not so easy. InstallShield can be very complex, but it allows great flexibility. WISE is generally easier to use, and generally has what you need.

    After seeing countless scripts, I can say that most people (of whose scripts I've seen) do not know what is going on. Luckily they used a tool, or else who knows what sort of damage they would have caused.

    Considering a decent tool costs less than one thousand dollars, it is well worth the time you will save learning how to install files. Also, considering the main tools keep up with Microsoft rules (usually) there are less "gotchas" to worry about.

    Both WISE and InstallShield have strong userbases. You can easily tap into a lot of knowledge with those tools.

    • (I work for a company [brandlogic.com] which is in no way affiliated with WISE)

      We use WISE Pro at work, and their software is well worth the money. It took me a little bit to figure out how the software works, but you can do almost anything with it.

      I've used it for everything from office template installers to complex ibm software packages to quake map installers.

      There's a couple of things that I'd like to see added to the software, but I haven't checked out the latest versions either.
    • Nullsoft's NSIS [nullsoft.com] is great and it took me no time to learn. I've been using it for ages and it works perfect. It is much smaller and faster the your "WISE" installer, and it is a hell of a lot less expensive. This is especially important if you are going to standardize on it!
  • If you dare to travel into the domain of Novell [novell.com], their ZenWorks [novell.com] system is quite robust. It allows for selective and forced installation, and the packaging system always struck me as quite sophisticated.
    • You forgot to mention the snapshot system they employ as well, which will scan the HD and registry of all clients before and after the install and allow you to completely clean any app from the workstations. Unfortunately, Zenworks and Snappshot still rely on the applications own install utilities, so this probably won't help much.
  • Ask Slashdot (Score:1, Offtopic)

    by wdr1 ( 31310 )
    When did Cliff start to get paid by the question?

    Three questions today? And all three lame? Geezzz... Ease up on the posting trigger there, hoss!

    -Bill
    • Actually, I'm inclined to think this is one of the better Ask Slashdot questions out there lately. When you have a large userbase of installed Windows machines, it would be nice to have a consistant way to manage them all, in an apt-get, software/windows update sort of fashion - software installation and updates, and system updates, patches, fixes, and drivers, combined with an intelligent packaging system, would be a great product.

      Hmm... I smell money-making opportunity...

      --Dan

      PS: Just before I hit post, I mentioned this money-making opportunity to a friend of mine, who pointed out that MS has had a product called the Systems Management Server out for about four years now, that will do exactly this - system and application installation and updating. Probably works well too, up until the whole thing goes to hell. Yay for Norton Ghost.
  • by uradu ( 10768 ) on Thursday August 01, 2002 @11:29PM (#3996701)
    That would be another totally free option. You can get it at http://www.jrsoftware.org/isinfo.php. It creates installers with the new Windows Installer look, consisting of one single Setup.exe file. Plus, some third party extensions add scripting capabilities (http://www.wintax.nl/isx) and an install builder IDE (http://www.bhenden.org/istool). Many consider this to be the best free install builder, rivaling even some commercial ones.

    Of course, it doesn't address versioning or online updating. But any of the systems I've seen seemed proprietary and bound to a particular product--check out Microsoft's Windows Update, for example. It would be nice if someone came up with a complete solution, including a back-end server (or maybe FTP or HTTP based) and a client-side app that was installed along with your app and knew enough about it to do a live update. Plus, of course, an admin tool for the back-end to manage all the bits there.
    • I just followed this guy's advice and went and used this for a project that has been crying out for a decent setup program for a long time now.

      It's fantastic! I have used InstallShield, WISE, etc, and they are all crap (WISE much less so than others). I had a reasonably complex installer up and running in under 2 hours with Inno Setup!

      I love it!
      • Actually, it's probably one of the better kept secrets in the installer world, although, judging by the number of downloads on their website, it's quite popular. Plus, doing a Google Groups search on installers returns lots of references to Inno.
    • Seconded on all those points, particularly the professional look of the installer. What really sold me on this installer was the fact that it runs entirely from a script file, GUI is optional, and you compile your script and program resources into a single squashed .exe. This makes it ideal to run from build scripts, and even better the setup compiler runs under Wine, so sending out frequent releases from a Linux development machine is easy.
      • > and even better the setup compiler runs under Wine, so sending out
        > frequent releases from a Linux development machine is easy.

        Actually, since the full Delphi source code is available, it should be quite possible to port it to Linux using Kylix, resulting in a native installer. I don't know if such an effort is underway, but I wouldn't be surprised.
  • by thenerdgod ( 122843 ) on Thursday August 01, 2002 @11:34PM (#3996723) Homepage
    http://www.microsoft.com/windows2000/techinfo/howi tworks/management/installer.asp

    I mean, really. MSI has got what you need. And if you use Visual Studio, then, well, DUH. It lets you remotely install stuff... it helps you manage your installs... it integrates with Terminal Services. Really. It's the Offical Microsoft Answer to RPM. sheesh!
    • Plus, MSI supports one feature found nowhere else (except on Sorcerer Linux): it can set stuff to auto-install on first use. Let's say you copy Office to a network server, for example, and install everything on clients at "first use". The install will end up taking you a couple minutes per workstation. The first time that someone on a client computer opens Word, it will automatically download, install, and set up Word, with no additional work required from you, the administrator.
    • By itself, I find Microsoft's Windows Installer to be next to useless. Our software packages generally include hundreds -- if not thousands -- of files in dozens of directories and at least 20 different install options for each. Trying to construct MSIs with *just* the Microsoft SDK tools is incredibly painful and slow.

      If I had the option, I would NOT be using the Microsoft package, but I don't get to make the decision. We do have the InstallShield frontend for it, but it seems a bit buggy. Ah well, back to writing automation tools for this stuff.
  • Tivoli's Software Distribution (now part of the Tivoli Configuration Manager) system works pretty nice. It integrates nicely with Tivoli inventory so you can do things like install a certain software package to all computers with more than 300mhz, 128megs of ram, and windows 2000. It supports checking dll versions, variables, package versioning, and package dependencies.

    It even has a "Transactional" system to allow updating of core system files that are locked.

    It is also cross-platforms from Windows to Linux to HP-UX to AS400. Pretty much every platform imaginable is supported.

    I've been working with it non-stop for the last few weeks and I've been pretty impressed with it.

    Oh yeah, and call Maryville Technologies [maryville.com] if you need any help designing and implementing Tivoli infrastructure and packages. *shameless plug*

    Ian
  • I've setup and used SDO [ca.com] from computer Associates, and Visio64 (but they are closing). Has mentioned above tivoli is also an option.There's also SMS from Microsoft but some dev is necessary to make it work.
    Whith SDO you'll be able to distribute to Microsoft OSes,Novell and a bunch of Unix systems has well. The architecture is build around a MS SQL database which will store information on packages, client machines. You'll be able to schedule when you're distribution will occur (thus not killing your network). A neat option that's bundled with the product is called DTO [ca.com]. This option lets your decide which network route will be used to reach the clients. With it you'll be able to say : to reach machine C go thru machine B, not A. This really is cool.
  • Could be worth a look [wise.com].

    (Used by some open source projects, that's where I saw it first...)
  • InstallAnywhere (Score:2, Informative)

    by cdh ( 6170 )
    I've used InstallAnywhere [installanywhere.com] for the couple Window projects I've done. These were Java apps and the program didn't care. The beauty of it is that it is cross platform. It can generate installers for Windows, Unix and Mac. They have a limited free version and the sales guys give up after a couple non-responses. The full version isn't too expensive either. Fully scriptable. Very slick.
  • Frankly few if any Wintel apps do version-checking as part of the install. They install then check if there are any newer components, updates, whatever.

    This makes sense from a managing-customer-expectations view: They likely want a working copy now and they (and you!) don't want to be involved in getting online, finding out it's stale software, long downloads, corrupted downloads, etc. Let the installer install, that's nasty enough.

    Many apps offer a menu option that fires off a URL event for update-checking. The web-browser opens up the page and there you are. Some applications are clever and fire off a URL event with the version number already encoded so you get your version-check right away, automatigically answer is there more or not. Others make you look up your own version number and then figure out what your choices are. And some take the opportunity to include the serial number and such "for the record."

    An alternative is a polite version checker that (with permission!) automatically checks for updates every so often, say two weeks, or on demand. If there's no new version it quietly shuts down and nobody was disturbed. Or if it was a manual check it gives a nothing-new response. If there is something new it gives a response and supplies a link to the appropriate web-page/download/whatever.

    Of course any such transaction should be well documented and easily interpreted so folks know exactly what is being 'phoned home' and don't start getting the willies. This may mean a larger transaction then strictly neccessary but keeping it human-interpretable is likely valuable in a suspicious world.

    So with all of that said I'd like to point folks to one existing implementation: Simple Internet Version Control Protocol [utexas.edu]. I've no connection whatsoever with it beyond having a product or two on my machine that use it but it's always seemed to me to be a well-thought-out bit of code and after 7 years of in-production-use likely well-tested. Oh, and I may have met the author years ago (Chris, were you @neu.edu?)

    It does version-control, also does anonymous user counts, it's free in all senses, there's code examples, etc. Here's their summary [utexas.edu]:

    The Simple Internet Version Control protocol (SIVC - pronounced "civic") is a system intended to help people on the Internet keep their software up-to-date, while providing software developers with good estimations of their products' Internet user bases. While interesting to all developers, these estimations are particularly useful to developers of public domain, freeware and shareware products since the size of a product's user base is often a major factor in justifying continued development. In addition, SIVC can reduce product support demands, and improve user experiences, by helping to ensure that users have current versions of their SIVC-equipped software.
  • Novell has had a package out for some time now that does this quite well... It was NAL (Novell Application Launcher) and it got turned into part of ZENWorks a few years ago. I assume they're still supporting it, although, I haven't done anything Novell-related in a few years. Great NDS integration, and an application image generation that works great (takes a snAPPshot of your system before install and after install and then saves the deltas to apply to other PCs), will allow you to choose what icons show up where, and will check to make sure the app is installed, allowed to run, has availible licenses, and is of the right version before launching. If it's not installed, or needs an upgrade, it'll install it automatically. It's really flexible and quite sturdy... Maybe MS will have something that's that easy in Active Driectory soon, but Novell's had that working with NDS for years now.
  • Spoon Installer is the best installer for free that I have found. It is VERY user friendly and very flexible. I always use it for distributing my windows programs. The author is very responsive in adding features and bug fixing if you contact him about it via email. The program automagically generates uninstallers.

    The link is http://www.dbpoweramp.com/developer-spoon-installe r.htm [dbpoweramp.com]. I hope this helps as I have not seen it mentioned. I was so happy when I ran across it while using dbPowerAmp made by the same person to convert my mp3s to wma for my portable wma player.

    Chris

  • Start>programs>administrative tools>group policies

    play around with the software group policies, you can figure out the rest.

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...