The problem
DXperience 12.1 ships with a radically re-designed
installer. Not only did we update the look and feel, we also aimed for better
performance and simpler UI. Performance issues are now a thing of the past and
as far as UI goes, we have addressed the most frequent issue we used to face –
make it simple to install registered products. What used to be somewhat
complicated has now become straightforward. You follow a very simple path to
have all your purchased products installed and only appropriate controls
displayed on your Visual Studio Toolbox.
We consciously sacrificed flexibility to achieve simplicity.
While we believe that most people will benefit from these changes, there are
customers who want more control over the installation process. The main
complaint, as we see it, is that there should be a way of not installing some
products, although they have been purchased within a product suite. The
simplest example is installing only WinForms Controls while having a license to
the entire DXperience Enterprise or Universal subscription. Let’s consider ways
of implementing this in the installer, as well as other ways to save some hard
drive space when installing our tools.
Installation
Anatomy
Let’s first take a look at how the installer works. Things
we need to install are:
- - assemblies for different platforms
- - source code
- - demo applications
- - Visual Studio templates and Visual Studio
Toolbox entries
The obvious thing to do, as described above, is to disable
certain products (i.e. certain platforms). This will result in fewer assemblies
copied to your computer and fewer entries in Visual Studio dialogs and Toolbox.
Another way to reduce the required disk space is not to install Source Code
and/or Demo Applications.
The following table shows the
size of each component.
|
Component
|
Size
|
|
WinForms, ASP.NET, WPF assemblies
|
215M
|
|
These platforms cannot be installed separately as they
have inter-assembly dependencies. If you want to disable one of these
platforms, we will still copy their assemblies, but will not integrate these
products into Visual Studio.
|
|
Silverlight assemblies
|
109M
|
|
XAF assemblies
|
10M
|
|
Demo Applications
|
~800M (Common 100M , ASP.Net 200M, SL 200M, WPF 120M,
WinForms 80M and Charts&Reports 100M)
|
|
Source Code
|
477M |
Solution that Makes
Sense
A solution that makes
most sense to us is to provide an additional “Advanced” customization step
within the installer that will allow you to disable Demos, Source Code or any
given platform (note that inter-dependent assemblies will still be copied, as
described above).
Here’s a draft:
Let us know what you think.