R
Roy Chastain
After reading posts in this newsgroups, I have noticed a couple of people that appear to have a good grasp of install process and
Installer classes indicate that they are not necessarily a good thing.
I would like to start a discussion on the topic of when and why using an installer class is a good or bad idea.
One of the posts I read asked the question (not of me) of 'why are you using an installer class' and continued to say that there
is almost always a better way to do the same thing.
As a starting point to the discussion, I would like to answer that question.
I started looking at installer classes because they seemed like an easy way to handle many special processes that are not easily
handled in MS Installer (either via the InstallShield or VS GUI). I was also under (the perhaps mistaken) impression that these
classes would have better integration with the complete install process than a simple command line type program that would be
executed with a 'wait for completion and check status operation' would provide. (The more I understand, the more I doubt that
belief.)
In my case I have 2 uses of Installer classes.
One of them is used to control the creation of SQL databases. Either in an existing SQL server or in a copy of MSDE that we
install. In this case, I believe that this functionality could be performed without the Installer class. Again the idea was
simply to provide what I believed (and now hope) better integration with the complete install process.
The second use is to control the installation of a Windows Service and the Performance counters that are being used by that
service. In this case, InstallShield GUI has pretty much adequate capabilities to install the service, but it has nothing for
Performance counters. I figured if I was going to put the installer class in for the Performance counters, I might as well have
the service stuff there too. That makes in one nice and complete package that could, in a pinch, be installed by InstallUtil
instead of the .msi file. Seemed like a good thing.
One might question the use of the Installer class for the Performance counters. Well, I have done Performance counter
installation via the installer class and I have done it by writing all the code to create the counters etc. While it is not
difficult to do things in the code, the installer class was even easier and I got it right first try.
I guess finally, that (as some people accuse me of) being an optimist, that I am hoping that in the future there might be even
more flexibility and integration built into the installer classes, so why not start with them now.
That is my two cents worth. I would like to hear from anyone with similar or different views and I would particularly like to
hear from anyone with actual knowledge on the subject.
Thanks
Installer classes indicate that they are not necessarily a good thing.
I would like to start a discussion on the topic of when and why using an installer class is a good or bad idea.
One of the posts I read asked the question (not of me) of 'why are you using an installer class' and continued to say that there
is almost always a better way to do the same thing.
As a starting point to the discussion, I would like to answer that question.
I started looking at installer classes because they seemed like an easy way to handle many special processes that are not easily
handled in MS Installer (either via the InstallShield or VS GUI). I was also under (the perhaps mistaken) impression that these
classes would have better integration with the complete install process than a simple command line type program that would be
executed with a 'wait for completion and check status operation' would provide. (The more I understand, the more I doubt that
belief.)
In my case I have 2 uses of Installer classes.
One of them is used to control the creation of SQL databases. Either in an existing SQL server or in a copy of MSDE that we
install. In this case, I believe that this functionality could be performed without the Installer class. Again the idea was
simply to provide what I believed (and now hope) better integration with the complete install process.
The second use is to control the installation of a Windows Service and the Performance counters that are being used by that
service. In this case, InstallShield GUI has pretty much adequate capabilities to install the service, but it has nothing for
Performance counters. I figured if I was going to put the installer class in for the Performance counters, I might as well have
the service stuff there too. That makes in one nice and complete package that could, in a pinch, be installed by InstallUtil
instead of the .msi file. Seemed like a good thing.
One might question the use of the Installer class for the Performance counters. Well, I have done Performance counter
installation via the installer class and I have done it by writing all the code to create the counters etc. While it is not
difficult to do things in the code, the installer class was even easier and I got it right first try.
I guess finally, that (as some people accuse me of) being an optimist, that I am hoping that in the future there might be even
more flexibility and integration built into the installer classes, so why not start with them now.
That is my two cents worth. I would like to hear from anyone with similar or different views and I would particularly like to
hear from anyone with actual knowledge on the subject.
Thanks