
Goods in beautiful packaging easier to sell. A program in a good installer?
It’s not a fact that the installer is an analogue of packaging. It is rather a
process of taking the product out of the box. Many times click "Next", at the very end - "Finish", and there is no neat unraveling of ribbons. Torn mica, carelessly opened the box - "What is there inside us?"
The box itself does not represent much value. For some products specifically make budget packaging. But it is important that the
process was predictable . If the installer is predictable, then its appearance and capabilities do not matter. But when something goes "wrong", or the user suddenly does not have enough standard options, all the flaws will surface - both in appearance and capabilities.
What they want from the installers
A corporate user, for example, will be interested to know how to put the program
in silent mode , and which installer has
command line keys . Support for the standard Windows msi-file installer here will be most welcome.
')
If the installer asks complex questions, it is important that they are in a language that the user understands. Guessing this language right away is another problem. The language of the operating system interface is not always the right choice. Therefore, providing the ability to select a language is an integral part of modern installers.
Previously, we already
wrote about how you can implement the choice of language and make a "real" msi. We have learned to appreciate the traditions of different linguistic cultures and respect strict corporate requirements. But is everything taken into account? After all, someone instead of the installer wants to immediately have a portable version of the program. And users working under an account with limited rights? Many programs they simply can not deliver without calling the administrator. And this is not always the administrator’s mistake, more often the developer’s.
Two-in-one installers
Immediately after running the installer, you can offer not only install the program, but also run it without installation. Such a program can store configuration files and user data in the same folder with the installer, acting simultaneously as an installer and portable-version. And for unpacking the program from msi, you can always use the
administrative installation - few people know that it was created just for this purpose. You just need to remember to delete temporary files at the end of the program.
Such an approach eliminates the need to redo the concept of a huge green “Download” button on the website, since one file will be enough for those who want to install the program - and those who want to run it only once, and even those who want to carry it with them on a flash drive. It is easy to teach the program to work with a given settings file and store user data in a given path. It is important not to touch the registry, and in the case of integration with other programs - to provide support for relative paths. And do not forget that the installer file may suddenly appear on the CD :-).
Restricted account rights
Home users, and also employees of the companies in which kind system administrators work, do not face such problem. Developers, however, too. Working on our computers with unlimited rights, we often forget about the support of users with disabilities.
The fact is that in Windows Installer there are two ways to install the program - for all users of the system (the most common), and for the current user who launched the installer. Moreover, in the corporate world it is not uncommon when the current user does not have enough privileges to install the program in the “for all users” mode.
To make an installer that supports both installation methods and works without any problems on Windows Vista (in Windows 7 they added support for the so-called
“Single Package Authoring” ), the developer needs to take special actions.
Namely, each time before starting the installation “for the current user” patch the installer msi-file, setting in “1” the third bit of the
special property “Word Count” in the so-called “Summary Information Stream” (which is an integral part of the msi-file) . You can use the
MsiSummaryInfoSetProperty () function to do this. If the msi-file is digitally signed, then when installed in the “for all users” mode, the “blue” UAC window will be displayed. When installed in the “for the current user” mode, the fact of a corrupted digital signature does not affect UAC, so this approach works great.
If you do not use the shaman dances described above with a tambourine for Windows Vista, but simply set the third bit to “1” during the msi build, then even the system administrator
will not be able to install such msi in the “for all users” mode :-). And vice versa, if the third bit is not set, then the UAC window will be displayed, and in the worst case, an administrator password will be required.
How to pack?
To implement these features need an exe-file installer. The msi-file is already packed into it. The user interface engine is also desirable to make in exe, to ensure not only switching the installation language "on the fly", but also the choice of options before the msi-installation. It is important not to forget about interaction with the Windows Installer system, to ensure correct detection of an already installed version and support for uninstallation. A corporate customer receives the same msi file as packed in exe - he does not need support for either the portable mode or the installation for the current user, and the language is
specified on the command line.
To develop such an exe-installer, you need experience in the development of user interfaces, or the ability to use a suitable framework. But regardless of the selected tools, you need a deep knowledge of WinAPI and the Windows Installer API.
And try
The beta version of the free
Advanced IP Scanner , our small testing ground for testing new technologies
in humans , has acquired a new installer that actually implements most of the features described. And start without installation, and change of language, and the msi-file inside - everything in it is. It is recommended to download, watch and learn. :-)
We used
Inno Setup to select the language, display the dialogs, and launch the portable version. Filling (msi) remained the same, on
WiX , only now without dialogs.
Everyone who dared to see the live all-in-one installer and take part in the beta testing should:
- Download Advanced IP Scanner 2.3.226 beta.
- Get acquainted with the product.
- Check its compatibility with your OS.
- Send us a bug report and / or suggestions for improvement through a special form on the beta testing page .
Each beta tester will receive a
perpetual license for
Radmin 3 .
Thanks in advance for your participation. Questions to developers and comments are welcome!