Собственно вопрос мой звучит также как и название темы  как же средствами делфи узнать дату установки виндовс или сколько дней она уже в работе?

Решение:
1)

В Реестре Windows (см. Что такое Реестр Windows?) дата установки операционной системы хранится в шестнадцатеричном виде в разделе
[HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion] в REG_DWORD-параметре InstallDate, например, 45e19ed9 (1172414169), в скобках указано десятичное число.
Параметр InstallDate показывает количество секунд, прошедших с 1 января 1970 г. до момента установки операционной системы.

cmd -> systeminfo>temp.tmp дальше парсить temp.tmp
2) из библиотеки Abbrevia, модуль AbUtils.pas

Код:
{ date and time stuff }
const
  Date1900 {: LongInt} = $0001AC05;  {Julian day count for 01/01/1900 -- TDateTime Start Date}
  Date1970 {: LongInt} = $00020FE4;  {Julian day count for 01/01/1970 -- Unix Start Date}
  Unix0Date: TDateTime = 25568;      {Date1970 - Date1900}

  SecondsInDay    = 86400;  {Number of seconds in a day}
  SecondsInHour   =  3600;  {Number of seconds in an hour}
  SecondsInMinute =    60;  {Number of seconds in a minute}
  HoursInDay      =    24;  {Number of hours in a day}
  MinutesInHour   =    60;  {Number of minutes in an hour}
  MinutesInDay    =  1440;  {Number of minutes in a day}

  function AbUnixTimeToDateTime(UnixTime : LongInt) : TDateTime;
  function AbDateTimeToUnixTime(DateTime : TDateTime) : LongInt;

function AbUnixTimeToDateTime(UnixTime : LongInt) : TDateTime;
{ convert unix date to Delphi TDateTime }
var
  Hrs, Mins, Secs : Word;
  TodaysSecs : LongInt;
begin
  TodaysSecs := UnixTime mod SecondsInDay;
  Hrs := TodaysSecs div SecondsInHour;
  TodaysSecs := TodaysSecs - (Hrs * SecondsInHour);
  Mins := TodaysSecs div SecondsInMinute;
  Secs := TodaysSecs - (Mins * SecondsInMinute);

  Result := Unix0Date + (UnixTime div SecondsInDay) +
    EncodeTime(Hrs, Mins, Secs, 0);
end;
{ -------------------------------------------------------------------------- }
function AbDateTimeToUnixTime(DateTime : TDateTime) : LongInt;
{ convert Delphi TDateTime to unix date }
var
  Hrs, Mins, Secs, MSecs : Word;
  Dt, Tm : TDateTime;
begin
  Dt := Trunc(DateTime);
  Tm := DateTime - Dt;
  if Dt < Unix0Date then
    Result := 0
  else
    Result := Trunc(Dt - Unix0Date) * SecondsInDay;

  DecodeTime(Tm, Hrs, Mins, Secs, MSecs);
  Result := Result + (Hrs * SecondsInHour) + (Mins * SecondsInMinute) + Secs;
end;