From: ColbyRingeisen on
On Mar 4, 11:07 am, Stefan Kuhr <kustt...(a)gmx.li> wrote:
> Hello everyone,
>
> is there a way to detect theserver2008core versus full installation
> without using theGetProductInfoAPI and a-priori-knowledge about the
> different SKUs?
>
> I am asking because we want only to be able to distinguish between a
> full install and a core install without adding checks for possible newGetProductInforesult values with every new Server08-SKU and each new
> SDK that will be released in the next years.
>
> I know that we could test for the value of the pdwReturnedProductType
> parameter ofGetProductInfofor theServer2008SKUs that are known
> *currently*, but then today's code with the constants that are known
> today will fail if executed on newServer2008SKUs that might be
> released in two or three years.
>
> Any help appreciated,
>
> --
> Stefan

I had the same issue and resolved it by adding an AppSearch table
entry in my MSI package that looks for the Windows Explorer user
interface "shell" program explorer.exe ([WindowsFolder]\explorer.exe)
and sets a property (OS_SUPPORTS_UI in my case) when found. This
works b/c the Windows Explorer user interface isn't installed when the
Server Core installation option is used to install a variant of
WS2K8. IOW, if the OS is WS2K8 and explorer.exe is missing then I
assume the Server Core optional feature was installed on the server.

Here's the conditional statement for MSI using the property specified
above (true means don't install):
VersionNT=600 AND MsiNTProductType>1 AND NOT OS_SUPPORTS_UI