<p>Is there a way to detect whether IIS is enabled or not?</p>

<p>I know how to check if it is INSTALLED, but I need to know if it's installed but not enabled.</p>

<p>Also, can this be done natively via InstallShield?  Checking this via .NET would be acceptable as we can write custom actions, but if there is an IS call then that would be ideal.</p>

<p>Any hints/tips are appreciated, thanks</p>

You can't append to an actual array - the size of an array is fixed at creation time. Instead, use a
```
List<T>
```
which can grow as it needs to.
Alternatively, keep a list of arrays, and concatenate them all only when you've grabbed everything.
See
Eric Lippert's blog post on arrays
for more detail and insight than I could realistically provide :)