Wednesday, September 30, 2015

Much needed improvements for Advanced Installer

If you have worked with Advanced Installer for any length of time, you may have come across a number of deficiencies in the product which makes it difficult to work with leaving you to come up with a number of workarounds to solve these limitations in the product.

Here are some of the improvements that are needed for Advanced Installer:

  1. String Editor similar to InstallShield - While Advanced Installer has a Translations section, it is not meant for editing and maintaining project strings in the exact same manner as InstallShield.
  2. Unified Property Grid similar to InstallShield - Property handling in Advanced Installer can be configured in a number of different places such as Install Parameters and the Property Dialog which can be accessed in a number of different areas throughout the IDE.  To have a centralized Property Grid would significantly improve the user experience while developing in Advanced Installer.
  3. Better handling of Path Variables - There are numerous areas in the IDE which still do not support Path Variables directly such as Prerequisites and Digital Signatures when running the Convert Paths wizard.  The Convert Paths wizard itself is quite unreliable, so it would be better to simply translate everything into Path Variables by default similar to the Path Variable support in InstallShield.
  4. Better handling of Synchronized Folders - Synchronized folders have been a pain point while using Advanced Installer for a number of users and is far more difficult to use than InstallShield's comparable dynamic file linking capability.  The requirement to "re-synchronize" the folder during development (rather than at build time) makes the whole process of using Synchronized Folders very clunky and a poor overall development experience.
  5. Better command line support/better API support - InstallShield clearly excels in this area by providing COMPLETE access to the underlying InstallShield API whereas the command line support provided by Advanced Installer is missing very large chunks of functionality making it very difficult if not impossible to automate the building of reasonably complex Advanced Installer packages. 
  6. XML File Testing - While Advanced Installer's handling of XML Files is considerably better than InstallShield's, InstallShield offers a way of testing the transformation of XML Files which is still not present even in the latest version of Advanced Installer.
  7. XML File Comparison - Once an XML File is imported into Advanced Installer, it is a complete manual process of comparing changes if the XML file has changed since it was last imported.  In order to simplify this process, the ability to compare the imported XML file with the original XML file should be available. 
  8. SQL Database validation - InstallShield allows targeting a specific database platform when installing to a database, however, Advanced Installer has still not implemented this functionality even in the latest release of Advanced Installer. 
  9. Wizard support - While Advanced Installer allows you to go through a Wizard when you initially create a project, it does not provide the Full Wizard experience offered by InstallShield.  InstallShield allows you to bounce back and forth between Wizard mode and the full version of the IDE to edit basic information quickly and easily.
  10. Cloning Dialogs - It is a very common requirement to be able to Clone/Duplicate Dialogs when developing an Installation User Interface and Advanced Installer does not have this capability making it a very tedious process to duplicate dialogs within the Advanced Installer IDE.
  11. Default dialog support - InstallShield offers default dialogs for Company Name information as well as a License Agreement dialog while Advanced Installer has the License Agreement dialog, but no Company Name dialog.  In addition, InstallShield ships a default License Agreement while Advanced Installer does not provide one by default.
  12. Reusable Dialogs - Advanced Installer provides the ability to export Dialogs to a Repository, but the Dialogs in the Repository can only be used AS IS!! There is no ability to customize the Dialogs that are added from the Repository, therefore, this limits the usefulness and reusability of creating a Repository of Dialogs.
  13. Property Picker for Dialogs - When attempting to enter a Property value for a Control, there is no Property Picker or Intellisense/autocompletion when entering values for Dialog values.  Instead, these have to be manually typed in hoping that there are no typos.
  14. Multiple SQLConnection Dialogs - InstallShield added support for multiple SQLConnection Dialogs a few releases ago, but Advanced Installer has yet to add this feature.  Advanced Installer still only allows a single SQLConnetion Dialog to be added by default (not based on the number of SQL Connections in the SQL Databases view).  Since there is also no ability to create reusable dialogs nor Clone Dialogs, this makes working with SQLConnection Dialogs that much more difficult in Advanced Installer.
  15. Dialog Events - When setting Properties for Dialog events, you cannot use Intellisense/autocompletion for the name of a Property and instead you are forced to use the Property Picker to select the name of a Property.
  16. Custom Actions - When using a Set Installer Property Custom Action, just as in the case of Dialog Events, you cannot use Intellisense/autocompletion and must manually choose/pick a Property name using the Property Picker.
  17. Clear out Recently Used Projects - Advanced Installer does not provide an option to clear out the Recently Used Projects from the Open menu.  Therefore, a history/record of all the Advanced Installer projects you have ever opened will continue to clutter your screen for as long as you have Advanced Installer installed on  your machine.
  18. Published Roadmap - While InstallShield does not also do this, many other companies (such as Microsoft) have a well published roadmap outlining the new and upcoming features for new releases of the product.
  19. User Community Feedback site - While Advanced Installer has a Forums section for providing community feedback, it does not compare to more sophisticated User Community Feedback sites such as UserVoice (which Microsoft heavily uses) for capturing user feedback and more importantly allowing users to vote on suggestions.  Based on the votes for a particular feedback suggestion, Microsoft incorporates these particular features into their planning and release cycles.  It would be great if Advanced Installer followed a similar path as what Microsoft and many other software companies/vendors are following to ensure that user feedback and suggestions are incorporated into their upcoming software releases based on overall user demand.  
  20. Online support ticket management - While this is not directly related to the Advanced Installer IDE, having an online support ticketing system is extremely useful to be able to track the status of any given request as well as see the history of all your support tickets and requests.  InstallShield support offers this as part of their support package and I sorely miss that capability while using Advanced Installer support.  

So as you can see, while Advanced Installer offers a lot of functionality to get you up and running quickly with an installation package, the large number of limitations in the product reflect many of its shortcomings and immaturity in the Enterprise Marketplace for MUST-HAVE features.  Hopefully, these shortcomings will be addressed in the very near future to make Advanced Installer a much more robust and Enterprise worthy installation and packaging product!!

No comments:

Post a Comment