Monday, September 14, 2015

Limitations of Advanced Installer

I have been a long time user of InstallShield, so I know most of the ins and outs of InstallShield and how it works as well as numerous tips and tricks as to how to work around its various limitations.

Well, I started using Advanced Installer a few years ago and have been more recently using it very heavily so I am starting to see many of its numerous deficiencies now that I thought I would share with other Advanced Installer users (as of the most recent version which is version 12.2 as of this writing):

  1. In InstallShield, you can bounce back and forth between the "Advanced" IDE view and the "Wizard" IDE view for all Basic MSI project types.  Advanced Installer is pretty much an all or nothing situation depending on the project type you choose.  If you choose an Architect template, you do not get a Wizard UI at all.  If you choose another project type that has a Wizard, then after you initially complete the Wizard, there is no going back--you are stuck in Advanced IDE view from then on. 
  2. In InstallShield, you can set up and create your own custom components which allows you a great deal of flexibility with regards to customizing the structure of your installation package as well as managing how it is built.  Unfortunately, Advanced Installer does not provide the ability to associate an entire folder with a single component as is possible with InstallShield.  In fact, you cannot even CREATE custom components in Advanced Installer.  You are limited to just being able to create features.  
  3. Icons do not support Path Variables or Properties.  When you attempt to set the path for icons in the Product Details section or the Media section, these values are hard coded into the installation package.
  4. In Install Parameters section, when you attempt to use properties such as [APPDIR], there is no autocompletion for this property.
  5. The Install Parameters section is crammed into a very small and tight space.  It would be better if it were allocated to a larger space similar to the InstallShield Property Manager to allow easier viewing of all available Properties. 
  6. There is no easy to search, sort and filter Install Parameters.  InstallShield provides a nice Grid View for searching, sorting and filtering all of the available Install Parameters.
  7. InstallShield 2015 introduced a new "Summary View" which provides a summary of how many files/folders, registry keys, components etc. are in your installation package.  Advanced Installer has yet to release a similar feature.
  8. The "Run in VM" feature does not work if you are already running Advanced Installer within a virtual machine (as most companies are)!!
  9. No easy way to view the Property Manager directly.  Instead, you have to go to a section of the IDE that can leverage Properties and then browse the Property Dialog from there.
  10. Even when setting the option for "converting paths", Path Variables are not automatically created when adding new files/folders as is the default in InstallShield.
  11. When setting up Synchronized Folders, there is no way to specify a Path Variable or Property for the Synchronized Folder path.
  12. Working with Synchronized Folders is not as easy and intuitive as using Dynamic Folders in InstallShield.   
  13. When building an installation package using Synchronized Folders at the command line using the /ResetSync and /NewSync commands, there is no way to specify Inclusion and Exclusion Filters.  This can only be done in the IDE and is not exposed through the command-line build process.
  14. Converting Paths in Advanced Installer is an extremely long and error-prone process.  You might wait an hour or more for a project's paths to be converted (if at all).  If the Convert Paths wizard gets stuck, there is no way to cancel the conversion process other than to completely KILL the Advanced Installer process in Task Manager.
  15. Adding Files and Folders does not always correctly convert File Source Paths.  On hundreds of occasions while using the Files and Folders section in Advanced Installer, Advanced Installer has not been able to successfully convert files and folders into their appropriate Path Variables when selecting "Convert Paths", thus leaving hard coded path values in the installation package.
  16. The "Convert Paths" dialog has an option that states "Show paths that cannot be converted", but there is no way to tell from the dialog whether or not the path will be converted or not.
  17. In the Registry section, you can import Reg files but cannot export any Reg files from your existing registry settings.
  18. In the Digital Signature section, you cannot specify a Path Variable or a Property for the Code Signing Certificate nor a way to dynamically pass or store off the password for the Code Signing Certificate.
  19. In the Prerequisites section, there is no way to specify a Path Variable or a Property for custom Prerequisites (such as if you are installing Crystal Reports from an MSI)
  20. Even though Path Variable support has been improved in Advanced Installer 12.4, the Path Variable support still remains very unreliable.  
  21. There is no method to automate the inclusion and exclusion paths when using Synchronized Folders through the command line.
  22. In the Dialogs section, there is no way to "Clone" or "Duplicate" an existing Dialog.  Instead, you have to create a brand new Dialog and copy over the individual controls from an existing dialog and edit and rename them appropriately.
  23. In the Dialogs section, there is no way to right click and "Move Up" or "Move Down" dialogs in the Dialog sequence.  You can only drag and drop dialogs in the sequence (if that works correctly).
  24. In the Dialogs section, when you add a Set installer property value, there is no way to simply type in the name of an Argument using autocomplete/Intellisense.  Instead, you are forced to pick the name of the Argument from an "Edit Control Event" dialog.  This is inconsistent with the rest of the IDE which allows you to type in the names of Properties in most other sections of the IDE. 
  25. In the SQL Databases section, there is no way to specify platform conditions for each SQL Server database connection such as specifying SQL Server 2012 or SQL Server 2014 or above etc.
  26. In the Custom Actions, there are no distinguishing icons for various types of Custom Actions such as .NET custom actions vs VBScripts vs PowerShell. All of the icons are exactly the same "gear" icon.
  27. Advanced Installer has no "Automation API".  Instead, you can only perform operations on the installation package via a command-line interface.  While the command-line interface is still very useful in assisting with automation, there are numerous areas of the installation package that are not exposed through the command-line interface, thereby, leaving large pieces of functionality to be manually edited in the Advanced Installer IDE.
  28. No built-in controls for an end-user to select or browse to a Url field in the Dialogs section. 
  29. In the IIS section, you cannot capture multiple properties of an IIS website or Application/Virtual Directory.  For example, if you want the name of the website as well as any port information or binding information, you cannot capture all of these various values into separate properties. 
Of course, I am sure there are many more deficiencies that I have missed, but I will continue to add to this list as I discover them.  If you have found any additional defects or deficiencies in Advanced Installer, I would love to hear about them so  I can include them in this list as well.

That's all for now!

2 comments:

  1. Thanks to ssvaidya! I got an informative post on Limitations of Advanced Installer. The article was nice.

    ReplyDelete